اكثر المحتويات زيارة
الدوال في الاكسل (4,651 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (3,223 مشاهده)
الدرس الثالث : بعض تطبيقات الدوال في اكسل (2,413 مشاهده)
تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (1,853 مشاهده)
الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (1,698 مشاهده)
شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (1,662 مشاهده)
تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (1,659 مشاهده)
أنواع العلاقات وطريقة الربط بين الجداول. (1,568 مشاهده)
مقدمة عامة حول الاكسل وحيل خاصة بالاكسل (1,373 مشاهده)
الدرس الأول : عمل شريحة في البوربوينت (1,317 مشاهده)
أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (1,315 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس . (1,151 مشاهده)
كيفية حل مشاكل الانترنت اكسبلور Internet Explorer (1,135 مشاهده)
اضافه صوت ونص لخلفيه في باور بوينت (1,096 مشاهده)
درس تعريب المجلة (1,080 مشاهده)
برنامج Windows Movie Maker لتكوين أفلام (1,067 مشاهده)
شرح طريقة التجميع Grouping في برنامج الاكسل (1,060 مشاهده)
التعرف على مكونات الكمبيوتر (1,030 مشاهده)
مقدمة في ربط قواعد البيانات داخل بيئة الـ .NET باستخدام الـ VB.NET (981 مشاهده)
كيف تجعل برنامجك أكثر تألقا وجمالا باستخدام أداة Active Skin (909 مشاهده)
مقدمة عن لغة البيسك (898 مشاهده)
ما هو المات لاب MATLAB؟ (890 مشاهده)
الفيجوال بيسك - مقدمة (865 مشاهده)
دروس في الأوفيس الأكسس - Access0- (831 مشاهده)
نبذه عن الفيجوال بيسك (795 مشاهده)
الجديد
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (490 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (284 مشاهده)
ضبط خيارات اللغة فى الـ Microsoft Word0--- (303 مشاهده)
استخدام لوحة المفاتيح في الـ Word0---- (431 مشاهده)
إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (384 مشاهده)
دمج المراسلات0-- (198 مشاهده)
وضع صورة كخلفية للنص0-- (287 مشاهده)
السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (223 مشاهده)
كتابة الأرقام الكسرية ورموز المعادلات0-- (342 مشاهده)
درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (260 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (736 مشاهده)
دورة الأكسيس : الدرس الرابع : العلاقات0---- (439 مشاهده)
أساسيات في Access0--0 (283 مشاهده)
تصميم تقرير لطباعة البيانات0---- (343 مشاهده)
تصميم نموذج استعراض البيانات‏0--تصميم نموذج استعراض البيانات‏0-- (319 مشاهده)
تصميم نموذج إدخال‎ ‎البيانات0--- (340 مشاهده)
إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (289 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (234 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (1)0- (240 مشاهده)
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (281 مشاهده)
استعلامات SQL في Access - تحديث البيانات الجدولية0-- (249 مشاهده)
الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (144 مشاهده)
الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (174 مشاهده)
تصميم تقرير لطباعة الإجمالي0--- (206 مشاهده)
استعلامات التحديد Select Query مع أمثله (1)0--- (258 مشاهده)
البحث

من هنا وهناك
قريبا باذن الله
قريبا باذن الله
قريبا باذن الله
قريبا باذن الله
قريبا باذن الله
الملفات مع سي بلاس بلاس

مستوى الدرس :مبتدئ


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

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

هل فكرت يوماً بعمل برنامج ولنقل مثلاً لمكتب عقاري ؟
هل فكرت يوماً بعمل برنامج يقوم بعمل معين ولكنك تحتاج إلى البيانات الموجوده فيه مسبقاً و لا تريدها ان تضيع بمجرد إقفال البرنامج ؟

الحل سيكون إستخدام الملفات بالتأكيد ...فهي المعنى الحقيقي للبرمجة و هي التي تقوم بجعل البرامج العديمة الفائدة مفيدة جداً , فتخيل برنامج Word مثلاً بدون الملفات ؟!!! لن يكون له اي فائدة عدى القليل جداً .

طبعاً اقصد بالملفات هي الحفظ و الفتح التي تقوم بها يوميا تقريباً في برامجك .

عموماً لن نطيل في هذه المقدمات كثيراً و لنبدأ البرمجة بإستخدام الملفات :



الملفات في أي لغتي السي و السي بلاس بلاس لن تتعامل معها مباشرة ( أي بإسم الملف ) و لكنك ستتعامل مع مؤشر إلى الملف أو متغير object يحمل اسم الملف و لنبدأ:

أولاً كيف يمكننا أن نعرف متغير Object من نوع ملف ؟

__________________________________________________ ______________________________


1. التعريف :


كود:

fstream file;

مع العلم ان كلمة fstream ليست كلمة معرفة في ++C كبقية الأنواع المعروفة مثل
int , char , float .... etc
ولكن تستلزم إضافة سطر بسيط في أول الكود وهو


كود:

#include "fstream.h"

أيضا كلمة file ما هي إلا اسم متغير ويمكنك اختيار أي اسم يناسب البرنامج وموضوعه.


__________________________________________________ ________________________________

2. فتح الملف :
لابد من فتح الملف قبل إستخدامة مثلة مثل فتح ( تشغيل ) الكمبيوتر قبل إستخدامة
ولفتح الملف سنستعمل الدالة التالية :


كود:

void fstream::open(const char *filename, ios::openmode mode = ios::in | ios::out);

الـ filename هو إسم الملف الذي يكون ظاهر للمستخدم مثلاً talal.txt
و الـ mode هو طبيعة فتح الملف فهناك اكثر من صفة لفتح الملف سأذكرها بعد قليل
فلو كان لدينا هذا التعريف :


كود:

fstream file;

و نريد ان نفتح ملف إسمة talal.txt فسنفتحه بالطريقة التالية :


كود:

file.open("talal.txt", ios::in | ios::out);

OR


كود:

file.open("talal.txt");

وسيتولى البرنامج فهم طريقة الفتح لأنها عرفت باستخدام = في البروتوتايب الخاص بالدالة والذي ذكرته بالأعلى.
إذا لم يتمكن النظام من فتح الملف سنعيد false إذا تم الاستدعاء داخل جملة شرطية مثال:


كود:

if( ! file.open("talal.txt")) cout<<"failed to open specified file. . . ";

وبالنسبة للطرق التي يمكن بها فتح ملف أو (الصفات) فهي:
ios::in وهذه الصفة تجعل الملف مفتوح للقراءة فقط ولا نستطيع الكتابة فيه أو تعديل المحتوى
ios::out تسمح بالكتابة فقط ولا نستطيع معرفة ما بداخل الملف (يجب أن تعلم أنك لست بحاجة لمعرفة ما بداخل الملف لأن فتح الملف بهذه الصفة يقوم بإزالة كل البيانات داخل الملف وتجهيزه بحيث يستقبل الكتابة عند أوله أما أذا أردت الإضافة في نهاية الملف مع الاحتفاظ بالبيانات السابقة فعليك بالصفة التالية)
ios::app وهذه تعالج المشكلة المذكورة أعلاه.
ios::ate يمكن استخدامها مع ios::out ولكنها تعطي تأثير مشابه لتأثير ios::app والفرق الوحيد أن ios::app تجعل كل حرف يتم إضافته للملف يكتب في نهاية الملف حتى لو استخدمنا دوال تحديد الموضع مثل seekp و seekg ولكن مع ios::ate فإن الوضع الافتراضي أن تتم الكتابة في نهاية الملف لكن لو استخدمنا دوال تحديد الموضع فإنها ستضيف الحرف بالمكان المطلوب
ios::trunc تتسبب بعمل مسح كامل لمحتويات الملف إذا كان موجودا. وتعيد حجمه للصفر.

ملاحظتين:
إذا لم يكن الملف موجودا وتم فتحه باستخجام ios::out فإنها تقوم بعمل ملف جديد فارغ بنفس الاسم.
إذا أردت أن تستخدم أكثر من صفة لفتح الملف فيجب استخدام Bitwise OR بين الصفات على الصورة


كود:

file.open("talal.txt", ios::in | ios::out);

للأمانة يوجد صفة أخرى ولكني لن أتحدث عنها هنا ولكني فقط أذكرها حتى يتم النفع
ios::binary واضح من اسمها أنها تتعامل مع الملفات التي لا تحوي نصوصا وإنما نماذج أخرى مثل الصور وملفات الصون وغيرها وهو ما يجعلني لن أتحدث عنها على الأقل هنا في هذا الدرس.

__________________________________________________ ______________________________

3. إغلاق الملف :


كما فتحنا الملف في البداية لابد من اإغلاقة عند الإنتهاء منه أليس كذلك ؟!!
بالتأكيد سنغلقة في حال إنتهينا من إستعمال الملف و الدالة المسؤلة عن إغلاق الملف هي:


كود:

file.close();

أليس هذا سهلا ؟!!

__________________________________________________ _______________________________

4. الإدخال و الإخراج من الملفات ( I/O with files ) :

الآن قد انتهينا من كيفية فتح و إغلاق الملفات إلى هذه النقطة لم نتعلم كيف نحفظ ما قمنا بعمله, للقيام بذلك هناك عدة طرق مسئولة عن هذا الشيء ولكن نختار أسهلها فهذا سبب نقل المقال من C إلى ++C

باستخدام عامل الإدخال >> المستخدم مع cout نستطيع أن نكتب في الملف
باستخدام عامل الاستخلاص << المستخدم مع cin نستطيع أن نقرأ من الملف
أليس هذا سهلا ؟!!

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


كود:

#include "fstream.h"

#include "conio.h"
int main()
{
fstream file ;
char ch ;
file.open("talal.txt", ios::out);
while( ( ch = getche() ) != '\r' ) // '\r' == Enter
file << ch;
file.close() ;
return 0 ;
}

لقد قمت بتنفيذ هذا البرنامج فوجدت ملف إسمة talal.txt في نفس المجلد الذي يوجد به الكود الذي نفذتة فوجدت بداخلة الجملة التي كتبتها و هي :

Hi this is Talal

____________________________
مثال على القراءة من الملفات


كود:

#include 

#include
main()
{
fstream file ;
char ch[30] ;
file.open("talal.txt", ios::in);
while( file )
{
file >> ch;
cout << ch <<' '; // we write a space here
}
file.close() ;
cout<<"\nhit return to exit. . . .";
cin.get();
return 0 ;
}

__________________________________________________ ________

ملاحظات مهمة جدا على الأكواد
أولا عند الكتابة

استخدمنا عند الكتابة الدالة ()getche التي تقرأ حرف واحد فقط من وحدة الادخال لوحة المفاتيح ثم تتكرر في loop حتى تقرأ باقي المدخلات بالرغم من أننا لم نذكر ذلك صراحة داخل loop إلا أن هذه هي طريقة عملها

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

الملفات مع سي بلاس بلاس

أضف هذه المادة في موقعك:
مواد مشابهة:
الدرس الثاني - أوامر الاشتراطات الدرس الثاني - أوامر الاشتراطات
الدرس الثاني - أوامر الاشتراطات
(مرات المشاهدة: 90 مرات)
لمحة تاريخية لمحة تاريخية
لمحة تاريخية
(مرات المشاهدة: 94 مرات)
المصفوفات الترابطية Associative Arrays المصفوفات الترابطية Associative Arrays
المصفوفات الترابطية Associative Arrays
(مرات المشاهدة: 138 مرات)
المتحولات variables الجزء 3 المتحولات variables الجزء 3
المتحولات variables الجزء 3
(مرات المشاهدة: 67 مرات)
المتحولات variables الجزء 1 المتحولات variables الجزء 1
المتحولات variables الجزء 1
(مرات المشاهدة: 48 مرات)
المتحولات 1variables المتحولات 1variables
المتحولات 1variables
(مرات المشاهدة: 113 مرات)
مدخلك الى تعلم البرمجة العادية 1 مدخلك الى تعلم البرمجة العادية 1
مدخلك الى تعلم البرمجة العادية 1
(مرات المشاهدة: 211 مرات)
شروط تسمية المتغيرات شروط تسمية المتغيرات
شروط تسمية المتغيرات
(مرات المشاهدة: 26 مرات)
 Beginners All-purposes Symbolic Instruction Code Beginners All-purposes Symbolic Instruction Code
Beginners All-purposes Symbolic Instruction Code
(مرات المشاهدة: 101 مرات)
الدرس الرابع - الدوال الدرس الرابع - الدوال
الدرس الرابع - الدوال
(مرات المشاهدة: 82 مرات)
تعارف اهداءات ترحيب تبريك الحوار العام الفسحة العامة الطلاب و الاختبارات و الاسئله الجريمه حوادث كوارث جرائم معجم لهجات الفاظ مصطلحات عبارات حكم المنتدى الاسلامى تفسير الاحلام dreams صوتيات اسلاميه اناشيد محاضرات خطب وعظ الخينة الرمضانية اللغة الانجليزيه English الطرائف والمرح والفكاهه والتسليه العاب اكس بوكس بلاستيشن XBOX360 & PS3 playstation بلاي استيشن دريم كاست نتندو Anime انمي افلام كرتون السياحة و السفر والرحلات الافلام المنوعه افلام عربيه افلام اجنبيه الصور المضحكه والتعليق مسابقات الغاز حكاوي تطوير المواقع و السكربتات Ajax XML CSS JavaScript PHP Perl CGI seo Search Engine web2 تطوير و صيانة المنتديات vBulletin مشاكل و حلول للمنتديات و المواقع المشكله و الحل و الصيانة الهاكات برودكت بلقن Product - Plugins استايلات قوالب واجهاتstyle - template حراج انترنت مستعمل + جديد اشهار مواقع تبادل اعلانات بيع و شراء منتديات ستلايت فضائيات قنوات ترددات كامات شفرات مفاتيح شيرنج Sharing كروت ساتلايت و الرسيفرات الشعر العام البوح بالخافي فصحى نبطي الخاطرة الأدبية خواطر منوعه قصص روايات الكمبيوتر الحاسب والاجهزة العام البرامج الكاملة وشروحها وتعريب البرامج البرامج العربية والمعربة البرامج المشروحة و شروحات البرامج فوتوشوب photoshop رسم تصميم فلاتر فرش تدرجات خطوط باترن اشكال جوال بلوتوث جميع اجهزة الجوال mobile bluetooth بوكيت بي سي Pocket PC اجهزة كفية بلوتوث bluetooth فلاش سويتش سويش ماكس FLASH _ SWiSH الهكرز و الاختراق حماية فيروسات اختراق كراك hacker crack virus حواء للبنات نسائي للحريم فقط والبنوتات المطبخ للطبخ والاكل وكل امور المطابخ تطوير الذات و البرمجة اللغوية العصبية عيادة طبية للفلوق وغيرها صحه وعلاج health طقها والحقها الرياضي رياضه عربيه منوعه رياضه اجنبيه دوري اسباني وايطالي وغيره قنص صيد رحلات برية بحرية سيارات دراجات نارية تفحيط ترهيم
جميع الحقوق محفوظة مدرسة المشاغبين منتديات مدرسة المشاغبين  Copyright © All rights reserved sitemap