قائمة طعام
مجاني
التسجيل
الصفحة الرئيسية  /  مشاكل/ Vb6 أمثلة رمز تشغيل قائمة نظام الملفات. برمجة FSO

أمثلة رمز تشغيل قائمة نظام ملف Vb6. برمجة FSO

يجب على كل برنامج حفظ البيانات على القرص وقراءتها من القرص. يعد هذا ضروريًا ، على سبيل المثال ، لحفظ إعدادات البرنامج ، فمن غير المرجح أن يعجب المستخدم بالبرنامج ، والذي سيتعين تهيئته مرة أخرى في المرة القادمة.

ستركز هذه المقالة على العمل مع الملفات النصية باستخدام Visual Basic.

واصف الملف

للعمل مع الملفات نظام التشغيليستخدم قنوات الإدخال / الإخراج ، أي كل فتح ملفله رقمه الخاص.

Visual Basic له وظيفة ملف مجاني، والذي يعرض رقم القناة المجانية التي يمكن استخدامها للعمل مع الملف. إذا لم تكن هناك قنوات مجانية ، فسيحدث خطأ.

ملف مجاني [(RangeNumber) ]

RangeNumber- معلمة اختيارية تسمح لك بتحديد نطاق قيم القنوات المجانية ، إذا RangeNumber= 0 (افتراضيًا) ، يتم إرجاع رقم القناة من النطاق 1-255 ، وإذا كان 1 ، فمن النطاق 256-511.

MyFile = ملف مجاني "تم تخصيص قناة مجانية للمتغير MyFile ويمكن الآن استخدامه للعمل مع الملفات

العمل مع الملفات النصية

غالبًا ما تصادف ملفات نصية. تتكون الملفات النصية من مجموعة أحرف ASCII (الكود القياسي الأمريكي لتبادل المعلومات).

قبل البدء في كتابة / قراءة البيانات ، يجب فتح الملف ، ويتم ذلك باستخدام المشغل افتح (اسم الملف) كما ل #رقم الملف، أين:

مدخل- افتح الملف للقراءة ، إذا كان الملف غير موجود ، يحدث خطأ ؛

انتاج |- للكتابة ، إذا كان الملف غير موجود ، فسيتم إنشاؤه ، وإذا كان الملف موجودًا ، فسيتم الكتابة فوقه ؛

ألحق- للإضافة ، إذا كان الملف غير موجود ، فسيتم إنشاؤه ، وإذا كان الملف موجودًا ، فستتم إضافة البيانات إلى نهاية الملف.

