View Full Version : نوشتن function
niksalehi
چهارشنبه 05 تیر 1392, 14:29 عصر
سلام دوستان
کد زیر لاین های text1 رو به ایتم های list1 اضافه میکنه.
میخواستم بدونم چطوری این کد رو به فانکشن تبدیل کنیم؟
طوری که دیگه نیاز نباشه هر دفه کل کد رو بنویسم تو جاهای مختلف برنامه
Dim II As Long
Dim arrString() As String
arrString = Split(Text1, vbcrlf)
For II = 0 To UBound(arrString)
list1.AddItem arrString(II)
Next
SlowCode
چهارشنبه 05 تیر 1392, 14:53 عصر
سلام
میتونی اینطوری بنویسی:
Private Sub AddItems(Src As TextBox, Dest As ListBox)
Dim II As Long
Dim arrString() As String
arrString = Split(Src, vbCrLf)
For II = 0 To UBound(arrString)
Dest.AddItem arrString(II)
Next
End Sub
واسه صدا کردنش هم:
AddItems Text1,List1
niksalehi
چهارشنبه 05 تیر 1392, 15:15 عصر
خیلی ممنونم.
مثلا این کد :
Dim strCompare As String
Dim intCompare As Integer
For i = list1.ListCount - 1 To 0 Step -1
strCompare = list1.List(i)
intCompare = Len(Trim(strCompare))
If intCompare = 0 Then 'if zero, it will remove it
list1.RemoveItem (i)
End If
Next i
ایتم خالی رو از ایستباکس پاک میکنه
من اومدم اینطوری نوشتم.
Private Sub LstRemove(Lst As ListBox)
Dim i
Dim strCompare As String
Dim intCompare As Integer
For i = Lst.ListCount - 1 To 0 Step -1
strCompare = Lst.List(i)
intCompare = Len(Trim(strCompare))
If intCompare = 0 Then 'if zero, it will remove it
Lst.RemoveItem (i)
End If
Next i
End Sub
صدا زدنش رو به چه صورت باید بنویسم؟
اشتباه نوشتم کدش رو؟
--------
کد درست بود :لبخند:
اینطوری باید صدا زد:
LstRemove list1
ممنون از محسن15
SlowCode
چهارشنبه 05 تیر 1392, 16:57 عصر
آره درسته فقط کدهای داخل حلقه رو پاک کن و به جاش اینو بنویس:
If Len(Trim$(Lst.List(i))) = 0 Then
Lst.RemoveItem (i)
End If
اینطوری هم سرعت برنامه تو یه حلقه صد هزارتایی حدودا 30 میلی ثانیه بیشتر میشه و هم حافظه کمتری استفاده میشه:لبخند:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.