مشاهده نسخه کامل
: در خواست كمك براي نوشتن يك كد
behnam_tr
17-02-2008, 22:40
:46:با سلام خدمت تمام دوستان عزيز
:10:ميخام يه برنامه دفترچه تلفن با ويژوال بيسيك بنويسم از آنجايي كه تازه كار هستم مشكلاتي دارم كه ميخاستم با راهنمايي دوستان عزيز حلشان كنم.
اول از همه يه عكس از برنامه ميذارم تا دوستان راحتتر منظورم را بفهمند
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
:10:خوب من ميخام كه با زدن دكمه ذخيره سه فايل تكست در محل نصب برنامه ايجاد شود كه نام اين فايلها يكي بر اساس نام يكي بر اساس شماره تلفن همراه و يكي برحسب شماره تلفن منزل باشند ودر ضمن اطلاعات اين فايلها محتويات برنامه باشد كه شامل نام-نام خانوادگي -ايميل . ....است.يعني مثلا اگر نام شخص بهنام باشد
محتويات فايل تكست (هر سه فايل)سطر اولشان به صورت
name: بهنام
باشد.
:11:ممنون ميشم اگر كمكم كنيد.
mehdibarghi
18-02-2008, 00:02
منظورتون را واضح تر بگین ... اصلا چرا 3 تا فایل؟ یعنی همهشون مثل هم هستند ؟!!
mehdibarghi
18-02-2008, 01:01
برای ذخیره کردن اطلاعات داخل فایل متنی باید از فرمان open استفاده کنید .
من اگه بخواهم چنین برنامه ای را بنویسم 6 تا فایل درست میکنم که با هربار زدن دکمه ذخیره اطلاعات هر کدام از فیلد ها در فایل مربوط به خودش اضافه بشه ... بعد برای سرچ هم که دیگه کاری نداره . فایل مورد نظر را باز کرده و یکی یکی فیلد ها رو میخونیم و مقایسه می کنیم ... اگر کافی نیست بگین تا بیشتر کمک کنم یا اصلا کدشو بزارم ...
موفق تر باشید .
behnam_tr
18-02-2008, 10:20
دوست عزيز ميشه منظورتون رو واضح تر بگيد... ببينيد در واقع من ميخام سه تا فايل ايجاد بشه واسه اينكه اگه به عكس برنامه نگاه كنيد ميبينيد كه سه قسمت واسه جيستجو هست.... اگه ميشه كدشو هم بزاريد...ممنون
behnam_tr
18-02-2008, 10:23
.
من اگه بخواهم چنین برنامه ای را بنویسم 6 تا فایل درست میکنم
موفق تر باشید .
منم با نظر شما موافقم....
سلام
چرا با database اين كار رو انجام نمي كنيد به نظر من خيلي راحت تره
و اين كه شما كد چي رو مي خواين ؟ ذخيره در فايل؟
behnam_tr
19-02-2008, 10:59
بله...يه كد ميخام كه با كليك روي يك دكمه تمام محتويات فايلهاي تكست باكس درون برنامه ,درون سه تا فايل تكست (كه نام هاشون براساس محتويات درون برنامه باشد)در محل نصب برنامه ذخيره شودند....
مثلا اگر محتويات برنامه اينها باشند:
نام: بهنام نام خانوادگي : ديبا شماره همراه : 09149921270 شماره منزل: 2238654 و.....
يك فايل با نام بهنام و يك فايل با نام 09149921270 و يك فايل ديگر با نام 2238654 ايجاد شود......كه محتويات سه فايل هر سه يكي باشند و به صورت زير باشند(طبق مثال بالا)
بهنام
ديبا
0914....
2239.....
و.....
اميدوارم منظورم را فهميده باشيد......
MrJamshidy
19-02-2008, 11:12
بیبین من نمیدونم چرا از دیتا بیس ها استفاده نمیکنید و نمیخوام هم بدونم ولی کار رو ساده تر میکنه
behnam_tr
19-02-2008, 15:47
خوب حالا بايد چه جوري از ديتابيس ها استفاده كنم و در واقع اصلا ديتابيس چي هست....
ممنون ميشم بيشتر توضيح بديد!!!
MrJamshidy
20-02-2008, 19:47
در واقع فکر میکنم کارم در اومد ولی نوکرتم هستم کمکت میکنم
دیتابیس ها فایل هایی هستن که اطلاعات شما رو توی خودشون ذخیره میکنن و زمانی که شما به اون اطلاعات نیاز دارین میتونید از دیتابیس بخونید
حالا برای استفاده از دیتابیس شما ساده ترین دیتابیسی که میتونید انتخاب کنید Microsoft Access هست
من نمیتونم بهت قول بدم ولی در اولین فرصتی که بتونم برات چند تا سورس میزارم و تا جایی که بتونم جواب سوالاتون رو میدم
mehdibarghi
21-02-2008, 09:54
سلام،
اگر کمی دیر شد ببخشید ...
برای نوشتن یک دفترچه تلفن احتیاج نیست که از این روش که شما گفتید استفاده شود . چون در این صورت اگر شما مثلاً 100 نفر را وارد کنید 600 تا فایل(بر اساس تعداد فیلد هاتون) درست میشه که این اصلاً خوب نیست .. برای این کار بهتر است از روش زیر استفاده کنید :
1-شما برای برنامه تان فقط کافی است 6 فایل (برای هر رکورد مثل مثلاً شماره تلفن یا ... یکی)درست کنید .
2-هر رکورد جدیدی را که وارد می کنید (منظور اطلاعات هر شخص) اطلاعات مربوط به آن شخص را در خط آخر فایل ها اضافه می کنیم . یعنی اینکه مثلاً اگر شما 3 نفر را وارد کرده باشید ، هر کدام از فایل هایتان حاوی 3 خط می باشد کهاگر خط مثلاً دوم هر فایل را کنار هم بگزاریم میشود اطلاعات نفر دوم و به همین ترتیب هر تعداد نفر که باشد به همان تعداد خط در فایلتان است ...
3-برای جستجو کردن در بین افراد بر اساس های مختلف(مثلاً تلفن یا نام) می توانید به این روش عمل کنید که فایل ها را با هم باز می کنید و در برنامه به خط اول می روید و سپس مشخصات فایل مربوط به فیلد مورد جستجو را با ورودی کاربر مقایسه می کنید که اگر مثل همان بود یعنی پیدا شده است ..پس رکورد حاظر همه فایلها را در یک جایی میریزد(به عنوان نتیجه جستجو) . و اگر مقدار خوانده شده از فایل با ورودی کاربر یکی نبود برنامه در داخل همه فایل ها یک رکورد به جلو می پرد و دوباره عملیات تست کردن را تکرار می کند تا اینکه به فیلد مورد نظر برسد .
4-در ضمن اگر این عمل را (جستجو رو میگم) دائماً تکرار کنید و فیلدی پیدا نشود چون برنامه در داخل فایل ها مرتباً به خط بعدی می رود ، اگر به آخر فایل برسد برنامه خطا میگیرد که برای جلوگیری از آن خطا می توان از دستور EOF استفاده کرد که فرم این دستور به این صورت است:
if eof #1=true then
که هروقت فایل شماره 1 به انتهای خود رسیده بود مقدار Eof برابر با true می شود .
امیدوارم کافی بوده باشد ...
دوست عزیز لازم به ذکر است که اینکه من کد برنامه رو نمیزارم به خاطر اینه که بهترین روش برای یادگیری هر زبانی این است که روش کار را خودتان یاد بگیرید و اگر در غیر اینصورت باشد هیچ وقت مطالب را یاد نمیگیرید ، بلکه فقط کپی می کنید ... ولی به هر حال اگر باز هم با استفاده از الگوریتم بالا نتوانستید این کار را انجام دهید ، بگوئید تا من سورس را بهتون بدم ...
امیدوارم موفق باشید .
behnam_tr
21-02-2008, 12:32
آقاي مهدي برقي يه چند تا سوال برام پيش اومده...اگه كمك كني ممنون ميشم...(تازه كارم مرا درياب!!!)
اول اينكه من ميخام كه با كليك دكمه ذخيره(بعد از وارد كردن اطلاعات) اطلاعات درون فايلهاي تكست كه از قبل (6 تا فايل طبق گفته شما با نام هاي names,lastnames,email,telphone,teljob,mobile ) در محل نصب برنامه ايجاد شده اند ذخيره شود حال من بايد از چه دستود و كدي براي ذخيره اطلاعات فيلدهاي برنامه استفاده كنم(لطفا كدشو بزاريد )
دوم اينكه وقتي روي جستجو بر حسب نام كليك ميكنيم برنامه اطلاعات تمام فايهاي تكست همراه برنامه كه نامهاشون رو بالا ذكر كردم رو جستجو كنه و وقتي اطلاعات مورد نظر پيدا شد (مثلا تو خط دهم فايلها) اطلاعات رو روي تكست هاي برنامه نشون بده...
سوم سلامتي شما......
mehdibarghi
21-02-2008, 12:55
سلام ؛
در مورد خط اول پستتون باید بگم اولاً ما چاکریم و دوماً به نظر من هرچقدر هم پیشرفت تو برنامه نویسی بشه بازم کمه ؛ چون من حدود 5-6 ساله دارم vb یاد میگیرم ولی بازم بعضی مواقع دوستامون یه چیزایی میگن که حتی به گوشم هم نخورده !!!
در مورد سوالتون که پرسیده بودین جواب اینه :
برای خواندن و نوشتن و اضافه کردن اطلاعات در فایل هایی از دسته متنی (مثل برنامه شما) یک فرمان وجود دارد که در زیر بیشتر توضیح می دهم ...
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
همانطور که می بینید این یکی از فرم های دستور 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 ؛
behnam_tr
21-02-2008, 17:19
دوست عزيز من نتونستم به نتيجه برسم اگه ميشه كدشو كامل بزاريد(اگه زحمتي نيست) به نظر من اونجوري راحت تر ميشه كدها رو تجزيه و تحليل كرد و درصد يادگيري هم بيشتره....(البته اين نظر شخصي منه!!)
mehdibarghi
21-02-2008, 19:40
سلام؛
چشم ؛ براتون می نویسم و میزارم ....
behnam_tr
21-02-2008, 20:10
ممنون از راهنمايي هايي كه ميكني....
mehdibarghi
22-02-2008, 17:28
سلام؛
برنامه شو نوشتم .. منتها خیلی ساده فقط برای کار با دستورها !!
از لینک زیر دانلودش کنید ... اگه لینکش کار نکرد بگین .
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.