PDA

View Full Version : سوال: عدم نمایش صحیح اطلاعات از فایل متنی ذخیره شده



hosein3000
سه شنبه 14 دی 1395, 11:20 صبح
با سلام خدمت اساتید
من از طریق کد زیر که یک فایل متنی ایجاد کرده ام اقدام به خواندن ان در یه فرم دیگه می کنم همه چیز درسته فقط با اینکه من مشخص کرده ام که تو کدوم فیلد چه گزینه ای باشه ولی متاسفانه خودش میاد به ترتیب از اولین فیلد فایل متنی به ترتیب تو تکست باکس ها جاگذاری می کنه و اون فیلدی رو که من مشخص کرده ام از فایل متنی نمی خونه یعنی به جای اینکه بیاد فیلد 5 ام تو فایل متنی رو در تکست باکس 2 قرار بده میاد فیلد دوم رو تو تکست باکس 2 قرار میده و بقیه هم به این ترتیب . چیکار کنم درست بشه به نظرتون
file1 = FreeFile
Open App.Path & "\AHMADI.HOS" For Input As file1
Input #file1, sys, erath, ru, omega, CD, hm, istru, IE, iwind, IICe, ISnow, Sslab, Alls, Stip, hei, Group, stno, sklet, acelate, ruy, jodagar
Text16.Text = ru
Text17.Text = acelate
Text28.Text = acelate
Text21.Text = sys
Text22.Text = erath
Text24.Text = sys
Text23.Text = erath
Text15.Text = hei
Text43.Text = hei
Text26.Text = IE
Text18.Text = IE
Text29.Text = Stip
Text9.Text = Stip
Text3.Text = ruy
Text50.Text = jodagar
Text51.Text = jodagar
Close #file1

hosein3000
چهارشنبه 15 دی 1395, 16:38 عصر
دوستان بدجوری معطل این موضوع هستم لطفا راهنمایی بفرمایین

meys34
جمعه 17 دی 1395, 12:37 عصر
یه تیکه از فایل متنی رو بزار...

در ضمن فیلد پنجم میشه CD که ازش استفاده نکردی اصلا...


با سلام خدمت اساتید به جای اینکه بیاد فیلد 5 ام تو فایل متنی رو در تکست باکس 2 قرار بده میاد فیلد دوم رو تو تکست باکس 2 قرار میده

شاید اینجوری درست تر باشه:

Input #file1, sys, erath, ru, omega, CD, hm, istru, IE, iwind, IICe, ISnow, Sslab, Alls, Stip, hei, Group, stno, sklet, acelate, ruy, jodagar

Text1.Text = sys
Text2.Text = erath
Text3.Text = ru
Text4.Text = omega
Text5.Text = CD
Text6.Text = hm
Text7.Text = istru
Text8.Text = IE
Text9.Text = iwind
Text10.Text = IICe
Text11.Text = ISnow
Text12.Text = Sslab
Text13.Text = Alls
Text14.Text = Stip
Text15.Text = hei
Text16.Text = Group
Text17.Text = stno
Text18.Text = sklet
Text19.Text = acelate
Text20.Text = ruy
Text21.Text = jodagar

hosein3000
پنج شنبه 23 دی 1395, 12:46 عصر
اطلاعات فایل متنی زیاده و من میخوام تو هر فرم برخی از اطلاعات فایل استفاده کنم ولی متاسفانه هنگام خوندن اطلاعات تو فرم ها میاد بجای اینکه اطلاعات مشخص شده رو لود کنه از،اول فایل متنی بصورت ردیف مرتب لود میکنه که در اینصورت خروجی ها درست در نمیاد
چیکار کنم بنظرتون

www.pc3enter.tk
جمعه 24 دی 1395, 01:46 صبح
ببین من می تونم کمکت کنم فقط کمی اطلاعات ازت می خوام

اول اینکه اگر اشتباه نکنم می خواهی یک تنظیمات درست کنی و بعد اونو ذخیره و دوباره به صورت درست لود کنی

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

(جواب شما؟)

www.pc3enter.tk
جمعه 24 دی 1395, 02:17 صبح
ببین چون ممکنه من یک وقت سر نزم به سایت یک چیزی و یا توضیحی برات می نویسم تا شاید مشکلت حل بشه

ببین اینجا من 2 صورت را برات در نظر می گیرم . یکی اینکه برات نوع قابل فهم بودن تنظیمات مهم هست یا نه

مثلا مهم

address=c:\ali
num=5
openCHK=yes
Run=1
ShowHide=0


و غیر مهم هم می تونه این باشه

c:\ali,5,yes,1,0


اگر توجه داشته باشی تو هر 2 تای اونها یک چیزی مشترکه!!!

حالا بزار مورد اول را بگم تا ببینی به دردت می خوره

ببین ما یک دستور داریم به نام split, کاربردش اینکه میاد بر اساس یک کلمه ای داخل (مثلا " , " ) یک متن اونها را جدا میکنه و به صورت جداگونه ای داخل یک تابع می ریزه
مثلا نمونه بالا
Joda = Split("c:\ali,5,yes,1,0", ",") 'code

بعد از این دستور کد می آید بر اساس گیومه( , ) و به تعدادشان آن ها جدا میکنه و میریزه داخل تابع Joda

حالا ما می خواهیم از این تابع استفاده کنیم و داخل 5 تا تکس باکس بریزیم , که کدش میشه این

Joda = Split("c:\ali,5,yes,1,0", ",") 'code
text1.Text = Joda(0)
Text2.Text = Joda(1)
text3.Text = Joda(2)
text4.Text = Joda(3)
text5.Text = Joda(4)


