المجلس اليمني ... يمن واحد وآراء متعددة
::  قوانين المنتدى  |   طلب رقم التنشيط   |   تنشيط العضوية  |  استعادة كلمة المرور
العودة   المجلس اليمني :: العلمية والتقنية :: الكمبيـوتر والانتـرنت :: المواقع ولغات البرمجة والشبكات
|
 
أدوات الموضوع
قديم 22-05-2004, 08:45 PM   مشاركة رقم : 1
عضو فعّال
 
لا توجد صورة

 
تاريخ التسجيل: 08-12-2003
المشاركات: 527

افتراضي التعامل مع الملفات الثنائية Vb

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

بعيداً عن المقدمات الطويلة و المنمقة التي لا أجيدها دعوني أدخل في صلب الموضوع ونبدأ من حيث وقف الأخ العزيز الحمادي ...


لنرى هذه التعليمة :

كود:
Open "FileName" For Binary as #FileNumber


Close #FileNumber
فللتعامل مع الملفات ( تحرير أو إنشاء ) نستخدم هذه التعليمات لفتحها كملفات ثنائية طبعاً

كل ما علينا هو استبدال
"FileName"
باسم الملف و المسار و كذلك الامتداد لهذا الملف , و بالنسبة لـ"FileNumber"
فهو رقم نستخدمه فيما بعد للإشارة لهذا الملف , ويمكن أن نستعيض عنه بدالة سنأتي على ذكرها فيما بعد

التعليمة Close #FileNumber

تستخدم لإغلاق الملف , وبين الفتح و الإغلاق نتعامل مع الملف إما بالكتابة أو بالقرائة

في حال أردنا القرائة من هذا الملف نستخدم النعليمة Get
و في حالة الكتابة لهذا الملف نستخدم التعليمة Put

سهل أليس كذلك ...

=================================

حسناً دعونا نأخذ مثالاً على ذلك :

وليكون المثال عملياً دعونا نفكر بشيء مجدي نستخدمه فيه , ما رأيكم ببرنامج مراقبة يظهر لك ما يجري على كمبيوتر آخر .

حسناً سنبدأ بهذا البرنامج خطوة خطوة ,,,

أول شيء نريد أن نتعلم كيف نفتح ملف صورة و نأخذ البيانات منه و نضعها في ملف آخر عندما نفتح هذا الملف نجد نفس تلك الصورة ( كل هذا في نفس الجهاز )

لنفترض أن اسم الصورة هو Pic1.jpg و هي مخزونة في القرص C:

سنكتب ما يلي:

أولاً في قسم التصريحات سنكتب

كود:
Dim i as long
Dim CR as Byte
وفي حدث تحميل الفورم مثلاً سنضع ما يلي

كود:
i = 1

open "c:\pic1.jpg" for binary as #1 'هنا قمنا بفتح الملف و إعطائه رقم 1

do while not EOF(1)'وهنا قمنا بعمل دوران لقراءة سجلات الملف سجل سجل 
get #1,i,CR  'ثم نقرأ البيانات و نضعها بايتا بايتاً في المغير CR
debug.print CR & "  " 'وأخيراً نطبع البيانات في النافذة ImediateWindow
i = i + 1 'يتزايد العداد بنسبة واحد في كل مرة

close #1 'نغلق الملف في النهاية
حسناً جربوا هذا الكود وسنواصل في المرة القادمة بقية الموضوع فإلى اللقاء

  رد مع اقتباس
قديم 22-05-2004, 09:08 PM   مشاركة رقم : 2
عضو فعّال
 
لا توجد صورة

 
تاريخ التسجيل: 08-12-2003
المشاركات: 527

افتراضي

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

  رد مع اقتباس
قديم 23-05-2004, 06:13 AM   مشاركة رقم : 3
عضو متميّز
 
لا توجد صورة

 
تاريخ التسجيل: 15-01-2004
المشاركات: 1,526

افتراضي

نجيب المجيدي
مشكور على الموضوع

  رد مع اقتباس
قديم 23-05-2004, 03:58 PM   مشاركة رقم : 4
عضو فعّال
 
لا توجد صورة

 
تاريخ التسجيل: 21-06-2003
المشاركات: 619

افتراضي أستاذ نجيب المجيدي...أحسنت،،،

أحسنت أستاذ نجيب المجيدي... إستمر وإن شاء الله سوف أشاركك متى ما وجدت فرصه لذلك....لك محبتي

  رد مع اقتباس
قديم 23-05-2004, 06:48 PM   مشاركة رقم : 5
عضو فعّال
 
لا توجد صورة

 
تاريخ التسجيل: 08-12-2003
المشاركات: 527

افتراضي

حسناً دعوني أستدرك خطأً كنت وقعت فيه

في آخر كود في المشاركة السابقة يجب وضع التعليمة
loop

قبل إغلاق الملف close #1

  رد مع اقتباس
