واضح آرشیو وب فارسی:سایت ریسک: لطفا به اين سوال پاسخ دهيد fmir 10 خرداد 1389, 23:48سلام در qbasic دستوري به اسم data داريم . آيا در visual basic هم دستور data داريم ؟ اگر داريم نحوه كار با آن را برام بنويسين. خيلي ممنون مي شم . saalek110 11 خرداد 1389, 11:44کد زیر qbasic است: از لینک () SCREEN 7 FOR y = 1 TO 10 FOR x = 1 TO 10 READ z PSET (x, y), z NEXT NEXT DATA 04, 04, 04, 04, 04, 04, 04, 04, 04, 04 DATA 04, 00, 00, 00, 00, 00, 00, 00, 00, 04 DATA 04, 00, 00, 00, 00, 00, 00, 00, 00, 04 DATA 04, 00, 00, 00, 00, 00, 00, 00, 00, 04 DATA 04, 00, 00, 00, 00, 00, 00, 00, 00, 04 DATA 04, 00, 00, 00, 00, 00, 00, 00, 00, 04 DATA 04, 00, 00, 00, 00, 00, 00, 00, 00, 04 DATA 04, 00, 00, 00, 00, 00, 00, 00, 00, 04 DATA 04, 00, 00, 00, 00, 00, 00, 00, 00, 04 DATA 04, 04, 04, 04, 04, 04, 04, 04, 04, 04 در ویژوال بیسیک چنین چیزی من ندیدم. شاید هم داشته باشه ولی من فعلا یادم نمی آید. می توانی یک آرایه درست کنی و همه دیتاها را در آرایه بریزی و با حلقه می توانی آرایه را بچرخانی. the_king 12 خرداد 1389, 00:39سلام در qbasic دستوري به اسم data داريم . آيا در visual basic هم دستور data داريم ؟ اگر داريم نحوه كار با آن را برام بنويسين. خيلي ممنون مي شم . Data و Read ای که در QBasic بود، یادگاری از نسل اول بیسیک است که هنوز سیستم متمرکزی برای نگهداری داده ها وجود نداشت. طبیعتا آن زمان داده ها هم آنقدر زیاد و حجیم نبودند و امکان نگهداری شان در کنار کد برنامه مشکلی ایجاد نمی کرد. در ویژوال بیسیک این دو دستور و این شیوه نگهداری داده در کنار کد برنامه حذف گردید. عبارت Read دیگر کاربردی نداشت و Data هم به منظور دیگری برای اشاره کردن به کلاسی که قابلیت اتصال به بانک اطلاعاتی را دارد بکار می رود. شما برای شبیه سازی این دو دستور منسوخ می توانید از دو روتین و تابع زیر استفاده کنید : Private Sub QRead(ParamArray d() As Variant) Dim Index As Long For Index = 0 To UBound(d) d(Index) = QData(vbNull) Next End Sub Private Function QData(ParamArray d() As Variant) As Variant Static m() As Variant Static Count As Long, Pos As Long Dim Index As Long If UBound(d) = 0 Then If d(0) = vbNull Then If Pos < Count Then QData = m(Pos) Pos = Pos + 1 End If Exit Function End If End If ReDim Preserve m(0 To Count + UBound(d)) For Index = 0 To UBound(d) m(Count + Index) = d(Index) Next Count = Count + UBound(d) + 1 End Function یعنی بجای Data از QData و بجای Read از QRead استفاده کنید. تنها محدودیت آن این است که بایستی دستورات QData اول برنامه (قبل از QRead ها) باشند و نه آخر برنامه. به عنوان مثال کد زیر نام سه دانش آموز و نمره سه درس آنها را ثبت کرده و سپس معدل آن سه دانش آموز را محاسبه کرده و اعلام می کند : Private Sub Form_Load() QData "Ali", 17, 14, 16.5 QData "Hasan", 17, 15.25, 19.5 QData "Reza", 14.5, 16.5, 20 Dim Index As Long, SName As String, Value(1 To 3) As Double For Index = 1 To 3 QRead SName QRead Value(1), Value(2), Value(3) MsgBox SName & " : " & Round((Value(1) + Value(2) + Value(3)) / 3, 2) Next End End Sub نحوه استفاده خیلی ساده است. هر مقدار عددی، رشته ای و شیء و ... که بعد از دستور QData بنویسید با همان ترتیب در حافظه قرار می گیرند. برای خواندن آنها هم از QRead استفاده خواهید کرد تا با همان ترتیب (نه برعکس) بخواند. مثلا QData 12, 16 دو عدد 12 و 16 را در حافظه قرار می دهد و QRead X, Y عدد 12 را در متغیر X و عدد 16 را در متغیر Y می خواند. دقت کنید که QRead ها می توانند همانند QData ها در سطر های متوالی نوشته شوند، اما اگر داده ای را یکبار خواندید، دیگر مجددا خوانده نخواهد شد. یعنی اگر دستور QRead X, Y را دوبار وارد کنید، صرفا دفعه اول موفق به خواندن داده ها می شود. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 2079]