مشاهده نسخه کامل
: لطـــــــــفا کمک کنید ( در ساخت یک برنامه )
hasan0be
15-05-2011, 20:37
با سلام :
دوستان لطفا من را در ساخت این برنامه کمک کنید ... این برنامه به شرح زیر میباشد !!!
1) میخواهم این برنامه هر چه توسط کاربر در کامپیوتر ( تایپ میشود ) را در یک فایل txt ذخیره کند .
لطفا کمک کنید
hasan0be
16-05-2011, 18:54
چرا کسی دیگه جواب آدم رو نمیده تو این p30word ....
تو رو خدا جواب بدید
amirxbest
16-05-2011, 20:43
سلام دوست عزیز اول بابت اینکه گفتی چرا کسی جواب نمیده بگم که دیگه فصل امتحانات هست و امتحانای عملی بچه های رشته کامپیوتر شروع شده.و 4-3 تا از بچه های انجمن که کارا رو راه مینداختن همه پشت کنکوری هستن خودمم پشت کنکوری ام:41:
و بابت اون سوالت تو یه چیزی میخوای تو مایه keylogger که اگه تو چند صفحه قبل بگردی یکی از بچه ها گذاشته بود که خوب بود.بگردی پیدا میکنی.موفق باشی:5:
farshidshd
17-05-2011, 12:42
با سلام :
دوستان لطفا من را در ساخت این برنامه کمک کنید ... این برنامه به شرح زیر میباشد !!!
1) میخواهم این برنامه هر چه توسط کاربر در کامپیوتر ( تایپ میشود ) را در یک فایل txt ذخیره کند .
لطفا کمک کنید
چرا کسی دیگه جواب آدم رو نمیده تو این p30word ....
تو رو خدا جواب بدید
سلام
کم جوابتو دادن دوست عزیز؟؟!!!
چگونگی ذخیره کردن متن یک text box در یک فایل متنی :
قبل از اينکه بتوان عمليات ورودی/خروجی را روی يک فايل انجام داد ابتدا بايستی آنرا باز کرد . باز کردن فايلها در ويژوال بيسيک توسط دستور Open انجام می شود . فرمت کلی اين دستور بصورت زير است :
Open filename [For mode] [Access access][lock] As [#]filenumber [Len=reclen]
[ پارامترهای داخل کروشه اختياری هستند . ]
filename نام فايلی است که می خواهيم آنرا باز کنيم .
mode حالت باز کردن فايل است . اين حالتها عبارتند از :
• Input : فايل بعنوان ورودی باز می شود .
• Output : فايل بعنوان خروجی باز می شود .
• Binary : فايل از نوع باينری باز می شود .
• Append : فايل طوری باز می شود که بتوان به انتهای آن چيزی اضافه کرد .
• Random
access نوع دسترسی به فايل را مشخص می کند . انواع دسترسيها عبارتند از :
- Read : خواندن فايل
- Write : نوشتن در فايل
- ReadWrite : خواندن و نوشتن فايل
lock نوع دسترسی ساير برنامه ها به اين فايل را مشخص می کند . انواع دسترسيها عبارتند از :
- Shared : دسترسی اشتراکی
- Lock Read
- Lock Write
- Lock Read Write
filenumber عددی است که ويژوال بيسيک از آن برای دسترسی به فايل استفاده می کند .اين عدد بايستی برای هر فايل منحصر بفرد و بين ۱ تا ۵۱۱ باشد . برای بدست آوردن اولين شماره آزاد می توان از تابع FreeFile استفاده کرد .
reclen :طول بافر فايل است . اين عدد بايستی از ۳۲۷۶۷ کو چکتر باشد .
در صورتی که فايلی که توسط filename مشخص شده وجود نداشته و فايل برای Append ، Binary ، Output و يا Random باز شده باشد در اينصورت يک فايل جديد با اين نام ساخته می شود .
نوشتن در فايل
دستور Print : توسط اين دستور می توان اطلاعاتی را در فايل قرار داد :
Print #FileNumber,WriteData دستور فوق محتويات متغير WriteData را در فايلی با شماره FileNumber می نويسد . بوسيله دستور Print می توان اطلاعات را بصورت خط به خط در فايل نوشت برای مثال :
Print #1,"Hello Visual Basic"+Vbcrlf
عبارت Vbcrlf نشان دهنده کاراکتر انتهای خط ( CRLF ) در ويژوال بيسيک می باشد .
پس از پايان کار با فايل برای بستن آن از دستور Close استفاده می کنيم . فرمت اين دستور بصورت زير است :
Close #filenumber
برای اینکه موضوع را بهتر متوجه شوید یک مثال عملی برای ذخیره کردن فایل می نویسیم.پس یک پروژه جدید ایجاد کرده و یک Command Button روی آن قرار دهید
و روی آن دوبار کلیک کنید تا به پنجره کد نویسی وارد شوید.و قطعه کد زیر را بنویسید:
Private Sub Command1_Click ()
Open "C:TestFile.txt" For Output As #1
Print #1, Text1.Text
Close #1
End Sub
همانطور که در قطعه کد بالا توجه می کنید ما ابتدا یک فایل با نام TestFile.txt برای ذخیره کردن محتویات TextBox باز کردیم(Output) با شماره فایل 1# )از این شماره فایل برای نوشتن در فایل استفاده میشود) سپس از دستور Print # استفاده کردیم.همانطور که توجه میکنید شماره فایلی که در ابتدا باز کرده بودیم در این خط از آن استفاده کردیم و در آخر هم فایل شماره 1 را بستیم.
توجه کنید که اگر شماره فایل را قید نکنید کلیه فایلهای باز بسته خواهند شد.
خواندن محتویات فایل ترتیبی
بعد از اینکه فایل را ذخیره کردیم باید به طریقی محتویات آن را بازیابی کنیم برای این منظور از دستور Input به جای Output استفاده می کنیم.
Private Sub Command1_Click()
Dim strInput As String
Open "C:TestFile.txt" For Input As #1
Input #1, strInput
Close #1
Text1.Text = strInput
End Sub
در قطعه کد قبل برای خواندن محتویات فایل ما ابتدا فایل مورد نظر را باز میکنیم(Input) سپس از دستور Input برای خواندن محتویات فایل استفاده میکنیم بعد از آن باید محتویات فایل درون یک متغییر ریخته شود(strInput).بعد از اینکه محتویات فایل درون متغییر ریخته شد فایل را می بندیم و سپس Text1.Text را برابر متغییر strInput قرار میدهیم.توجه کنید اگر خواستید به انتهای فایل ترتیبی مقدار های دیگری اضافه کنید از دستور Output استفاده نکنید چون این کار باعث میشود که محتویات قبلی از بین بروند و محتویات جدید جایگزین شوند برای اینکه محتویات قبلی از بین نروند و محتویات جدید اضافه شود از دستور Append به جای دستور Output استفاده کنید.
حالا اگر بخواهیم به عنوان مثال نام و نام خانوادگی و آدرس را ذخیره کنید باید چه کار کرد؟ خیلی ساده است برای ذخیره کردن چند فیلد در فایل های ترتیبی تنها کاری که باید بکنید این است که هر چند تا که فیلد دارید پشت سر هم و به وسیله کاما (,) از هم جدا کنید و از دستور Write به جای دستور Print استفاده بکنید.به مثال زیر که نام و نام خانوادگی و آدرس را ذخیره میکند توجه کنید:
Private Sub Command1_Click()
Open "C:TestFile.txt" For Output As #1
Write #1, txtName.Text , txtLastName.Text , txtAddress.Text
Close #1
End Sub
برای خواندن هم به همان ترتیبی که فیلد ها را ذخیره کردیم به همان ترتیب هم می خوانیم به قطعه کد زیر توجه کنید:
Private Sub Command1_Click()
Dim strName As String
Dim strLastName As String
Dim strAddress As String
Open "C:TestFile.txt" For Input As #1
Input #1, strName, strLastName, strAddress
Close #1
txtName.Text = strName
txtLastName.Text = strLastName
txtAddress.Text = strAddress
End Sub
فایل های تصادفی
بعد از فایل های ترتیبی که توضیح دادیم نوبت به فایل های تصادفی می رسد.از فایل های تصادفی بیشتر از فایل های ترتیبی استفاده می شود چون سرعت دسترسی به فایل های تصادفی به مراتب بیشتر از فایل های ترتیبی است.اگر به عنوان مثال در یک لیست که نام افراد و شماره تلفن آنها ذخیره شده باشد و شما بخواهید که به شخص نفر 156 دسترسی داشته باشید سریعا می توانید به شخص نفر 156 دسترسی داشته باشید حالا اگر این فایل ترتیبی بود شما باید اول 155 نفر اول را رد می کردید و سپس نفر 156 را پیدا می کردید.کار فایل تصادفی بدین صورت است که شما با شماره رکورد(Record Number) کار می کنید و برای خواندن و نوشتن از دستورات Get و Put استفاده می کنیم.
باز کردن فایل تصادفی
برای باز کردن فایل تصادفی مانند دستور زیر عمل می کنیم:
Private Sub Command1_Click()
Open "C:RandomFile.txt" For Random As #1
End Sub
دستور Put
بعد از اینکه فایل را باز کردید برای نوشتن در فایل های تصادفی از دستور زیر استفاده می کنیم:
Private Sub Command1_Click ()
Open "C:RandomFile.txt" For Random As #1
Put #1, 1, Text1.Text
Close #1
End Sub
همانطور که در خط 3 ملاحظه می کنید از دستور Put برای ذخیره کردن استفاده کردیم
بعد از اینکه دستور Put #1 را نوشتیم بعد از آن شماره رکوردی که میخواهیم محتویات Text1.Text در آن ذخیره شود نوشتیم.بعدا ما به وسیله شماره رکورد میتوانیم سریعا به محتویات آن دسترسی داشته باشیم.
دستور Get
برای اینکه بتوانیم محتویات فایل تصادفی را بخوانیم از دستور Get استفاده میکنیم:
Private Sub Command1_Click()
Dim strFile As String
Open "C:RandomFile.txt" For Random As #1
Get #1, 1, strFile
Close #1
Text1.Text = strFile
End Sub
داده تعریف شده توسط کاربر(User Define Type)
فرض کنید شما میخواهید برنامه ای بنویسید که در آن نام و نام خانوادگی و نمره انضباط در فایل تصادفی ذخیره شود.برای این کار باید که نوع جدید به وجود بیاورید که تشکیل شده از نام و نام خانوادگی و نمره انضباط و سپس کل این اطلاعات را در فایل ذخیره کنید.
برای اینکه یک نوع جدید ایجاد کنید از کلمه کلیدی Type استفاده می کنیم.برای اینکار یک پروژه جدید ویژوال بیسیک ایجاد کنید و در قسمت General قطعه کد زیر را بنویسید:
Type MyType
fName As String * 15
LastName As String * 25
Value As Byte
End Type
همانطور که ملاحظه می کنید یک نوع جدید با نام MyType با فیلد های fName و LastName و Value(نمره انضباظ( ایجاد کردیم و آخر آن را با دستور End Type بستیم.اگر دقت کرده باشید آخر تعریف fName وLastName عدد به کار بردیم.این اعداد به خاطر این نوشته شده اند که مشخص کنند که طول فیلد ما باید به چه مقدار باشد به عنوان مثال برای فیلد LastName حداکثر 25 کارکتر می توان ذخیره کرد و بیشتر از آن با پیغام خطا مواجه می شوید.
بعد از اینکه نوع جدید(MyType) را ایجاد کردید باید بتوانیم از آن استفاده کنیم برای این منظور در همان قسمت General بعد از تعریف نوع جدید همانند تعریف متغییر عمل میکنیم(البته توجه کنید که Type ما متغییر نیست بلکه یک نوع جدید است(:
Type MyType
fName As String * 15
LastName As String * 25
Value As Byte
End Type
Private Student As MyType
برای اینکه موضوع را بهتر متوجه شوید دو قطعه کد می نویسیم یکی برای نوشتن به وسیله نوع جدید و دیگری برای خواندن نوع جدید.
قطعه کد زیر طریقه نوشتن در فایل تصادفی به وسیله نوع جدید(user define type)
را نشان میدهد:
Private Sub Command1_Click()
Dim Student As MyType
Open "C:UserDefin.txt" For Random As #1 Len = Len(Student)
With Student
.fName = txtname.Text
.LastName = txtLastName.Text
.Value = txtValue.Text
End With
Put #1, 1, Student
Close #1
End Sub
در کد بالا از دستور Len برای اینکه مشخص کنیم که طول نوع جدید چقدر هست استفاده کردیم.
قطعه کد زیر طریقه خواندن از فایل تصادفی به وسیله نوع جدید را نشان می دهد:
Private Sub Command1_Click ()
Dim Student As MyType
Open "C:UserDefin.txt" For Random As #1 Len = Len(Student)
Get #1, 1, Student
Close #1
With Student
txtname.Text = .fName
txtLastName.Text = .LastName
txtValue.Text = .Value
End With
End Sub
hasan0be
17-05-2011, 21:43
واقعا ممنـــــــــــون چه جوری از شما تشکر کنم .
دستـــــــــــــت طــــــــــلا
hasan0be
18-05-2011, 09:22
سلام آقا فرشید خیلی خیلی ممنون از راهنمایی شما !!!
یک سوال دیگه : چه گونه میشه که هر متنی که در هر جای سیستم تایپ شد ذخیره شود ...
farshidshd
18-05-2011, 14:36
باید از یکی از توابع api استفاده کنی
تو اینترنت زیاد هست سرچ کن
hasan0be
18-05-2011, 17:22
آیا این مطلب تو این سایت هم میباشد ؟
hasan0be
18-05-2011, 17:37
سلام دوست عزیز اول بابت اینکه گفتی چرا کسی جواب نمیده بگم که دیگه فصل امتحانات هست و امتحانای عملی بچه های رشته کامپیوتر شروع شده.و 4-3 تا از بچه های انجمن که کارا رو راه مینداختن همه پشت کنکوری هستن خودمم پشت کنکوری ام:41:
و بابت اون سوالت تو یه چیزی میخوای تو مایه keylogger که اگه تو چند صفحه قبل بگردی یکی از بچه ها گذاشته بود که خوب بود.بگردی پیدا میکنی.موفق باشی:5:
سلام آقا امیر شما در پست زیر این برنامه ای که من گفتم را گذاشته اید اما این برنامه کارکتر تایپ شده را در خود برنامه مینویسد در صورتی که من میخواهم این کارکتر ها را در فایل txt ذخیره کند .
اگه میشه من را راهنمایی کنید ...
با تشکر
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.