قديم 24-05-2004, 05:44 AM   مشاركة رقم : 6
مشرف سابق

الصورة الرمزية العمراوي

 
تاريخ التسجيل: 24-11-2002
المشاركات: 7,559

افتراضي

موضوع جميل يا نجيب ...


وواصل دائما ...

  رد مع اقتباس
قديم 24-05-2004, 01:12 PM   مشاركة رقم : 7
عضو فعّال
 
لا توجد صورة

 
تاريخ التسجيل: 08-12-2003
المشاركات: 527

افتراضي

أشكرك أخي مشرف القسم

(اشتقنا لطلاتك يا محقق ;)

  رد مع اقتباس
قديم 29-05-2004, 01:51 PM   مشاركة رقم : 8
قلم فضي
 
لا توجد صورة

 
تاريخ التسجيل: 21-07-2003
المشاركات: 2,622

افتراضي

مشكور استاذنا نجيب
موضوع رائع
استمر
لي سؤال مانوع الملفات التي قمت بشرحها
اعتقد ان هناك انواع مختلفه من الملفات
ايضاًClose #FileNumber
هل هناك شرط للرقم
ام اننا نحطي اي رقم يخطر في بالنا
تحية لك اخي وحبيب قلبي نجيب

  رد مع اقتباس
قديم 29-05-2004, 04:35 PM   مشاركة رقم : 9
عضو فعّال
 
لا توجد صورة

 
تاريخ التسجيل: 08-12-2003
المشاركات: 527

افتراضي

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

أخي العزيز ابن الأصول , في البداية أرجو أن تعذرني أنت و جميع المتابعين للموضوع على تأخري ولكن هذا راجع لوجودي حالياً في العاصمة صنعاء لغرض حضور اجتماع مجموعة php و عمل آخر وإن شاء الله أكمل معكم عند عودتي للغالية عدن ...

بالنسبة لسؤالك أخي فلم أفهم هل تقصد أنواع الملفات في وندوز أم طرق فتح الملفات في vb بالنسبة للأولى فهي معروفة في اعتقادي (ملفات الصور بكافة امتداداتها , ملفات الصوت , ملفات الفيديو , ملفات النصوص , ملفات النظام و الكثير الكثير و نستطيع فتحها جميعاً في الفيجوال بيسك باستخدام دوال التعامل مع الملفات )
أما بالنسبة لطرق فتح الملفات في الفجوال بيسك فهي ثلاث طرق (الملفات التتابعية و التي يتم قرائة الملف فيها سطراً سطراً و الملفات العشوائية حيث نحدد موقع القرائة عن طريق رقم السجل أو الصف , و الملفات الثنائية و التي هي موضوعنا الآن )

الخ الحمادي قام فيما أعتقد بشرح الملفات التتابعية ويمكنك الرجوع لموضوعه على هذا الرابط :

http://al-yemen.org/vb/showthread.php?s=&threadid=77591

و هذا أيضاً وهو موضوع جميل فعلاً وبشرح واضح يشكر عليه:

http://al-yemen.org/vb/showthread.php?s=&threadid=77588


في هذا الموضوع قمنا بفتح ملف صورة ولكننا قرأنا هذا الملف أي البيانات الموجودة فيه ولذا لاتفكر بأننا سنرى الصورة إذ أن هذا يوجب وجود أداة لعرض الصورة وتعليمات معينة سنأتي على ذكرها لاحقاً




و بالنسبة للسؤال الثاني حول رقم الملف ...
نرى أن VB تطلب هذا لكي يسهل التعامل مع الملف فيما بعد فيكفي أن نكتب
AS #1

ثم نتعامل مع هذا الرقم ليشير إلى الملف المحدد فنستطيع كتابة مايلي :

GET #1,I,CR

أي إقرأ السطر رقم I وضع البيانات التي فيه داخل المتغير CR من الملف رقم 1
طبعاً نستطيع أن نختار أي رقم صحيح ليمثل ملف ما بشرط ألا نكون قد استخدمنا هذا الرقم لملف آخر لا يزال مفتوحاً ...

و لتسهيل المهمة (حيث يمكن أن ننسى رقم الملف هذا إذا كلن الكود طويلاً على سبيل المثال ) فقد قام VB بتزويدنا بدالة تدعى FreeFile تقوم هذه الدالة بوضع رقم فريد للملف وسأوضح هذا لاحقاً إن شاء الله

تحياتي

و السلام عليكم ورحمة الله وبركاته

  رد مع اقتباس
قديم 30-05-2004, 04:02 PM   مشاركة رقم : 10
قلم فضي
 
لا توجد صورة

 
تاريخ التسجيل: 21-07-2003
المشاركات: 2,622

افتراضي

رائع
اخي نجيب
اتضحت لي الصورة
مشكور
وربنا يردك الينا بالسلامة
سلااااااامي لاصحاب صنعاء

  رد مع اقتباس
إضافة رد

أدوات الموضوع

الانتقال السريع :::

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.