1 :تعداد فایل پیوست
پاسخ: کمک در مورد جابجایی قسمتی از متن
سلام دوستان من نمی دونم مشکل این برنامه کجاست این برنامه برای مقایسه دو فایل بکار میره خوب کار میکنه اما اگه تعداد خطوط زیاد باشه مثلا 5000 یا 10000 به بالا باشه برنامه درست عمل نمیکنه مشکل چیه ؟ به طور مثال من دو فولدر درون برنامه قرار دادم با فولدر 2 مشکل نداره برنامه درست کارمیکنه اما با فولدر 1 درست کار نمیکنه بعد از چک کردن کامل برنامه متوجه شدم که هنگام ورود فایل 1 تمامی خطوط وارد تکست باکس 1 نمیشه چون خطوط زیاده علت این امر چیه ؟جالب اینجاست فایلی رو که در هنگام ورود 1 به نام new1 به صورت تکست می سازه کامله یعنی تمامی خطوط هستند ولی توی تکست باکس اینطور نیست ؟ من برنامه رو می ذارم دوستان لطف کنید کمک کنید ممنون
1 :تعداد فایل پیوست
پاسخ: کمک در مورد جابجایی قسمتی از متن
ممنون دوست عزیز از rich text box استفاده کردم ولی سرعتش کمتره ظاهرا چاره دیگه ای ندارم خب میشه یه لطفی بکنید یه نگاهی به کد مقایسه برنامه بندازید این کد رو شما لطف کردین و در یکی از پستها نوشتین ،درست عمل میکنه یعنی مقایسه ها رو انجام میده ولی من یه مقایسه دیگه هم می خوام انجام بده که قبلا پرسیده بودم فرض کنید در تکست باکس 2 یک عدد داریم 12345 و ستون بعدی آن 5-5 و در تکست باکس 1 ، 10 عدد داریم به صورت 123450،123451،123452،123453،123454،123455،12 3456،123457،123458،123459 و ستون دوم 4-4 من می خوام داخل مقایسه این دو تکس باکس اون یک عدد رو مشابه این 10 عدد بگیره و بالعکس کدی که در برنامه وجود داره درست عمل میکنه ولی بصورت کلی نیست و فقط برای اعداد با ستون 5-5 نوشته شده مثلا ممکنه عددی به صورت 1234داشته باشیم و ستون بعدی آن 6-6 و 10 عدد بصورت 12340 الی 12349 باشه با ستون 5-5 برای اینکه بهتر متوجه منظور من بشین من یه فایل حاوی دو فایل تکست زمینه کردم که با توجه به توضیحات من باید مشابه گرفته شوند ممنون
پاسخ: کمک در مورد جابجایی قسمتی از متن
قانونش اینه فرض کنید ده عبارت وجود داره بصورت 911110 الی 911119 با ستون دوم 4-4 یعنی بصورت 4-4 911110 و الی 4-4 911110 و یک عدد بصورت 91111 با ستون دوم 5-5 یعنی بصورت 5-5 91111 ، همانطور که مشاهده می کنین اون ده عبارت آخر اونها اعداد 0 تا 9 قرار داره که در اون یک عبارت حذف شده و در عوض به ستون دوم اون یک عدد اضافه شده یعنی 4-4 شده 5-5 ، یا یک مثال دیگه ده عدد 123450 الی 123459 با ستون 4-1 میشه یک عدد بصورت 12345 با ستون 5-2 و در واقع اون یک عدد معادل اون 10 عدد میشه یعنی با هم مشایه اند نمی دونم منظورمو درست بیان کردم یا نه
پاسخ: کمک در مورد جابجایی قسمتی از متن
سلام!
تا اونجا که بنده اطلاع دارم حجم متن داخل یک جعبه ی متنی نمی تونه از 32 کیلوبایت بیش تر بشه. درنتیجه اگر بخواهید یه فایل با سایز بزرگ تر از 32 KB رو وارد جعبه ی متنی کنید، فایل به طور کامل وارد جعبه ی متنی نمیشه. اگر مستقیما" از یه متغیر String استفاده کنید فکر کنم بتونید تا 2 میلیارد کارکتر رو واردش کنید. برای اطلاعات بیش تر:
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
در مورد سوال بعدی تون هم پیشنهاد می کنم سورس های قبلی رو دقیق تحلیل کنید. این طوری جواب سوال تون رو پیدا می کنید.
پاسخ: کمک در مورد جابجایی قسمتی از متن
ممنون من از rich text box استفاده کردم مشکل حل شد هر چند که باعث کندی برنامه شد در مورد سوال دوم اینکار رو کردم ولی هر چقدر کدها رو تحلیل کردم نتونستم راهی پیدا کنم ممنون میشم اگه میتونید کمک کنید ببینید این کد شماست
If Text2.Text = "" Then
MsgBox "ÎØÇ:áØÝÇ ˜ÏåÇ ÑÇ æÇÑÏ äãÇííÏ"
End If
Text4.Text = ""
Dim lines() As String, i As Integer, j As Integer, tstr() As String, adder As Boolean
lines() = Split(Text2.Text, vbCrLf)
For i = 0 To UBound(lines)
If InStr(Text1.Text, Trim(lines(i))) = 0 Then
adder = False
tstr() = Split(Trim(lines(i)), Chr(9))
If tstr(1) = "5-5" Then
For j = 0 To 9
If InStr(Text1.Text, tstr(0) + CStr(j) + Chr(9) + "4-4") = 0 Then
adder = True
Exit For
End If
Next
If adder = True Then Text4.Text = Text4.Text + Trim(lines(i)) + vbCrLf
adder = True
End If
If adder = False Then Text4.Text = Text4.Text + Trim(lines(i)) + vbCrLf
End If
Next
lines() = Split(Text1.Text, vbCrLf)
For i = 0 To UBound(lines)
If Trim(lines(i)) <> "" Then
adder = False
tstr() = Split(Trim(lines(i)), Chr(9))
If tstr(1) = "5-5" Then
For j = 0 To 9
If InStr(Text4.Text, tstr(0) + CStr(j) + Chr(9) + "4-4") = 0 Then
adder = True
Exit For
End If
Next
If adder = False Then
For j = 0 To 9
Text4.Text = Replace(Text4.Text, tstr(0) + CStr(j) + Chr(9) + "4-4" + vbCrLf, "")
Next
End If
End If
End If
Next
من اصلا سر در نمیارم اون ch(9) رو برا چی گذاشتین تا اونجاییکه یادمه این رو قرار داده بودین که فاصله بین دو ستون رو تو مقایسه لحاظ نکنه که من عرض کردم خدمتتون اون مشکل رو با شبیه کردن دو فایلی که می خواستم مقایسه کنم حل کردم یعنی دیگه مشکل فاصله بین دو ستون رو ندارم
پاسخ: کمک در مورد جابجایی قسمتی از متن
سلام اگه من بخوام یه عدد مثلا 9111 با ستون دوم 6-6 مشابه 100 عدد بصورت 911100 الی 911199 با ستون دوم 4-4 بگیره چه تغییری باید در کد بالا بدم هر کاری کردم نتونستم ممنون
پاسخ: کمک در مورد جابجایی قسمتی از متن
بله دوست عزیز! Chr(9) کد معادل همون فاصله ی ایجاد شده توسط دکمه ی Tab هستش. بنده زمانی که این کد رو قرار دادم شما هنوز مشکل فاصله ی بین ستون ها رو حل نکرده بودید.
اگر سورس پست #17 رو مطالعه بفرمایید متوجه خواهید شد که یک حلقه وجود داره که از 0 تا 9 شمرده میشه و رکورد های مقایسه رو ایجاد می کنه. حالا شما کافیه شمارنده رو بین 0 تا 99 تغییر بدید. در جایی دیگه مشاهده خواهید کرد که به ازای مقدار 4-4 ، مقدار 5-5 در انتهای رکورد های ستون دیگه جهت مقایسه در نظر گرفته میشه که شما خیلی ساده می تونید این مقادیر رو به 4-4 و 6-6 تغییر بدید.
موفق باشید
آرمین:give_rose:
2 :تعداد فایل پیوست
پاسخ: کمک در مورد جابجایی قسمتی از متن
ممنون دوست عزیز قبلا اینکار رو انجام دادم چون جواب نگرفتم اینجا مطرح کردم من دو فایل تکست رو به عنوان نمونه قرار می دم برنامه هم که توی پست 17 هست اگه میشه لطف کنید کد اون برنامه رو سازگار با این دو فایل درست کنید چون من هر کاری کردم درست نشد ممنون
1 :تعداد فایل پیوست
پاسخ: کمک در مورد جابجایی قسمتی از متن
سلام نمیدونم شاید من بد توضیح داده باشم خب من یه الگوریتم دیگه برا قسمت دوم سوالم یعنی اون قسمت 100 عدد تو ذهنم هست شاید از اون طریق راحت تر بشه برنامه نوشت ولی به خاطر اینکه تایپک طولانی نشه اگه میشه فعلا در مورد قسمت اول سوال یعنی تایپک 23 کمک کنید من دو فایل تکست با برنامه رو قرار می دم این دو فایل طبق توضیحاتی که دادم مشابه هستند ممنون
پاسخ: کمک در مورد جابجایی قسمتی از متن
نقل قول:
ممنون دوست عزیز قبلا اینکار رو انجام دادم چون جواب نگرفتم اینجا مطرح کردم من دو فایل تکست رو به عنوان نمونه قرار می دم برنامه هم که توی پست 17 هست اگه میشه لطف کنید کد اون برنامه رو سازگار با این دو فایل درست کنید چون من هر کاری کردم درست نشد ممنون
اگر این کار رو انجام دادید سورسش رو اینجا بذارید تا با هم بررسی کنیم اشکال کجا بوده.
در مورد سوال پست #23 هم شما هر خط رو با توجه به کارکتر فاصله Split کنید و بخش دوم رشته ی حاصل رو مجددا" براساس کارکتر خط فاصله Split کنید. در این صورت فرضا" 4-4 به شکل دو مقدار 4 و 4 در میاد. حالا کافیه مقدار عددی این دو رو با دستور Val استخراج کنید و با عدد یک جمع کنید. حاصل کار مقادیر 5 و 5 به دست میاد. در نهایت از این دو تا رشته ی مقایسه ی 5-5 رو ایجاد کنید.