PDA

View Full Version : مبتدی: پیدا کردن شماره ی کاراکتر، با استفاده از شماره ی سطر.



hemmattby
سه شنبه 04 تیر 1392, 00:20 صبح
سلام.
من شماره ی سطرها رو توی برنامه ای که نوشتم، دارم.
حالا نیاز پیدا شده که شماره ی اولین کاراکتر اون سطر رو به دست بیارم.
آیا راهی وجود داره که من با استفاده از این داده، مجهول که همون شماره ی کاراکتر
هست رو به دست بیارم؟ مثلا تابعی چیزی وجود داره که ما به طور مثال سطر 3 رو براش
مشخص کنیم و اون، شماره ی اولین کاراکتری که توی اون سطر قرار داره رو برگردونه؟

vbhamed
سه شنبه 04 تیر 1392, 06:27 صبح
سلام
منظورتون از شماره سطر چيه ؟
اطلاعاتتون كجاست ؟
ديتابيس؟ گرايد؟ ...، داده هاتون از چه نوعي هستند ؟
لطفا توضيحات كامل بدين

hemmattby
سه شنبه 04 تیر 1392, 13:44 عصر
من یه لیست باکس دارم و یه تکست باکس.
هر اطلاعاتی که کاربر، توی تکست باکس وارد می کنه، خط به خط، توی لیست باکس ذخیره می شه.
یعنی هر خط توی تکست باکس، برابر است با یک گزینه ی جدید در لیست باکس.
حالا من می خوام کاربر، هر کدوم از گزینه هارو که از لیست باکس انتخاب کرد، اون خط، توی تکست باکس،
سلکت(آبی) بشه.
از روی شماره ی گزینه از لیست باکس، میشه شماره ی خط رو به دست آورد.
مثلا گزینه ی 0 لیست باکس = اولین خط، توی تکست باکس.
ولی برای سلکت کردن یه متن توی تکست باکس، من فقط یه دستور بلدم، که اونم، شماره ی اولین کاراکتر رو می خواد.
نه شماره ی سطر رو.

ضمنا من، متن های وارد شده در تکست باکس رو هم عینا در لیست باکس ذخیره می کنم و بنابراین، محتوای
خط ها رو به صورت جدا گانه، در لیست باکس داریم. میشه از تابع InStr برای جستجوی متن استفاده کرد و شماره ی
کاراکتر رو به دست آورد. ولی نمی خوام این کارو بکنم؛ چون ممکنه مشابه اون متن، توی یه خط دیگه هم باشه و
منحصر به همون خط مورد نظر نباشه. پس بهتره از طریق شماره ی سطر که منحصربه فرد هست، این کار رو بکنم.
البته اگه بشه با ویژوال بیسیک چنین کاری کرد.

hemmattby
سه شنبه 04 تیر 1392, 19:16 عصر
یعنی واقعا هیچ راهی وجود نداره؟!

vbhamed
سه شنبه 04 تیر 1392, 22:45 عصر
سلام
Private Sub List1_Click()

Dim s() As String, l&, i%
s = Split(Text1, vbCrLf)

For i = 0 To List1.ListIndex - 1
l = l + Len(s(i)) + 2
Next

Text1.SelStart = l
Text1.SelLength = Len(s(i))

End Sub