For a = 0 To 4
Print Joda(a)
Next a

فقط یادت باشه که مقداری می خوای ازش جواب بگیری از 0 شروع میشه نه 1

حالا ببین به کارت میاد یا نه اگر نه که مورد اول را یادت بدم.
(برای سلامتی همه و خودت و خودم صلوات)

hosein3000
یک شنبه 26 دی 1395, 21:12 عصر
دقیقا همینطوره من تو یه فرم حدود 20 باکس محاسباتی دارم که میخوام بعد از محاسبات توی فرم های دیگه مثلا تو یکی از 5 تای اول تو یکی دیگه مثلا از 5 تای دیگه و تو یه فرم دیگه هم فقط از یکیش استفاده کنم اونم بصورت موقت ،برای اینکار اومدم تو فرم اولی که محاسبات انجام میشه همه باکس ها رو تو یه فایل متنی ذخیره کردم بعد تو فرم های دیگه فایل رو باز کرده و میخونم،اگه کل اطلاعات رو لود کنم و به ترتیب بخونم مشکلی پیش نمیاد ولی وقتی میخوام تو یه فرم فقط از،چند تا از این دیتا ها استفاده کنم برنامه میاد به ترتیب از اول میخونه که اونم محاسبات اشتباه میشه،با دستور for که نمیشه که چون اطلاعات متفاوته
در هر،صورت روش دیگه ای هم باشه که من بتونم اطلاعات محاسبه شده رو ذخیره کنم اونم بصورت موقت و در جاهای دیگه براحتی استفاده کنم ممنون میشم نحوه انجامشو بفرمایین
ممنون

www.pc3enter.tk
سه شنبه 28 دی 1395, 13:43 عصر
بله چرا که فقط شما اگر میتونی یک نمونه فرمی با یک نمونه برنامه ات را بزاری تا خیلی بهتر بتونم کمکت کنم

مینآنی؟

hosein3000
یک شنبه 10 بهمن 1395, 09:40 صبح
با سلام
همینطور که فرموده بودین من فرم رو پیوست کردم فقط هدف من اینه که اطلاعات این فرم رو ذخیره کنم و تو چند تا فرم دیگه از این اطلاعات استفاده کنم.الان مشکلی با ذخیره و خوندنش ندارم اما وفتی میام فقط از چند تا از اطلاعات استفاده می کنم ترتیب استفاده بهم میخوره
ممنون میشم راهنمایی بفرمایین

www.pc3enter.tk
یک شنبه 10 بهمن 1395, 11:06 صبح
خب دوست عزیز شما وقتی یک برنامه را میدهید، خب دیگر قسمت هایش را بدهید

الان موقع تست برنامه به من به این کد گیر میدهSaveLoadFormData

به نظر می‌رسه مشکل ۹۰٪ شما در اینجا هست، اگر از ماژولی استفاده میکنید ، اینجا بگذارید تا مشکلاتتان را حل کنم

الان از نظر کارایی مشکلی ندارند به جر اونجا


فقط چیزی که الان میدونم اینکه فاجعه‌ای که خودت به بار آورده ای این است که ترتیب index های txtdata هایت را اصلا رعایت نکردی
و مثلا از ۵ می‌ره به ۸ و از ۱۱ می‌ره به ۱۶
این کار اصلا درست نیست از نظر برنامه نویسی

www.pc3enter.tk
دوشنبه 11 بهمن 1395, 20:53 عصر
بیا یک نمونه گذاشتم ببین مثل اینو میخواهی برای برنامه ات

دانلود (http://up.shamsipour-ac.ir/uploads/files/1395/mehr/1_Project1.exe)

vbhamed
دوشنبه 18 بهمن 1395, 07:39 صبح
سلام

دوست عزیز، اشکال شما اینه که به نوع کاربرد فایلها توجه نکردی، فایلهای متنی برای اینکاری که شما می‌خواین و به اینصورت استفاده کردین مناسب نیست

اول اینکه نام متغیر برای فهم خود شماست وگرنه برنامه تشخیص نمیده که مثلا متغیر code کد شخص و متغیر name نام شخص هست که بعد شما بیاین دو تا فیلد بنویسید و همون دو تا رو بخونید یا سه تا بنویسید و به هر ترتیبی دلتون خواست بخونید و ضمنا تعریف فیلد به این شکلی که شما برای متغیرهاتون نام گذاشتید نیست که انتظار داشته باشید بعدا هم همون فیلد خونده بشه

شما البته تا حدی می‌تونی از فایلهای ini استفاده کنی که برای کار شما مناسبتره و می‌تونید برای هم فرم بخشی جداگانه براش در نظر بگیرید و فیلدهای مورد نظر رو بنویسید و بخونید، فرمت این فایلها هم متنی است ولی کاملا بستگی به نوع و حجم اطلاعاتتون داره

در کل به نظر میرسه باید در زمینه بانکهای اطلاعاتی تحقیق بیشتری کنید

hosein3000
سه شنبه 19 بهمن 1395, 11:29 صبح
خیلی ممنون دقیقا با فرمایش شما موافقم
با جستجویی که کردم و طبق فرمایش شما فایل iniمشکل من رو حل می کنه ولی من یه نمونه که پیدا کردم دیدم برای هر باکس باید خیلی مراحل پیچیده ای رو باید طی کرد و اینکه اطلاعات فرم من زیاده،ایا نمونه ای از خواندن نوشتن چند تا باکس تو فایل ini دارین که هم ساده باشه و هم من بتونم ازش استفاده کنم?ممنون