-
سلام،
اگر کمی دیر شد ببخشید ...
برای نوشتن یک دفترچه تلفن احتیاج نیست که از این روش که شما گفتید استفاده شود . چون در این صورت اگر شما مثلاً 100 نفر را وارد کنید 600 تا فایل(بر اساس تعداد فیلد هاتون) درست میشه که این اصلاً خوب نیست .. برای این کار بهتر است از روش زیر استفاده کنید :
1-شما برای برنامه تان فقط کافی است 6 فایل (برای هر رکورد مثل مثلاً شماره تلفن یا ... یکی)درست کنید .
2-هر رکورد جدیدی را که وارد می کنید (منظور اطلاعات هر شخص) اطلاعات مربوط به آن شخص را در خط آخر فایل ها اضافه می کنیم . یعنی اینکه مثلاً اگر شما 3 نفر را وارد کرده باشید ، هر کدام از فایل هایتان حاوی 3 خط می باشد کهاگر خط مثلاً دوم هر فایل را کنار هم بگزاریم میشود اطلاعات نفر دوم و به همین ترتیب هر تعداد نفر که باشد به همان تعداد خط در فایلتان است ...
3-برای جستجو کردن در بین افراد بر اساس های مختلف(مثلاً تلفن یا نام) می توانید به این روش عمل کنید که فایل ها را با هم باز می کنید و در برنامه به خط اول می روید و سپس مشخصات فایل مربوط به فیلد مورد جستجو را با ورودی کاربر مقایسه می کنید که اگر مثل همان بود یعنی پیدا شده است ..پس رکورد حاظر همه فایلها را در یک جایی میریزد(به عنوان نتیجه جستجو) . و اگر مقدار خوانده شده از فایل با ورودی کاربر یکی نبود برنامه در داخل همه فایل ها یک رکورد به جلو می پرد و دوباره عملیات تست کردن را تکرار می کند تا اینکه به فیلد مورد نظر برسد .
4-در ضمن اگر این عمل را (جستجو رو میگم) دائماً تکرار کنید و فیلدی پیدا نشود چون برنامه در داخل فایل ها مرتباً به خط بعدی می رود ، اگر به آخر فایل برسد برنامه خطا میگیرد که برای جلوگیری از آن خطا می توان از دستور EOF استفاده کرد که فرم این دستور به این صورت است:
if eof #1=true then
که هروقت فایل شماره 1 به انتهای خود رسیده بود مقدار Eof برابر با true می شود .
امیدوارم کافی بوده باشد ...
دوست عزیز لازم به ذکر است که اینکه من کد برنامه رو نمیزارم به خاطر اینه که بهترین روش برای یادگیری هر زبانی این است که روش کار را خودتان یاد بگیرید و اگر در غیر اینصورت باشد هیچ وقت مطالب را یاد نمیگیرید ، بلکه فقط کپی می کنید ... ولی به هر حال اگر باز هم با استفاده از الگوریتم بالا نتوانستید این کار را انجام دهید ، بگوئید تا من سورس را بهتون بدم ...
امیدوارم موفق باشید .
-
آقاي مهدي برقي يه چند تا سوال برام پيش اومده...اگه كمك كني ممنون ميشم...(تازه كارم مرا درياب!!!)
اول اينكه من ميخام كه با كليك دكمه ذخيره(بعد از وارد كردن اطلاعات) اطلاعات درون فايلهاي تكست كه از قبل (6 تا فايل طبق گفته شما با نام هاي names,lastnames,email,telphone,teljob,mobile ) در محل نصب برنامه ايجاد شده اند ذخيره شود حال من بايد از چه دستود و كدي براي ذخيره اطلاعات فيلدهاي برنامه استفاده كنم(لطفا كدشو بزاريد )
دوم اينكه وقتي روي جستجو بر حسب نام كليك ميكنيم برنامه اطلاعات تمام فايهاي تكست همراه برنامه كه نامهاشون رو بالا ذكر كردم رو جستجو كنه و وقتي اطلاعات مورد نظر پيدا شد (مثلا تو خط دهم فايلها) اطلاعات رو روي تكست هاي برنامه نشون بده...
سوم سلامتي شما......
-
سلام ؛
در مورد خط اول پستتون باید بگم اولاً ما چاکریم و دوماً به نظر من هرچقدر هم پیشرفت تو برنامه نویسی بشه بازم کمه ؛ چون من حدود 5-6 ساله دارم vb یاد میگیرم ولی بازم بعضی مواقع دوستامون یه چیزایی میگن که حتی به گوشم هم نخورده !!!
در مورد سوالتون که پرسیده بودین جواب اینه :
برای خواندن و نوشتن و اضافه کردن اطلاعات در فایل هایی از دسته متنی (مثل برنامه شما) یک فرمان وجود دارد که در زیر بیشتر توضیح می دهم ...
کد:
open app.path+"\name.txt" for input as #1
همانطور که می بینید این یکی از فرم های دستور open است ...
1-در قسمت اول که خود فرمان نوشته شده است ...
2-در قسمت دوم (app.path) یک دستور است که آدرس فایل اجرایی برنامه را در کامپیوتر می دهد مثلاً اگر فایل EXE برنامه ما در داخل درایو D و پوشه phone باشد برای ما بر میگرداند "D:\phone"
3-در قسمت سوم رشته ای که از دستور app.path استخراج می شود را با "name.txt" جمع می کند ... پس تا اینجا داریم مثلاً "D:\phone\name.txt" و به فرمان open فهموندیم که این فایل با این آدرسو میخواهیم باز کنیم ...
4-در قسمت بعدی For input داریم که این یعنی ما فایلو باز می کنیم که فقط اطلاعاتو از توی اون بخوانیم (مثلاً برای قسمت سرچ که نیاز به نوشتن در فایل نیست)
5-در قسمت بعدی هم as #1 هست که شماره شناسایی فایل در برنامه هست که مثلاً اگر خواستید فایل های بیشتری را همزمان در برنامه باز کنید (قسمت سرچ شما 6 فایل) از شماره های بالاتر تا 15 می توانید استفاده کنید مثلاً as #2
همونطور که دیدید در بند 4 توضیحاتم گفتم که قسمت for input برای خواندن فایل هست ولی اگر خواستیم فایل جدید درست کنیم و یا به فایل اطلاعات اضلافه کنیم چگونه؟ به سادگی می توان این کار را با تغییر این قسمت انجام داد مثلاً
for output = ساختن فایل جدید با آن نام که وارد کرده اید و اگر از قبل بود تمام اطلاعات آنرا پاک می کند
for append = برای اضافه کردن اطلاعات به آخر فایل
خب بعد از اینکه فایل را بر اساس احتیاجمان باز کردیم حالا لازم است تا از آن استفاده کنیم ...
با استفاده از فرمان line input #1,a میتوان اطلاعات یک خط از فایل شماره 1 را به طور کامل بخوانیم که اگر برای اولین بار بعد از باز کردن فایل این را بنویسیم .. خط اول و برای دومین بار خط دوم و برای n امین بار نیز خط n ام را می خواند و در داخل متغیر a ذخیره می کند (لازم به ذکر است که شما می توانید به جای a بنویسید مثلاً text1.text که آن را در text1 می نویسد ...
با استفاده از فرمان print #1,a مقدار a را در خط آخر فایل باز شده شماره 1 می نویسد که مثل قبلی a می تواند مقدار text1 شما باشد .
تذکر : line input فقط برای فایلی که به صورت input باز شده باشد کار می کند و print هم برای append و output .
امیدوارم براتون مفید باشه ...
اگر نتونستید بازم برنامه تونو بنویسید بازم پست بزارید تا در حد توان کمکتون کنم ...
good luck ؛
-
دوست عزيز من نتونستم به نتيجه برسم اگه ميشه كدشو كامل بزاريد(اگه زحمتي نيست) به نظر من اونجوري راحت تر ميشه كدها رو تجزيه و تحليل كرد و درصد يادگيري هم بيشتره....(البته اين نظر شخصي منه!!)
-
سلام؛
چشم ؛ براتون می نویسم و میزارم ....
-
ممنون از راهنمايي هايي كه ميكني....
-
سلام؛
برنامه شو نوشتم .. منتها خیلی ساده فقط برای کار با دستورها !!
از لینک زیر دانلودش کنید ... اگه لینکش کار نکرد بگین .
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]