PDA

View Full Version : آموزش: نمایش فایل txt در lsitbox به صورت مرتب (ستونی)



R2du-soft
چهارشنبه 31 اردیبهشت 1393, 20:30 عصر
سلام
دوستان من یک برنامه نوشتم که فایل txt رو میخونه و توی listbox نشون میده،اما این نمایش به صورت نامرتب هست ، یعنی ستون به ستون نیست و هر قسمتی زیر قسمتی میره که بهش مربوط نیست!
چطور میشه اینکارو کرد که بعد از نمایش به صورت ستونی باشه؟

sa1378
چهارشنبه 31 اردیبهشت 1393, 20:56 عصر
من نفهمیدم زیر قسمتی میره که بهش مربوط نیست یعنی چی
یه مثال میزنید؟

aleas2
چهارشنبه 31 اردیبهشت 1393, 21:20 عصر
متوجه منظورتون نشدم اگر منظورتون اینه میخواهین محتویات لیست Sorted بشه
خصوصیت Sorted مربوط به listbox برابر با true قرار بده


یا اگر میخواهین محل درج در لیست باکس مشخص کنین بطور مثال به این صورت


For i = 1 To 10
List1.AddItem i, 0
Next i

R2du-soft
چهارشنبه 31 اردیبهشت 1393, 22:40 عصر
ببخشید که نمونه ای نزاشتم،این دقیقا عکس برنامه من هست

119293


میبینید که ستون اول از چپ زیر هم هست ، اما ستون های دیگه نه! میخوام اینا مرتب بشن و هر ستون زیر هم باشه!اما نمیدونم چطور اینکارو کنم

as987498749874
پنج شنبه 01 خرداد 1393, 13:58 عصر
سلام دوست عزیز
شما باید برای هر ستون ماکزیمم کاراکتر را مشخص کنی یعنی برا خودت مشخص کنی که نام دانشجو از 20 حرف بیشتر نمیشه.
خوب حالا نام دانشجو علی هست . با گرفتن یه Len تعداد کاراکتر که 3 حرف است مشخص میشه.
نام باید 20 کاراکتر داشته باشه پس به آخرش (3-20) یعنی 17 اسپیس اضافه میشه و بعد نام خانوادگی و ...

R2du-soft
پنج شنبه 01 خرداد 1393, 14:01 عصر
ممنون دوست عزیز
اما به نظر شما این روش طولانی نمیشه؟ چون دیتابیس درحال افزایش هست توسط یوزر ....!
و اگه دیتابیس زیاد باشه هنگ نمیکنه برنامه؟!

as987498749874
پنج شنبه 01 خرداد 1393, 14:07 عصر
اگه شما قصد ثبن اطلاعات مهمی را دارید و تعدادشون زیاده پیشنهاد من بانک اطلاعاتی است که هم راحته و هم سریع!!!! اموزش هاش هست
اما اگه اجبارا باید از txt استقاده بشه موقع لود اطلاعات به لیست این کار رو انجام بدین فکر نکنم هنگ کنه!!!
البته بستگی زیادی به تعدادش داره!!!

vbhamed
پنج شنبه 01 خرداد 1393, 20:02 عصر
سلام
بهترین و راحت ترین راه اینه که از یک گراید مثل vsFlexGrid برای نمایش داده ها استفاده کنید نه ListBox

ضمنا در مورد لیست باکس غیر از اینکه طول همه فیلدها باید با هم برابر بشه باید از یک فونت با عرض کاراکتر ثابت هم استفاده کنید
مثلا فونت Courier New

sa1378
پنج شنبه 01 خرداد 1393, 21:18 عصر
سلام
بهترین و راحت ترین راه اینه که از یک گراید مثل vsFlexGrid برای نمایش داده ها استفاده کنید نه ListBox

ضمنا در مورد لیست باکس غیر از اینکه طول همه فیلدها باید با هم برابر بشه باید از یک فونت با عرض کاراکتر ثابت هم استفاده کنید
مثلا فونت Courier New
میشه بگین vsFlexGrid چی هست؟؟

Mori Bone
پنج شنبه 01 خرداد 1393, 22:12 عصر
میشه بگین vsFlexGrid چی هست؟؟

شما با این کنترل دقیقا مثله exel مستقیم به سلولها دسترسی داری. مخالف ،data grid view شما مسفقیم می تونی داخل یه سلول اطلاعات بریزی
مثلا:

with flex1
.rows = 5
.cols =5
.row=0
.col = 1
.text = "ali"
.col = 2
.text="zandieh"
end with

R2du-soft
جمعه 02 خرداد 1393, 00:01 صبح
ممنون vbhame جان
میشه یک نمونه برنامه قرار بدی؟
ممنون

R2du-soft
جمعه 02 خرداد 1393, 02:20 صبح
ممنون از vbhamed جان و بقیه دوستای گل
میشه یک نمونه برنامه قرار بدی از همین vsFlexGrid که فایل تکست رو بخونه و درست نشون بده؟
ممنون

vbhamed
جمعه 02 خرداد 1393, 07:29 صبح
سلام
فایل تکست نمونه رو ضمیمه کنید

R2du-soft
جمعه 02 خرداد 1393, 10:40 صبح
این فایل دیتابیس من هست که بر اسات split * میشکونمش و توی جدولم نشون میدوم بعد به جای * "Space" جایگزین میکنم
119350

vbhamed
شنبه 03 خرداد 1393, 13:00 عصر
سلام
اين يك نمونه
فقط یادتون نره کامپوننت ComponentOne vsFlexGrid 8 بايد نصب باشه رو سیستم

R2du-soft
شنبه 03 خرداد 1393, 20:57 عصر
ممنون استاد،فقط یک سوال این کامپوننتی که قرار دادید روی ویندوز 8.1 64 بیت هم جواب میده؟
با دستور regsvr32 vsFlex8n.ocx نصب کنم دیگه؟ قبلش فایل رو توی مسیر c:windows\system32 کپی کنم بعد؟
تست کردم مشکل میگیره این روش رو! میشه از ویندوزم باشه؟آخه من برنامه نویسی رو با ویندوز 7 میکنم این ویندوز رو تستی ریختم فعلا
مرسی بابت زحمات :خجالت:

vbhamed
یک شنبه 04 خرداد 1393, 09:13 صبح
سلام
بله روی 64 بیت هم جواب میده
فقط اینکه من فایل کامپوننت رو گذاشتم ولی ممکنه لازم باشه شما ابتدا کل ستاپ کامپوننت رو بگیری و نصب کنی، کلی اشیاء دیگه هم داره