واضح آرشیو وب فارسی:سایت ریسک: کار با فایل های تصادفی در vb.net pilevar 26 بهمن 1386, 12:07سلام در vb 6 وقتی میخواستم یک فایل تصادفی تعریف کنیم این کارا رو میکردیم. در یک کلاس ابتدا پارامتر هامون رو تعیرف میکردیم(اینجوری): type omid name as string*20 family as string *50 num as intiger end type برای باز کردن فایل از دستور open استفاده میکردم. و برای فراخوانی و نوشتن هم از دستور های put و get استفاده میکردیم. این کار توی vb.net به چطوری است؟ saalek110 26 بهمن 1386, 12:28شاید این تاپیک مفید باشد: System.IO در سی شارپ () pilevar 26 بهمن 1386, 14:36این مقاله رو خوندم. چیزی متوجه نشدم.(از #C چیزی بلد نیستم) میشه نوع تعریف Type و همچنین دستور open در visual basic.net رو بفرمایید؟ saalek110 26 بهمن 1386, 15:52 شاید این کتاب کمک کنه. Visual Basic NET The Complete Reference 3 مگا. the_king 26 بهمن 1386, 18:05فرض کنید که این کد را در ویژوال بیسیک نوشته ایم : Private Type MyDataType A As Long B As Single C As Byte End Type Private Sub Form_Load() Dim Path As String, MyRecord As MyDataType Path = "C:FolderFile.dat" Open Path For Random As #1 Len = Len(MyRecord) Put #1, 1, MyRecord Close #1 End Sub این کد، یک فایل را برای دسترسی تصادفی با رکوردهایی که از نوع MyDataType هستند باز می کند و یک رکورد را در آن می نویسد. حالا اگه به ویژوال بیسیک دات نت 2005 تبدیلش کنیم میشه : Private Structure MyDataType Dim A As Integer Dim B As Single Dim C As Byte End Structure Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load Dim Path As String Dim MyRecord As MyDataType Path = "C:FolderFile.dat" FileOpen(1, Path, OpenMode.Random, , , Len(MyRecord)) FilePut(1, MyRecord, 1) FileClose(1) End Sub تغییرات کد مشخصه، ساختار MyDataType را بجای Type با Structure ایجاد می کنیم. فایل به جای Open با FileOpen باز میشه. برای نوشتن در فایل بجای Put از FilePut استفاده می کنیم. (FileGet هم معادل جدید Get است) بستن فایل هم بجای Close با FileClose انجام میشه. pilevar 26 بهمن 1386, 21:48the_king جان ممنون تو vb.net چطوری میشه رشته با طول ثابت تعریف کرد؟ تو vb 6 اینجوری بود: Dim king as string*10 توی اینجا که اینو مینوسم ارور میده. چی کار باید بکنم؟ the_king 26 بهمن 1386, 22:01اینطوری متغیر با طول ثابت را تعریف می کنند (البته مایکروسافت توصیه کرده که بی خیال مجموعه VB 6 بشید) : Dim king As New VB 6.FixedLengthString(10) pilevar 26 بهمن 1386, 22:10این دستور توی تعریف در Structure خطا میگیره. new داشته باشه عدد آخر رو گیر نمیده ولی خود new رو خطا میده اونو حذف کنیم عدد آخر رو گیر میده. من باید chakar kenam؟ the_king 26 بهمن 1386, 22:39Option Strict Off Option Explicit On Friend Class Form1 Inherits System.Windows.Forms.Form Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load Dim S As New VB 6.FixedLengthString(40) End Sub End Class این عین کدی است که من نوشته ام و بدون خطا اجرا میشه. کد کامل پروژه را ضمیمه این پست می کنم.
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 3365]