PDA

View Full Version : جلوگیری از کلمه تکراری در لیست



tehran2009
شنبه 25 مهر 1388, 08:44 صبح
سلام دوستان
ممنون میشم این سوالمو با پروژه های وی بی برام توضیح بدین.

ببینید می خوام 2تا لیست داشته باشم و 1 تکست و 1 کامند.

در لیست 1 ، یک سری اسم لیست می کنم و وقتی روی کامند کلیک کنم می خوام اسم ها دونه دونه به تکست منتقل بشن و در لیست دوم قرار بگیرند و اگر این اسم قبلاً در لیست 2 وجود داشته باشن منتقل نشن و از تکرار در لیست 2 جلوگیری بشه.

امیدوارم منظورمو رسونده باشم.

ASedJavad
شنبه 25 مهر 1388, 10:48 صبح
Private Sub Command1_Click()
For i = 0 To List2.ListCount - 1
If List2.List(i) = text1 Then Exit Sub
Next i
List2.AddItem text1
End Sub


البته اگه خصوصيت sorted ليست دوت ترو باشه، راه ديگه اي هم هست

tehran2009
شنبه 25 مهر 1388, 15:26 عصر
اگه راههای دیگه هم هست ممنون میشم اینجا سورس را در اختیار ما بزارین.
مرسی

tehran2009
شنبه 25 مهر 1388, 15:32 عصر
Private Sub Command1_Click()
For i = 0 To List2.ListCount - 1
If List2.List(i) = text1 Then Exit Sub
Next i
List2.AddItem text1
End Sub
البته اگه خصوصيت sorted ليست دوت ترو باشه، راه ديگه اي هم هست

اینم چک کردم کار نداد.
میشه چک کنید.

صالحي پناه
شنبه 25 مهر 1388, 15:43 عصر
با كمي تغيير ميتوانيد آنرا اصلاح كنيد . بعد از For با هر كدام از سطرهاي ليست 1 را با كل ليست 2 چك كردن و در صورت نبودن در آن اضافه كنيد . با كمي سعي موفق ميشويد.:تشویق:

tehran2009
شنبه 25 مهر 1388, 16:19 عصر
ممنون میشم اصلاحش کنید واسم .
چون کارم اینجا گیره.
اگه ممکنه ایدیت کنین
مرسی

صالحي پناه
شنبه 25 مهر 1388, 16:55 عصر
اگه تونستي به سوال من جواب بدي حتما برات ميفرستم . در ضمن ايديت نه اديت.

tehran2009
شنبه 25 مهر 1388, 17:36 عصر
چه سوالی ؟؟؟؟

ASedJavad
شنبه 25 مهر 1388, 23:09 عصر
Private Sub Command1_Click()
For j = 0 To List1.ListCount - 1
Text1 = List1.List(j)
DoEvents
For i = 0 To List2.ListCount - 1
If List2.List(i) = Text1 Then GoTo 10
Next i
List2.AddItem Text1
10
Next j
End Sub

site-111
یک شنبه 26 مهر 1388, 02:11 صبح
منم سوالی مشابه به همین که دوستمون تاپیک زده دارم ... سوال من این هست که من یک لیست دارم که میخوام تو همون لیست کلمات تکراری حذف بشه. با تشکر راهنمایی کنید . ممنون....

صالحي پناه
یک شنبه 26 مهر 1388, 08:43 صبح
با سلام
دوست عزيز اولا اگر در حال انجام تست هستي آبجكت درستي رو براي اينكار انتخاب نكردي يعني شما از تكست باكس استفاده كرديد كه بهتر بود از يك ديتا گريد و يا ليست باكس استفاده ميكرديد ولي اگر باز هم اصرار داريد كه از تكست استفاده كني بايد بداني كه بعد از هر سطر(ركورد) از Chr(10)þ استفاده شده است و اين تنها را ه جدا سازي شما است . و در مورد سوال من هم اگر به تاپيك ها دقت ميكرديد حتما روئيت ميكرديد !. كار با آبجكت Printer آيا شما تجربه اي داريد ؟

