ايران ويج

نسخه‌ی کامل: تبدیل 10 عبارت به 1 عبارت توسط vb6
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3
سلام دوستان من می خوام 10عبارت مثلا بصورت 4-4 123450 الی 4-4 123459 را به یک عبارت بصورت 5-5 12345 تبدیل کنم دو تا سورس در اختیار دارم ولی هیچکدوم درست عمل نمیکنه من سورسها رو قرار می دم دوستان اگه می تونند مشکل هر کدوم رو تونستند حل کنند توی هر کدوم از سورسها دو تا فایل تکست هست که می خوام فایل تکست 1 به 2 تبدیل بشه ممنون
سلام
به فروم خوش اومدی

من فایل‌ها رو دیدم ولی بازم متوجه نشدم منظورتون چیه!
(۲۸-مرداد-۱۳۹۲, ۱۹:۱۸:۳۰)babyy نوشته است: [ -> ]سلام
به فروم خوش اومدی

من فایل‌ها رو دیدم ولی بازم متوجه نشدم منظورتون چیه!

ممنون دوست عزیز ببینید من یه برنامه می خوام که 10 عبارت بصورت زیر را گرفته:
4-4 123450
4-4 123451
4-4 123452
4-4 123453
4-4 123454
4-4 123455
4-4 123456
4-4 123457
4-4 123458
4-4 123459
رو به یک عبارت بصورت 5-5 12345 تبدیل کنه ممنون
خب وجه مشترک بین اون ۱۰ تا عبارت و 5-5 12345 در چیه؟
یعنی الگوریتمش چطوری باید باشه؟
(۲۸-مرداد-۱۳۹۲, ۲۰:۳۰:۲۰)babyy نوشته است: [ -> ]خب وجه مشترک بین اون ۱۰ تا عبارت و 5-5 12345 در چیه؟
یعنی الگوریتمش چطوری باید باشه؟
رابطه عبارات به این صورت که توی 10 عبارت ،رقم آخر حذف میشه و 1 عدد به ستون دوم اضافه میشه یعنی 4-4 میشه 5-5
ببینید درست متوجه شدم:

۱۰ تا عدد رو بگیره؛ این اعدا از دو بخش درست شدن؛ مثلا:
4-4 123450

باید از عدد سمت راستی؛ عدد آخریش رو حذف کنه؛ و به عدد سمت چپی هرچی که بود یکی اضافه کنه

درست است؟
(۲۸-مرداد-۱۳۹۲, ۲۳:۲۷:۱۱)babyy نوشته است: [ -> ]ببینید درست متوجه شدم:

۱۰ تا عدد رو بگیره؛ این اعدا از دو بخش درست شدن؛ مثلا:
4-4 123450

باید از عدد سمت راستی؛ عدد آخریش رو حذف کنه؛ و به عدد سمت چپی هرچی که بود یکی اضافه کنه

درست است؟
سلام ممنون تا حدی درسته ، عدد آخر سمت چپی رو حذف کنه و یکی به سمت راستی اضافه کنه بعد از اینکه اینکار رو کرد 10 عدد شبیه هم میشند خب، برای مثال بالا میشه 10 تا 5-5 12345 درسته حالا از این اعداد می خوام 9 تاش پاک بشه و فقط یکیش بمونه و یه نکته دیگه هم که باید رعایت بشه اینه که این موضوع به عنوان شرط باید مطرح بشه یعنی توی این شرط بگه که مثلا اگه 10 تا عدد ببصورت که گفته شد وجود داشت اونا رو تبدیل به یک عبارت کنه چون داخل فایل عباراتی بغیر از این عبارات هم وجود داره مثلا ممکنه 1دونه عبارت 4-4 548796 و یا 1 دونه عبارت 6-6 1254 وجود داشته باشه این عبارات شامل شرایط تبدیل نمی شن چون تعداد اونها 10 تا نیست ممنون
کد php:
Private Sub Command1_Click()
 
Dim repeat As Boolean
 On Error Resume Next
 Dim tmp 
As String
 Dim filepath 
As String
 cmdg
.ShowOpen
 filepath 
cmdg.FileName
 Open filepath 
For Input As #1
 
tmp Input(LOF(1), #1)
 
Close #1
 
Text1.Text tmp
 Dim x
() As String
 x 
Split(Text1.TextvbCrLf)
 
Dim y(100) As String
 
For 0 To UBound(x)
 
x(i) = Mid(x(i), 16)
 
Next
 
For 0 To UBound(x)
 
Counter 0
 
For 1 To UBound(x)
 If 
x(i) <> x(j) And Mid(x(i), 15) = Mid(x(j), 15Then
 Counter 
Counter 1
 
If Counter 9 Then

 Text2
.Text Text2.Text vbCrLf Mid(x(i), 15) & " 5-5"
 
1
 y
(k) = Mid(x(i), 15)
 
Counter 0
 i 
1
 
Exit For
 
End If
 
End If
 
Next
 repeat 
False
 
For 1 To UBound(x)
 If 
y(p) = Mid(x(i), 15Then
 p 
1
 repeat 
True
 
Exit For
 
End If
 
Next
 
If Not repeat Then Text2.Text Text2.Text vbCrLf x(i) & " 5-5"

 
Next

 End Sub 
ببخشید تایپک طولانی میشه ولی چاره ای ندارم ببینید این کد چند تا عبارت بصورت زیر میگیره :
4-4 123450
4-4 123451
4-4 123452
4-4 123453
4-4 123454
4-4 123455
4-4 123456
4-4 123457
4-4 123458
4-4
123459
3-3 758461
2-2 35784
8-7 122
و بصورت زیر نمایش میده :
5-5 12345
5-5 758461
5-5 35784
5-5 122
من می خواستم اون 10 عبارتی که آبی کردم به اون عبارت قرمز تبدیل بشه تا اینجا کد درست عمل میکنه فقط یه مشکل داره اونم اینه که چند عبارت آخر که شامل شرایط تبدیل نیستند ،ستون دوم اونها رو عوض میکنه و به 5-5 تبدیل میکنه در صورتیکه من می خوام این عبارات هانطوری که هستند نمایش داده بشند از دوستان خواهش می کنم این کد رو تصحیح کنید ممنون
اگه درست متوجه شده باشم اینطوری میشه!
کد:
Private Sub Command1_Click()
Dim n As Integer
n = Mid(Text1.Text, 1, 5)

k = Mid(Text1.Text, 9, 9)

For i = 0 To 100
n = n + 1
List1.AddItem n & " " & k & "-" & k
    m = Mid(n, 5, 5)
    If m Mod 10 Then
        k = k + 1
    End If
Next
End Sub
(۲۹-مرداد-۱۳۹۲, ۱۳:۴۶:۵۹)Ghoghnus نوشته است: [ -> ]اگه درست متوجه شده باشم اینطوری میشه!
کد:
Private Sub Command1_Click()
Dim n As Integer
n = Mid(Text1.Text, 1, 5)

k = Mid(Text1.Text, 9, 9)

For i = 0 To 100
n = n + 1
List1.AddItem n & " " & k & "-" & k
    m = Mid(n, 5, 5)
    If m Mod 10 Then
        k = k + 1
    End If
Next
End Sub
ممنون دوست عزیز من متوجه نشدم این کل کد هست یا کدی رو که نوشتین باید در قسممتی از برنامه قرار دادبهرحال موقع کامپایل از خط سوم ایراد میگره ،از on error هم استفاده کردم ولی خروجی نداره
کل برنامه هستش
واستون اتچش کردم هیچ خطایی هم نمیده!
صفحه‌ها: 1 2 3