View Full Version : سوال: نوشتن برنامه ای با مشخصات زیر در VB6
programm1
یک شنبه 11 آبان 1393, 16:33 عصر
با عرض سلام
میخواست بدون چطور باید برنامه به شکل زیر رو در VB6 بنویسم
بعد از اولین : (دونقطه) هر چیزی که بعدش باشه رو پاک کنه و بره خط بعدی همین کار رو انجام بده و به همین صورت تا آخرین خط پیش بره
ممنون میشم راهنمایی کنید
meys34
یک شنبه 11 آبان 1393, 16:52 عصر
Dim a() As String
a = Split(Text1.Text, ":")
Print Join(a, ":" & vbCrLf)
programm1
یک شنبه 11 آبان 1393, 23:19 عصر
نه چنین برنامه ای عملی نیست
ببینید 2 تا text box داریم و 1 کامنت
در text box 1 هر چیزی که وارد میکنم مثلا مورد زیر
cerrosx:x:604:601::/home4/cerrosx:/usr/local/cpanel/bin/noshell
troncos:x:605:602::/home4/troncos:/usr/local/cpanel/bin/noshell
berghutt:x:608:605::/home4/berghutt:/usr/local/cpanel/bin/noshell
mgattone:x:620:617::/home/mgattone:/usr/local/cpanel/bin/noshell
و خروجی text box 2 به صورت زیر باشد
cerrosx
troncos
berghutt
mgattone
samiasoft
دوشنبه 12 آبان 1393, 16:55 عصر
خب اینطور بنویسید :
Text2.Text = Split(Text1.Text, ":")(0)
ahmad abdoli
دوشنبه 12 آبان 1393, 22:48 عصر
دوست عزیز اون جواب نمی ده.
از این استفاده کن:
Dim b As String
b = Text1.Text
While Len(b) > 0
Text2 = Text2 & Left(b, InStr(1, b, ":") - 1)
b = Replace(b, Mid(b, 1, InStr(1, b, "noshell") + 6), "")
Wend
meys34
چهارشنبه 14 آبان 1393, 10:53 صبح
البته این هم درسته ولی این یکی دقیقا همونیه که ایشون خواستند یعنی پیدا کردن کاراکتر : در هر خط و ...
Dim a() As String, b As String
a = Split(Text1.Text, vbCrLf)
Dim i As Integer
For i = 0 To UBound(a)
If InStr(1, a(i), ":") = 0 Then MsgBox "Cannot Find :": Exit Sub
b = b & IIf(i = 0, "", vbCrLf) & Mid$(a(i), 1, InStr(1, a(i), ":") - 1)
Next
Print b
programm1
چهارشنبه 14 آبان 1393, 16:13 عصر
من همه رو تست کردم نمیدونم چرا کار نمیکنه :|
لطف میکنید .exe کنید +سورس قرار بدید که بفهمم چیه و چطور عمل میکنه
مشخصات (دقت کنید این برنامه ها که دادید هیچ کدوم درست نیست با مشخصات زیر):
2 عدد text box
1 command
در text box 1 کد مثل کد زیر قرار میدیم
cerrosx:x:604:601::/home4/cerrosx:/usr/local/cpanel/bin/noshell
troncos:x:605:602::/home4/troncos:/usr/local/cpanel/bin/noshell
berghutt:x:608:605::/home4/berghutt:/usr/local/cpanel/bin/noshell
mgattone:x:620:617::/home/mgattone:/usr/local/cpanel/bin/noshell
بعدش رو cammand کلیک میکنیم
خروجی زیر رو دریافت میکنیم
cerrosx
troncos
berghutt
mgattone
تعداد خط های text box 1 زیاد هست آخرین سورسی که قرار دادید فقط یکی از خط هارو میتونست درست کنه میخوام مثلاً 500 خط بدم بهش بعد 500 تا کلمه قبل : رو بده
meys34
چهارشنبه 14 آبان 1393, 19:49 عصر
اگر این هم نشد، اگر ممکنه اون 500 خط رو ضمیمه کنید تا امتحان کنیم...
کدش اینه، پروژه اش رو هم ضمیمه کردم...
Dim a() As String, b As String
a = Split(Text1.Text, vbCrLf)
Dim i As Integer
For i = 0 To UBound(a)
If InStr(1, a(i), ":") = 0 Then
b = b & vbCrLf
Else
b = b & IIf(i = 0, "", vbCrLf) & Mid$(a(i), 1, InStr(1, a(i), ":") - 1)
End If
Next
Text2.Text = b
vbhamed
پنج شنبه 15 آبان 1393, 11:11 صبح
سلام
اينم يك راه كمي ساده تر فقط دقيقا به همين شكل بايد نوشته بشه
On Error Resume Next
Dim x$(), t$(), y$, i%
x = Split(Text1, vbCrLf)
For i = 0 To UBound(x)
y = y & Split(x(i), ":")(0)
y = y & vbCrLf
Next
Text2 = y
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.