tehran2009
یک شنبه 26 مهر 1388, 13:46 عصر
دوستان حالا یه مشکل دیگه ای برام پیش اومده و اونم اینه
می خوام وقتی روی یک کامند کلیک کنم برنامه یکی یکی کلمه هارو از لیست 1 به تکست1 ببره و در لیست 2 اون کلمه را بگرده اگه کلمه بودش بره سراغ کلمه بعدی در لیست1 و اگر نبود روی یک کامند کلیک کنه و همینجوری ادامه بده.
امیدوارم سوالم واضح پرسیده باشم.
دوستان ممنون میشم با سورس توضیح بدین :قلب:

r0ot$harp
دوشنبه 27 مهر 1388, 23:20 عصر
دوستان آیا منظورتون این هست ؟

حذف آیتم های تکراری : http://barnamenevis.org/forum/showpost.php?p=830735&postcount=7

باتشکر احسان

tehran2009
سه شنبه 28 مهر 1388, 09:26 صبح
مرسی ار کمکتون
اما من سورس این برنامه رو می خوام :ناراحت:اینجا گیر کردم.
می خوام وقتی روی یک کامند کلیک کنم برنامه یکی یکی کلمه هارو از لیست 1 به تکست1 ببره و در لیست 2 اون کلمه را بگرده اگه کلمه بودش بره سراغ کلمه بعدی در لیست1 و اگر نبود روی یک کامند کلیک کنه و همینجوری ادامه بده.

tehran2009
چهارشنبه 29 مهر 1388, 08:26 صبح
دوستان عزیز کسی نمی تونه کمک کنه ؟؟؟

ASedJavad
چهارشنبه 29 مهر 1388, 13:07 عصر
منظورت از کليک کنه، چيه؟
يعني فقط کارهايي که مثلا تو روال Command1_click انجام ميشه رو انجام بده؟
يا عمليات کليک رو شبيه سازي کنه؟
اگه منظورت اوليه، از دستور

call Command1_click()
استفاده کن

tehran2009
چهارشنبه 29 مهر 1388, 15:58 عصر
منظورم روی یک کامندی که من تعریف کردم کلیک کنه. ( مثلاً کامند Command1 )

وقتی روی یک Command1 کلیک کنم برنامه یکی یکی کلمه هارو از لیست 1 به تکست1 ببره و در لیست 2 اون کلمه را بگرده اگه کلمه بودش بره سراغ کلمه بعدی در لیست1 و اگر نبود روی یک Command2 کلیک کنه و همینجوری ادامه بده.

ms_raha
چهارشنبه 29 مهر 1388, 17:00 عصر
منم سوالی مشابه به همین که دوستمون تاپیک زده دارم ... سوال من این هست که من یک لیست دارم که میخوام تو همون لیست کلمات تکراری حذف بشه. با تشکر راهنمایی کنید . ممنون....



Private Sub Command1_Click()
k = 0
For i = 0 To List1.ListCount - 1
If Text1.Text = List1.List(i) Then
k = k + 1
End If
Next i
If k = 0 Then
List1.List(List1.ListIndex) = Text1.Text
Else
MsgBox "ßáãå ÊßÑÇÑí ÇÓÊ"
End If
End Sub

tehran2009
چهارشنبه 29 مهر 1388, 22:20 عصر
کسی نمی تونه کمک کنه من به جوابم برسم ؟؟؟؟؟؟

tehran2009
جمعه 01 آبان 1388, 10:50 صبح
دوستان هیچ کس نمی تونه کمک کنه ؟؟؟

tehran2009
شنبه 02 آبان 1388, 07:38 صبح
دوستان مهلت من داره تموم میشه :ناراحت: لطف کنین و کسیانی که می تونن کمک کنن. ممنون میشم

ASedJavad
شنبه 02 آبان 1388, 15:08 عصر
Private Sub Command1_Click()
Dim i As Long, j As Long
For j = 0 To List1.ListCount - 1
Text1 = List1.List(j)
DoEvents
For i = 0 To List2.ListCount - 1
If List2.List(i) = Text1 Then GoTo 10
Next i
List2.AddItem Text1
GoTo 20
10 Command2_Click
20 Next j
End Sub