يمكن قراءة الملفات النصية بطريقتين: قراءة حرفًا بحرف ، لهذا استخدم الوظيفة مدخل (عدد_الأحرف المراد قراءتها, #رقم الملف) وسطرًا بسطر ، يتم استخدام الوظيفة لهذا الغرض خط المدخلات #رقم الملف, Where_to_read.

خافت MyFile

خافت S كسلسلة "متغير لتخزين بيانات القراءة

MyFile = ملف مجاني

افتح ("C: \ TEST.txt") للإدخال كـ #MyFile

إدخال الخط #MyFile، S "قراءة السطر الأول من ملف TEST.TXT في متغير S.

خافت MyFile "التصريح عن متغير لملف مجاني

خافت أنا كعدد صحيح "متغير للحلقة

خافت tS كسلسلة "متغير لقراءة السطور

خافت S كسلسلة "متغير لتخزين البيانات النهائية

MyFile = ملف مجاني "تخصيص قناة مجانية للعمل مع الملفات

"افتح ملف TEST.TXT للقراءة

بالنسبة إلى i = 1 To 5

إدخال الخط #MyFile، tS "قراءة ملف TEST.TXT سطراً بسطر

إذا كانت i => 5 ثم S = tS "إذا كان السطر الخامس ، فإننا نقوم بتخزينه في المتغير S

بعدها انا

أغلق #MyFile "أغلق الملف

Dim MyFile "قم بتعريف متغير لملف مجاني

Dim S As String "متغير لتخزين بيانات القراءة

MyFile = ملف مجاني "تخصيص قناة مجانية للعمل مع الملفات

افتح ("C: \ TEST.txt") للإدخال كـ #MyFile "افتح ملف TEST.TXT للقراءة

S = الإدخال $ (LOG (1) ، 1) "نقرأ الملف بأكمله في المتغير S

أغلق #MyFile "أغلق الملف

هناك عوامل تشغيل للكتابة إلى ملف مطبعة #رقم الملف, البياناتو اكتب #رقم الملف, البيانات... الفرق الوحيد بين هؤلاء المشغلين هو أن اكتبيكتب البيانات في علامات الاقتباس ، و مطبعةبدون اقتباسات.

سيتم إنشاء التعليمات البرمجية التالية على محرك الأقراص C: \ ملف جديد TEST.TXT وستكتب سلسلتين فيه ، الأولى بدون علامات اقتباس ، والثانية بين علامتي اقتباس:

خافت MyFile "التصريح عن متغير لملف مجاني

MyFile = ملف مجاني "تخصيص قناة مجانية للعمل مع الملفات

افتح ("C: \ TEST.txt") للإخراج كـ #MyFile "افتح ملف TEST.TXT للتسجيل

Print #MyFile، "تمت كتابة هذه السلسلة بواسطة عامل الطباعة ، وهي بدون علامات اقتباس ..."

اكتب #MyFile ، "تمت كتابة هذا السطر بواسطة عبارة الكتابة ، وهي بين علامتي اقتباس ..."

أغلق #MyFile "أغلق الملف

هذا كل شئ. كما فهمت بالفعل ، يتم استخدام عامل التشغيل لإغلاق الملف قريب #رقم الملف، حيث، # رقم الملفليس من الضروري تحديد.

المقالة خام بعض الشيء ، لكنها ستكون مفيدة للمبرمجين المبتدئين. في المرة القادمة سأتحدث عن العمل مع الثنائيات.

شبابيك

الغرض من العمل: تعلم واستخدم مشغلي ملفات VB 6 أنواع مختلفة: ملفات (نصية) متسلسلة ، ملفات وصول عشوائي ، ملفات ثنائية. البحث عن الأداة واستخدامها مشتركحوارلفتح الملفات وحفظها ، حدد الخط واللون ، واستخدم الكائن الحافظةلتخزين أجزاء من النص - باستخدام مثال إنشاء محرر نصوص بسيط.

أسئلة المراقبة:

1. ما هي الطرق التي يمكنك من خلالها فتح ملف نصي؟ كيف يمكنني إغلاق ملف نصي وأي ملف مفتوح آخر؟

2. كيف تتم كتابة البيانات في ملف نصي مفتوح للكتابة؟ ما الفرق بين اكتب العباراتوطباعة؟

3. كيف تتم قراءة البيانات من الصندوق المفتوح للقراءة ملف نصي؟ كيف تختلف عبارات الإدخال وإدخال السطر عن بعضها البعض؟ ما الوظيفة التي يمكن استخدامها لقراءة عدد معين من الأحرف من ملف؟ كيف يمكنني قراءة جميع الأحرف في ملف؟

4. ما هو نوع البيانات المعرفة من قبل المستخدم وكيف يتم استخدام هذا المفهوم عند العمل مع ملفات الوصول العشوائي ( راف)?

5. مع المشغلين من الملف رافتتم قراءة السجلات إلى الملف رافيتم كتابة سجلات جديدة؟

6- لأي غرض يتم تحديد الفهرس واستخدامه عند التعامل مع ملف؟ راف?

7. ما هي ميزات استخدام الملفات الثنائية؟ كيف يفتحون؟ كيف تتم القراءة من ملف ثنائي والكتابة إلى ملف ثنائي؟

8. كيف يمكن تطبيق التحكم مشتركحوارلتحميل محتوى ملف نصي في مربع نص؟ كيف يمكنني حفظ النص المحرر في ملف نصي باستخدام نفس عنصر التحكم؟

9. كيف يمكن تطبيق التحكم مشتركحوارلتنزيل محتوى الملف rtfفي الميدان ثريمربع الكتابة؟ كيفية حفظ النص المحرر في ملف باستخدام نفس عنصر التحكم rtf?

10. كيف يمكن تطبيق التحكم مشتركحوارلتغيير قيم معلمات الخط ولتغيير لون النص في النافذة مربع الكتابة(أو جزء محدد من النص في نافذة ثريمربع الكتابة)?

مثال 7.1. ضع في اعتبارك تطبيقًا يوضح الكتابة في ملف نصي (والقراءة من ملف نصي) "معلومات حول الموظفين" - سطور ، يحتوي كل منها على رقم التعريف والاسم الكامل وتاريخ الميلاد ومكان ميلاد الموظف. تشكل الصفوف جدولًا ، والذي سيحاكي على الشاشة 4 عناصر تحكم في مربع التحرير والسرد (الشكل 7.1) ، مكونًا مصفوفة من كائنات Comb (i) ، والتي لها خاصية Style قيمة 1 - SimpleCombo.

قم بتمييز السطر المراد حذفه "، vbExclamation

مشط (ي) إزالة العنصر الأول

'علبة دخول جديدعلى الطاولة:

فرعي خاص mnuInsert_Click ()

أنا ٪ = مشط (0) .ListIndex

اذا انا< 0 Then

MsgBox "حدد السطر المراد إدراجه قبله" ، vbExclamation

مشط (0) .AddItem InputBox ("أدخل الرقم") ، i

مشط (1)

مشط (2) .AddItem InputBox ("أدخل تاريخ الميلاد.") ، I.

مشط (3) .AddItem InputBox ("أدخل مكان الميلاد.") ، I.

"قم بتغيير الإدخال في الجدول:

فرعي خاص mnuUpdate_Click ()

أنا ٪ = مشط (0) .ListIndex

اذا انا< 0 Then

MsgBox "تمييز الخط المراد تعديله" ، vbExclamation

Comb (0) .List (i) = InputBox ("أدخل الرقم" ، مشط (0) .List (i))

Comb (1) .List (i) = InputBox ("أدخل اسمًا" ، مشط (1). List (i))

Comb (2) .List (i) = InputBox ("أدخل تاريخ ميلادك"، Comb (2) .List (i))

Comb (3) .List (i) = InputBox ("أدخل مكان الميلاد" ، مشط (3). List (i))

مسح الجدول بأكمله:

mnuClear_Click الفرعية الخاصة ()

ملء الجدول بمعلومات من ملف نصي:

mnuLoad_Click الفرعية الخاصة ()

افتح "person. Txt" للإدخال كـ # 1

الإدخال رقم 1 ، numb ، fio ، bdate ، bloc

مشط (0) إضافة خدر

مشط (1)

مشط (2)

مشط (3) كتلة إضافية

"كتابة معلومات الجدول في ملف نصي:

mnuSave_Click الفرعية الخاصة ()

N٪ = مشط (0) .ListCount

افتح "person. Txt" للإخراج كـ # 1

بالنسبة إلى i = 0 إلى N - 1

خدر = Val (مشط (0) قائمة (i))

fio = مشط (1) قائمة (i)

bdate = CDate (Comb (2) .List (i))

كتلة = مشط (3) قائمة (ط)

اكتب رقم 1 ، numb ، fio ، bdate ، bloc

"إغلاق التطبيق:

mnuExit_Click الفرعية الخاصة ()

مثال 7.2 ... ضع في اعتبارك تطبيقًا يوضح استخدام عناصر التحكم مشتركحوارلفتح ملف وحفظه ، وتحديد الخط واللون ، وتحرير النص.

تنسيق الملف رسالة قصيرةسيتم تحميله في حقل النص (الحقل الأيسر في الشكل 7.2) ، وملف التنسيق RTF- في الميدان ثريمربع الكتابة(الهامش الأيمن في الشكل 7.2).

موضوع

فصل

موضوع

ملكية

موضوع

قيمة العقار

"لوحات عامة

حوار "

فتح / حفظ باسم علامة التبويب

علامة تبويب الخط

علامة تبويب اللون

لا يُظهر الجدول خصائص أوامر القائمة الخط, اللونو يحرر... يوجد أدناه رمز الإجراءات أيضًا لأوامر القائمة فقط ملف (افتح, يحفظو يحفظكما). كتابة التعليمات البرمجية لأوامر القائمة الأخرى هو موضوع المهمة الثانية لهذا العمل.

فرعي خاص mnuOpen_Click ()

CommonDialog1.ShowOpen

F $ = CommonDialog1.FileName

إذا كان اليمين (F ، 3) = "rtf" ثم

RichTextBox1.LoadFile F

ElseIf Right (F، 3) = "txt" ثم

افتح F للإدخال كـ # 1

S $ = المدخلات (N، 1)

mnuSave_Click الفرعية الخاصة ()

CommonDialog1.ShowSave

F $ = CommonDialog1.FileName

mnuSaveAs_Click الفرعية الخاصة ()

CommonDialog1.ShowSave

F $ = CommonDialog1.FileName

RichTextBox1.SaveFile F ، rtfRTF

في سياق هذا العمل ، يجب على الطالب إكمال مهمتين.

التمرين 1. في عملية إكمال المهمة ، يتقن الطلاب إمكانيات العمل مع ملفات الوصول العشوائي ( سلاح الجو الملكي البريطاني -عشوائيالتمكن منملف).

بالنسبة لجدول قاعدة بيانات معين ، قم بتعريف نوع بيانات مخصص ، وقم بتعريف متغير من هذا النوع (درس تعليمي ، ص 108 - 112) ، وقم ببناء وتصحيح الإجراءات التي تستخدم متغير نوع مخصص.

على وجه الخصوص ، يتم تنفيذ إجراءات أوامر القائمة اكتب في الملفسلاح الجو الملكي البريطانيو اقرأ من الملفسلاح الجو الملكي البريطاني... كما في المثال 7.1 ، يتم استخدام مجموعة من الكائنات لتحرير البيانات. كومبوعلبةوالقائمة يحررمع خمسة أوامر فرعية: أضف ملاحظة, حذف المدخلات, أدخل سجل, تحرير دخول, مسح الجدول.

الخيار 1.

قم بتعريف نوع بيانات مخصص لجدول "السيارة" (الجدول 7.1) لقاعدة بيانات "الخدمة التلقائية".

السيارات

السيارات

الأعطال

يوضح الحد الأدنى من الجدول 7.1 أنواع الحقول.

الخيار 2.

قم بتعريف نوع بيانات مخصص لجدول "أخطاء" (الجدول 7.2) لقاعدة بيانات "Autoservice".

الأعطال

اسم

الأعطال

سعر

يحتوي الحد الأدنى للجدول 7.2 على أنواع الحقول.

باستخدام التطبيق المثال 7.1 كعينة ، قم بتنظيم إدخال البيانات وتحريرها للجدول المقدم ، وكتابة هذه البيانات في ملف وصول عشوائي ، وقراءة البيانات من ملف الوصول العشوائي. كما في المثال 7.1 ، يتم تنفيذ هذه الإجراءات كعملية لأوامر القائمة الموضحة في الشكل. 7.1

المهمة 2. عندما يكمل الطلاب المهمة ، يضيف الطلاب ميزات جديدة إلى التطبيق في المثال 2 ، مما يجعل من الممكن عرض التطبيق كمحرر نص بسيط.

الخيار 1 مشتركحوارتنفيذ أوامر القائمة الخطو اللون(مع القائمة الفرعية لون الشخصيةو لون الخلفية). بمساعدة هذه الأوامر ، يجب توفير اختيار الخط (اسمه ونمطه وحجمه) لجزء النص المحدد في النافذة ثريمربع الكتابة، وكذلك اختيار لون رموز التحديد واختيار لون خلفية النافذة بأكملها.

دلالة:عند إعداد كائن مشتركحوارلتحديد خط باستخدام الخاصية (مخصص) ، تأكد من تعيين قيمة الخاصية Flags إلى 1 أو 2 أو 3 (راجع البرنامج التعليمي ، ص 183).

الخيار 2... باستخدام عنصر التحكم مشتركحوارتنفيذ أوامر القائمة يحرر(submenu ينسخ, يقطعو معجون) ، والغرض منها نسخأو حذفإلى حافظة جزء النص المحدد ، و إدراجإلى المكان المميز في نص محتويات الحافظة.

دلالة:إلى الحافظة (كائن الحافظة) يمكنك استخدام طريقتي SetText و GetText:

الحافظة. SetText RichTextBox1.SelText

RichTextBox1.SelText = الحافظة. الحصول على النص

8. حفظ وقراءة المعلومات

حتى لا يتم فقدان جميع البيانات التي تم إنشاؤها في الذاكرة بعد انتهاء البرنامج ، يجب أن تكون قادرًا على حفظ المعلومات على القرص الثابت الخاص بك. خلاف ذلك ، ستختفي جميع المعلومات دون أن يترك أثرا. يمكنك حفظ البيانات وقراءتها بطرق مختلفة. للعمل مع معلومات ذات أحجام وتنسيقات مختلفة ، يمكنك استخدام الملفات الثنائية والملفات النصية. يمكنك استخدام سجل Windows لتخزين كميات صغيرة من المعلومات. وبالنسبة للمهام الأكثر تعقيدًا ، من المنطقي استخدام قواعد البيانات.

8.1 فتح الملفات باستخدام عامل التشغيل "افتح "

الملف هو منطقة محددة لأي جهاز تخزين خارجي. البيانات "حية" في ذاكرة الكمبيوتر والملفات - على القرص الصلب. البرنامج لا يعمل مع الملفات بشكل مباشر ولكنه يستخدم نظام التشغيل كوسيط.

يوجد نوعان من أسماء الملفات: كامل - بالإضافة إلى اسم الملف ، يشار أيضًا إلى موقع الملف على الوسائط الخارجية (على سبيل المثال ، "C: \ Program Files \ Microsoft Visual Studio \ VB98 \ VB 6.EXE" ) وقصير - اسم الملف فقط (VB 6.EXE). إذا لم يتم تحديد موقع الملف ، فسيتم البحث عنه في المجلد الحالي ، افتراضيًا - المجلد الذي يوجد به التطبيق الخاص بك. يتكون اسم الملف المباشر من جزأين: اسم الملف الفريد الفعلي وامتداده. يعرّف الاسم نفسه الملف ، ويشير الامتداد عادةً إلى تنسيق الملف أو البرنامج الذي تم إنشاؤه بواسطته.

قبل البدء في العمل بالملف ، يجب أن تسأل نظام التشغيل المؤشر (واصف) ملف... للحصول عليه ، استخدم وظيفة "FreeFile". ثم ، باستخدام العبارة "فتح" ، يرتبط هذا المؤشر بالملف المطلوب. فقط بعد ذلك سيتمكن البرنامج من العمل معها. تكون صيغة فتح الملف كما يلي:

احصل على مؤشر ملف مجاني وقم بتعيينه لمتغير

FileHandle٪ = ملف مجاني

'افتح الملف

فتح مسار الملف _

كـ [#] FileHandle٪

... (العمل مع ملف)

أغلق [#] FileHandle

· FileHandle ٪ - متغير يخزن مؤشر الملف ؛

· FreeFile - اسم الوظيفة التي تُرجع مؤشر الملف ؛

· فتح - اسم المشغل ؛

· FilePath هو الاسم الكامل للملف ؛

· بالنسبة إلى - كلمة أساسية متبوعة بوصف لوضع الوصول إلى الملف ؛

· الوضع - وضع الوصول إلى الملف (انظر الجدول 15) ؛

الجدول 15

أوضاع الوصول إلى الملفات

أوضاع الوصول

وصف

ألحق

إلحاق البيانات بنهاية ملف نصي موجود. إذا كان الملف غير موجود ، فسيتم إنشاؤه

الثنائية

فتح ملف في الوضع الثنائي ، أي كمجموعة بايت. إذا كان الملف غير موجود ولكن سيتم إنشاؤه

مدخل

فتح ملف للقراءة بتنسيق نصي

انتاج |

فتح ملف لكتابة ملف نصي. في هذه الحالة ، سيتم حذف جميع المعلومات القديمة. إذا كان الملف غير موجود ولكن سيتم إنشاؤه

عشوائي

فتح ملف في وضع الوصول العشوائي. يستخدم هذا الوضع للعمل مع السجلات البسيطة. إذا كان الملف غير موجود ولكن سيتم إنشاؤه

· الوصول كلمة أساسية اختيارية يتبعها وصف لنوع الوصول ؛

· نوع الوصول - وصف نوع الوصول:

· قراءة القراءة؛

· اكتب - اكتب ؛

· اقرأ اكتب - اقرأ واكتب.

ملحوظة

بالنسبة لأوضاع الوصول إلحاق وإخراج ، يتوفر فقط نوع الوصول للكتابة ، ولإدخال ، للقراءة فقط ، وللثنائي والعشوائي ، تتوفر جميع أنواع الوصول الثلاثة.

· LockType هي معلمة اختيارية تحدد ما إذا كان بإمكان البرامج الأخرى استخدام هذا الملف أثناء عمل البرنامج عليه. عادة ما يكون مرتبطًا بالشبكات (انظر الجدول 16).

الجدول 16

القيم الممكنة لمعلمة LockType

المعنى

وصف

مشترك

سيتمكن جميع المستخدمين الذين لديهم الحقوق اللازمة من الوصول الكامل إلى الملف.

قراءة القفل

تم حظر قراءة الملف ، لكن الكتابة مسموح بها

قفل الكتابة

الكتابة إلى الملف محظورة ، لكن القراءة مسموح بها

قفل القراءة والكتابة

يحظر القراءة والكتابة على حد سواء.

· كما هي الكلمة الأساسية متبوعة بمؤشر الملف.

· # هو حرف يشير إلى أن القيمة التي تليها هي مؤشر ملف.

· Len هي كلمة أساسية اختيارية متبوعة بمعامل يحدد طول السجل.

· CharInBuffer٪ - طول السجل للملف المفتوح في وضع الوصول العشوائي (عشوائي).

· إغلاق هو البيان الذي يغلق الملف المرتبط بالمقبض المحدد.

من المهم إغلاق الملف بعد الانتهاء من العمل به. تحرر عبارة "إغلاق" مؤشر الملف ومنطقة الذاكرة المرتبطة به.

عند العمل مع ملف ، أي عند القراءة منه ، من المهم جدًا تحديد نهاية الملف. يمكن تحديده باستخدام وظيفة EOF (نهاية الملف):

EOF (FileHandle)

· EOF - اسم الوظيفة ؛

· FileHandle هو مقبض الملف لتحديد نهاية.

ترجع الدالة True إذا تم الوصول إلى نهاية الملف ، وإلا فإنها ترجع False.

8.2 القراءة والكتابة في ملف نصي

يتم فتح الملف النصي في وضع الوصول "الإدخال" أو "الإخراج" أو "الإلحاق" (انظر الجدول 15). خصوصية هذا الوضع هو أنه يعمل فقط مع أحرف محددة قابلة للطباعة. لا جدوى من العمل مع رموز الخدمة.

لكتابة المعلومات ، استخدم عاملين "طباعة" و "كتابة" ، يكون تركيبهما كما يلي:

Print # FileHandle٪، VarBuffer [؛]

اكتب # FileHandle٪، VarBuffer [؛]

· طباعة / كتابة - كلمات عامل التشغيل.

· # FileHandle٪ - مؤشر للملف الذي سيتم وضع المعلومات فيه.

· VarBuffer هي القيمة التي ستتم كتابتها في الملف.

· ؛ - تعني المعلمة الاختيارية المستخدمة عند الكتابة إلى ملف نصي أن القيمة التالية ستُكتب على نفس السطر ، وإذا كانت غير موجودة ، فستُكتب إلى السطر التالي.

لقراءة المعلومات من ملف ، استخدم عاملي "الإدخال" و "إدخال الخط". بناء الجملة مشابه لبعضها البعض:

إدخال الخط # FileHandle٪ ، VarBuffer

الإدخال # FileHandle٪ ، VarBuffer

· إدخال / إدخال الخط - كلمات المشغل.

· # FileHandle٪ - مؤشر الملف الذي سيتم قراءة المعلومات منه.

· VarBuffer هو متغير سيتم قراءة المعلومات فيه.

الفرق بين عاملي "إدخال الخط" و "الإدخال" هو أن الأول مخصص فقط للملفات النصية ، والثاني - لأي. في حالة الملفات النصية ، يقرأ "الإدخال" البيانات الموجودة في سطر واحد حتى الفاصل الأول (للبيانات النصية ، يكون الفاصل "،" (فاصلة) ، وبالنسبة للبيانات الرقمية ، "" (مسافة) و "،" ) ، و "إدخال الخط" لقراءة السطر بالكامل مرة واحدة ، مع تجاهل أي محددات.

ملحوظة

لا يحتوي Visual Basic على عناصر تحكم تنسيق للملفات التي تم إنشاؤها مسبقًا. لذلك ، يمكن قراءة الحرف "2" على أنه الرقم المقابل والعكس صحيح.

8.3 العمل مع الملفات الثنائية

يتم فتح الملفات بتنسيق تنسيق ثنائيبواسطة عامل التشغيل "فتح" في الوضع "الثنائي". الميزة المميزة لهذا الوضع هي أن العمل مع ملف يركز بشكل حصري على وحدات بايت محددة. نظرًا لأن Visual Basic يمكن أن يشير مباشرة إلى الموقع المطلوب في الملف ، فإن هذا الوضع يسمى أيضًا - وضع الوصول المباشر... ميزة أخرى لهذا الوضع هي القدرة على كتابة وقراءة المعلومات في وقت واحد في أجزاء مختلفة من الملف دون إعادة فتحه. تتم الكتابة في ملف مفتوح في الوضع الثنائي باستخدام الصيغة التالية:

ضع # FileHandle٪ ،، NameVar

· ضع - اسم المشغل لتسجيل المعلومات.

· RecNumber - رقم بايت الملف الذي سيتم كتابة المعلومات إليه (اختياري).

· NameVar هو متغير سيتم كتابة محتوياته في الملف.

قراءة المعلومات من ملف في الوضع الثنائي تتم باستخدام عامل التشغيل التالي:

احصل على # FileHandle٪ ،، NameVar

· Get - اسم مشغل تسجيل المعلومات.

· FileHandle٪ - مؤشر الملف.

· RecNumber - رقم بايت الملف الذي سيتم قراءة المعلومات منه (اختياري).

· NameVar - اسم المتغير الذي سيتم وضع معلومات القراءة فيه.

نظرًا لأن الوضع الثنائي يركز على بايت من المعلومات ، عند القراءة من ملف ، يجب أن يكون لمتغير المخزن المؤقت نوع محدد بدقة: إما "بايت" ، ثم ستتم قراءة القيمة العددية للبايت ، أو قيمة الحرف الثابت الطول في حرف واحد ، ثم سيتم قراءة البايت كحرف ، ANSI ، يتوافق رمزه مع حجم البايت. يمكن أن يكون هذا الحرف حتى عنصر تحكم ، والذي لا يمكن تحقيقه في حالة الملفات النصية.

ملحوظة

إذا كانت المعلمة "RecNumber" غير موجودة ، فستتم كتابة المعلومات أو قراءتها في البايت التالي من الملف بعد البايت الذي عملوا معه من قبل.

8.4 التلاعب بالرسومات

يمكن أيضًا حفظ الصور الرسومية واسترجاعها من الملفات. لاسترداد رمز من صورة نقطية أو ملف وتعيينه إلى خاصية صورة لعناصر تحكم PictureBox والصورة ، استخدم الدالة LoadPicture () بالصيغة التالية:

ImageCtrl.Picture = LoadPicture (مسار الملف)

· ImageCtrl - اسم عنصر تحكم نافذة الصورة أو عنصر تحكم الصورة أو النموذج ؛

· LoadPicture هو اسم الوظيفة ؛

· FilePath هو الاسم المؤهل للملف.

SavePicture ImageCtrl .Picture ، و FilePath

· SavePicture - اسم المشغل ؛

· ImageCtrl - اسم عنصر تحكم نافذة الصورة أو عنصر تحكم الصورة أو النموذج ؛

· صورة - اسم خاصية الكائن المسؤولة عن الصورة ؛

· FilePath هو اسم الملف المؤهل بالكامل والموقع الموجود على القرص.

8.5 العمل مع البيانات في التسجيل

يمكنك استخدام سجل Windows لتخزين أجزاء صغيرة من معلومات تنسيق الأحرف. هناك أربعة إجراءات في Visual Basic يمكنك استخدامها للوصول إليه. إنها سهلة الاستخدام للغاية ، لكن لها عيبًا رئيسيًا واحدًا: يمكنك فقط الوصول إلى البيانات من مفتاح تسجيل محدد: "MyComputer \ HKEY _CURRENT _USER \ Software \ VB and VBA Program Settings". للوصول إلى أقسام أخرى من التسجيل ، تحتاج إلى استخدام الوظائف الخاصة لـ "Win 32 API".

للحصول على قيمة معلمة من مفتاح Visual Basic في تسجيل Windows ، استخدم الوظيفة التالية:

MyString = GetSetting (VBKeyName، Section، Key [، افتراضي])

· MyString - سلسلة لتخزين القيمة التي تم إرجاعها بواسطة الوظيفة ؛

· GetSetting هو اسم الوظيفة.

· VBKeyName عبارة عن قيمة سلسلة تمثل اسم مفتاح فرعي داخلي VB / VBA.

· المفتاح هو قيمة سلسلة تمثل اسم المعلمة في القسم.

· الافتراضي هو وسيطة اختيارية ، سيتم إرجاع قيمتها في حالة حدوث خطأ (عدم وجود معلمة).

يتم استخدام العبارة التالية لتخزين بعض القيمة في سجل Windows:

SaveSetting VBKeyName ، القسم ، المفتاح ، MyString

· SaveSetting - اسم المشغل.

· MyString هو متغير سلسلة سيتم وضع القيمة التي تم العثور عليها فيها.

للحصول على مصفوفة من السجل تحتوي على جميع قيم المعلمات من مفتاح فرعي محدد ، استخدم الوظيفة التالية:

MyVariant = SetAllSettings (VBKeyName ، قسم)

· MyVariant عبارة عن صفيف من قيم "Variant" التي تُرجعها الدالة.

· SetAllSettings هو اسم الوظيفة.

· القسم - قيمة سلسلة تمثل قسمًا أو قسمًا فرعيًا لتطبيق معين.

لحذف قسم معلمة بالكامل ، استخدم جملة بالصيغة التالية:

DeleteSetting VBKeyName ، قسم ، مفتاح

· DeleteSetting - اسم المشغل.

أسئلة الاختبار للاختبار الذاتي

  1. كيف يمكن تخزين بعض المعلومات لفترة طويلة؟
  2. ما هو الملف؟
  3. ما هي أسماء الملفات التي تعرفها؟
  4. اكتب بناء الجملة لعبارة "فتح". اشرح الغرض من معلماته.
  5. كيف يمكنك مشاركة عدة تطبيقات على نفس الملف في نفس الوقت؟
  6. كيف يمكن تحديد أن المعلومات الموجودة في الملف قد استنفدت؟
  7. لماذا يوصى بإغلاقه بعد العمل مع ملف؟
  8. كيف ترى الفرق بين وضعي النص والملف الثنائي؟
  9. كيف تتم قراءة البيانات وكتابتها في وضع ملف نصي؟
  10. كيف تتم قراءة البيانات وكتابتها في وضع الملف الثنائي؟
  11. ما الفرق بين عاملي "طباعة" و "كتابة" عند التعامل مع الملفات؟
  12. ما الفرق بين عاملي "الإدخال" و "إدخال الخط" عند التعامل مع الملفات؟
  13. كيف يمكنك العمل مع البيانات الرسومية؟
  14. ما هي المبادئ الأساسية للعمل مع تسجيل Windows؟