ش | ی | د | س | چ | پ | ج |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Writes data from a variable to a disk file.
نوشتن داده از یک متغیر یه یک فایل
نوشتاری عبارت Put :
Put [ # ] filenumber, [ recnumber ], varname
طبق نوشتار بالا این عبارت سه قسمت دارد که شماره فایل ( 1 تا 255 ) و نام متغیر ضروری هستند و فقط شماره رکورد Optional یا می تواند خالی رها شود.
دیتا نوشته شده با Put معمولا با Get خوانده می شود
رکورد یا بایت اول در یک فایل در موقعیت 1 ، رکورد یا بایت دوم در پوزیشن 2 و .... است . اگر recnumber را نادیده بگیرید( omit ) ، رکورد یا بایت بعدی بعد از آخرین عبارت یا دستور Get یا Put ، یا با آخرین تابع Seek اشاره شده ، نوشته می شود. باید در جداکننده کاما قرار گیرند مثال :
Put #1,,FileBuffer
برای فایل هایی که در حالت تصادفی یا Random Mode باز ( Open ) می شوند قوائد زیر اعمال می گردد :
اگر طول دیتای در حال نوشتن کمتر از طول مشخص شده در عبارت Len دستور Open باشد ، Put رکوردهای بعدی را روی مرزهای طول رکورد می نویسد فضای بین پایان رکورد و ابتدای رکورد بعدی با محتویات موجود در بافر پر می شود. از آنجاییکه مقدار data padding را نمی توان با قطعیت پیدا کرد ، بطور کلی ایده خوبی است که طول رکورد با طول داده های نوشته شده مطابقت داشته باشد.اگر طول داده های نوشته شده بیشتر ازطول مشخص شده در عبارت Len دستور Open باشد ، خطائی رخ می دهد. اگر متغیری که نوشته می شود یک رشته بت طول متغیر باشد ، Put یک توصیفگر 2 بایتی می نویسد که شامل طول رشته و سپس متغیر است . طول رکورد مشخص شده توسط Len در دستور Open باید حداقل 2 بایت بیشتر از طول واقعی رشته باشد.... هر کاراکتر یک بایت است ( شامل ۷ یا ۸ بیت ).
اگرمتغیری ( Variable ) که نوشته می شود یک Variant از نوع عددی باشد ( وقتی بعنوان واریانت مشخص می کنید تمام دیتا تایپ ها راشامل میشود حتی یک Variant نال هم می تواند باشد ولی آبجکت خیر ) Put دو بایت می نویسد ( هرکاراکتر یک بایت ) که VarType را مشخص میکند و سپس متغیر را می نویسد. بعنوان مثال هنگام نوشتن یک Variant از VarType 3 دستور Put شش بایت می نویسد : دو بایت که با آن متغیر شناسایی می شود و چهار بایت حاوی داده ( Long ) . طول رکورد مشخص شده توسط Len دستور Open باید حداقل دو بایت بیشتر از تعداد واقعی بایت های مورد نیاز برای ذخیره متغیر باشد.
اگر متغیری که نوشته می شود یک Variant از VarType 8 یا String باشد ، Put دو بایت می نویسد که VarType را مشخص میکند ، دو بایت که طول رشته را مشخص میکند و سپس دیتا رشته ای را می نویسد. طول رکورد مشخص شده در Len دستور Open باید حداقل چهار بایت بیشتر از طول واقعی رشته باشد. ( VarType یا Variable Type که یک تابع است برای فهمیدن نوع داده متغیر )
برای فایل های باز شده در حالت باینری مثل اتصال به دستگاه از طریق USB ( باز کردن پورت مثل COM1 تا COMn) ، تمام قوائد Random اعمال می شود جز :
بند Len در دستور یا عبارت Open هیچ تاثیری ندارد.Put تمام متغیرها را بطور پیوسته روی دیسک می نویسد بدون Padding بین رکوردها. برای هر آرایه ای غیر از آرایه در یک نوع user-defined ( توسط کاربر مشخص شده ) Put فقط دیتا را می نویسد . هیچ توصیفی نوشته نمی شود. Put رشته هایی با طول-متغیر که جزئی از انواع user-defined نیست را بدون 2 بایت طول توصیفگر می نویسد. تعداد بایت های نوشته شده برابر تعداد کاراکترها در رشته است . برای مثال عبارتهای زیر 10 بایت به فایل شماره یک می نویسد.
VarString$ = String$(10," ")
Put #1,,VarString$
می توان از دستورات AT COMMAND در PUT برای ارسال به PORT استفاده کرد
Get [ # ] filenumber, [ recnumber ], varname
Reads data from an open disk file into a variable.
varlist | Required. Comma-delimited list of variables that are assigned values read from the file—can't be an array or object variable. However, variables that describe an element of an array or user-defined type may be used. |