tehran2009
شنبه 02 آبان 1388, 15:48 عصر
ممنونم دوست من :قلب: همین چیزیه که من می خواستم.
فقط یک ایراد کوچولو داره و اونم اینه که وقتی روی کامند 1 کلیک می کنم ،کلمات را از لیست 1 به لیست 2 منتقل می کنه.
من نمی خوام منتقل بشن یعنی فقط در لیست 2 سرچ بشن اگه کلمه بود که بره سراغ کلمه بهدی در لیست 1و اگه کلمه نبودن روی کامند 2 کلیک بشه. همینجور به ترتیب . :قلب:

r0ot$harp
یک شنبه 03 آبان 1388, 01:24 صبح
ممنونم دوست من :قلب: همین چیزیه که من می خواستم.
فقط یک ایراد کوچولو داره و اونم اینه که وقتی روی کامند 1 کلیک می کنم ،کلمات را از لیست 1 به لیست 2 منتقل می کنه.
من نمی خوام منتقل بشن یعنی فقط در لیست 2 سرچ بشن اگه کلمه بود که بره سراغ کلمه بهدی در لیست 1و اگه کلمه نبودن روی کامند 2 کلیک بشه. همینجور به ترتیب . :قلب:
دوست عزیز عذز می خوام از شما . من رو به عنوان یه دوست در نظر بگیرین . شما کارتون خیلی اشتباه هست . کاری که شما می خواین کمی از درخواست پروژه دانشجویی نداره .

به خدا اگر خودت انجام بدی هزار بار بهتر از این هست که بدی یکی دیگه انجام بده .

من واسه خاطر خودتون می گم . من هم روزی مثل شما بودم اما فهمیدم همیشه نباید کمک بگیرم .

tehran2009
یک شنبه 03 آبان 1388, 07:24 صبح
مرسی از نصیحتتون
اما این پروژه دانشجویی نیست یک برنامه هستش که تموم شده و فقط گیر همین جاشم
همین

ASedJavad
یک شنبه 03 آبان 1388, 12:18 عصر
ممنونم دوست من :قلب: همین چیزیه که من می خواستم.
فقط یک ایراد کوچولو داره و اونم اینه که وقتی روی کامند 1 کلیک می کنم ،کلمات را از لیست 1 به لیست 2 منتقل می کنه.
من نمی خوام منتقل بشن یعنی فقط در لیست 2 سرچ بشن اگه کلمه بود که بره سراغ کلمه بهدی در لیست 1و اگه کلمه نبودن روی کامند 2 کلیک بشه. همینجور به ترتیب . :قلب:



اما این یک برنامه هستش که تموم شده و فقط گیر همین جاشم
همین

اگه واقعا شما يه برنامه نوشتيد و فقط گير همين جاشين،‌با يه بررسي ساده تو کدي که براتون گذشتم، خيلي راحت ميتونيد خطي رو که به ليست 2 اضافه ميکنه رو پيدا و حذف کنيد.
چون تو اون کد هيچ دستور پيچيده و سختي وجود نداره. فقط کافيه خطها رو يکي يکي بررسي کنيد و کار هر خط رو بفهميد.

tehran2009
یک شنبه 03 آبان 1388, 14:14 عصر
دوستان 4-5 تا پست دادین اما جواب سوال منو ندادین؟؟

asedjavad (http://www.barnamenevis.org/forum/member.php?u=60645) جان جواب شما کاملاً همون چیزی که من می خوام پس اگه ممکنه شما برای من ادیت کنید ممنونت میشم.
هر چند سرتونو درد آوردم

tehran2009
دوشنبه 04 آبان 1388, 12:56 عصر
همچنان منتظرم :افسرده:

ASedJavad
دوشنبه 04 آبان 1388, 15:02 عصر
اين خط رو از اون کد حذف کن:

List2.AddItem Text1
همين

tehran2009
سه شنبه 05 آبان 1388, 18:23 عصر
اینکارو کردم اما برنامه اررور می ده