PDA

View Full Version : حرفه ای: جمع دو فيلد در يك فيلد memo



ATA_TABRIZ
دوشنبه 08 تیر 1394, 12:11 عصر
با سلام خدمت دوستان
جهت كپي دو فيلد تكست در يك فيلد memo (با فرمت ريچ تكست )با فونت هاي مختلف و در خطوط مختلف چيكار بايد كرد كسي اگه اطلاعتي داره ممنون ميشم راهنمايي فرمايند.

ATA_TABRIZ
سه شنبه 09 تیر 1394, 11:02 صبح
با سلام خدمت دوستان
جهت كپي دو فيلد تكست در يك فيلد memo (با فرمت ريچ تكست )با فونت هاي مختلف و در خطوط مختلف چيكار بايد كرد كسي اگه اطلاعتي داره ممنون ميشم راهنمايي فرمايند.

از استادان محترم كسي نيست ما را راهنمايي فرمايند

Abbas Amiri
سه شنبه 09 تیر 1394, 16:21 عصر
با سلام خدمت دوستان
جهت كپي دو فيلد تكست در يك فيلد memo (با فرمت ريچ تكست )با فونت هاي مختلف و در خطوط مختلف چيكار بايد كرد كسي اگه اطلاعتي داره ممنون ميشم راهنمايي فرمايند.

سلام
اگر Text1 و Text2 با فرمت Rich باشند و یا نباشند میتوانید برای نشان دادن حاصل جمع آنها در Text3 از الگوی زیر استفاده کنید:
Private Sub cmdAddRichTexts_Click()
Dim s As String, i As Integer, n1 As String, n2 As String

If Text1.TextFormat = acTextFormatHTMLRichText Then
s = Text1
i = 1
Do While i < Len(s)
i = InStr(i, s, ">") + 1
While Mid(s, i, 1) <> "<"
n1 = n1 & Mid(s, i, 1)
i = i + 1
Wend
If Len(n1) Then
Exit Do
End If
Loop
Else
n1 = Text1
End If

If Text1.TextFormat = acTextFormatHTMLRichText Then
s = Text2
i = 1
Do While i < Len(s)
i = InStr(i, s, ">") + 1
While Mid(s, i, 1) <> "<"
n2 = n2 & Mid(s, i, 1)
i = i + 1
Wend
If Len(n2) Then
Exit Do
End If
Loop
Else
n2 = Text2
End If
Text3 = Val(n1) + Val(n2)

End Sub

ATA_TABRIZ
چهارشنبه 10 تیر 1394, 12:42 عصر
سلام
اگر Text1 و Text2 با فرمت Rich باشند و یا نباشند میتوانید برای نشان دادن حاصل جمع آنها در Text3 از الگوی زیر استفاده کنید:
Private Sub cmdAddRichTexts_Click()
Dim s As String, i As Integer, n1 As String, n2 As String

If Text1.TextFormat = acTextFormatHTMLRichText Then
s = Text1
i = 1
Do While i < Len(s)
i = InStr(i, s, ">") + 1
While Mid(s, i, 1) <> "<"
n1 = n1 & Mid(s, i, 1)
i = i + 1
Wend
If Len(n1) Then
Exit Do
End If
Loop
Else
n1 = Text1
End If

If Text1.TextFormat = acTextFormatHTMLRichText Then
s = Text2
i = 1
Do While i < Len(s)
i = InStr(i, s, ">") + 1
While Mid(s, i, 1) <> "<"
n2 = n2 & Mid(s, i, 1)
i = i + 1
Wend
If Len(n2) Then
Exit Do
End If
Loop
Else
n2 = Text2
End If
Text3 = Val(n1) + Val(n2)

End Sub


جناب آقاي اميري با سلام
ضمن تشكر از حسن توجه شما به سوال بنده
ميخواستم بعرض برسانم كه منظور بنده جمع عددي دو فيلد نيست منظور بنده دوفيلد تكست كه جمله هاي مختلف توش نوشته شده باهم در يك فيلد با فرمت Rich با فونت متفاوت نشان داده شود و ذخيره گردد

بازهم از لطف شما ممنون هستم

شاگرد آرام
چهارشنبه 10 تیر 1394, 15:29 عصر
سلام
دوست عزیز اگر منظورتون رو متوجه شده باشم شما دو تکست فیلد دارید که باید در یک فیلد ممو ولی با دو فونت متفاوت ذخیره بشه . معمولا ریچ تکست از تگ های اچ تی ام ال استفاده میکنه
کد زیر دو متن دو تکست باکس رو تبدیل به ریچ تکست میکنه دو فونت متفاوت

Dim st As String
st = "<div align=right><font face=Tahoma>" & Text1 & "</font></div>"
st = st & "<div align=right><font face=Arial>" & Text2 & "</font></div>"

sd.Value = st