Professional Programmer

Professional Programmer

Share

لعمل مشاريع التخرج وتصميم المواقع

19/08/2013

كيف تتم عملية النسخ واللصق برمجيا؟

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

في درس اليوم إن شاء الله سوف نتعرف على عملية النسخ واللصق، لكن دعونا نتعرف في الأول على حقيقة الملفات Files.

الملف File هو مجموعة من البيانات التي تنتمي إلى نفس النوع، وتنقسم الملفات إلى نوعين:

الملفات النصية Text File : ويكون محتوى الملف عبارة عن بيانات نصية.
الملفات الثنائية Binary File : تكون على شكل بيانات ثنائية Binary Data، أي عبارة عن متتاليات وسلاسل من الأصفار والآحاد التي بعد أن تتم قراءتها ومعالجتها تتحول إلى شيء معين (صورة، فيديو، مقطع صوتي،…)

عملية النسخ:

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

النسخ واللصق برمجيا:

لنأخذ أي ملف موجود على حاسوبنا، ولنفترض أن عندي صورة موجودة على الوحدة C : من القرص الصلب، أي أن مسار الوصول إلى هذه الصورة هو C:\\1.png .

سنعلن عن مسار الملف الأصلي في متغير نصي:

string file1 = @”c:\1.PNG”;

وبالمثل سنعلن عن مسار الملف الثاني أي الملف الذي سينتج عن عملية النسخ:

string file2 = @”c:\Copy.PNG”;

الآن سنقوم بفتح الملف الأول لقراءة بياناته الثنائية:

FileStream fs1 = new FileStream(file1, FileMode.Open);

ثم نقوم بإنشاء ملف فارغ خالٍ من أية بيانات ثنائية على مسار الملف الثاني:

FileStream fs2 = new FileStream(file2, FileMode.Create);

الملف الأول موجود عندنا مسبقا لذلك سنقوم بقراءة بياناته الثنائية بواسطة Binary Reader، والملف الثاني ليس له محتوى ثنائي سنقوم بتزويده بالبيانات عبر Binary Writer.

BinaryReader br = new BinaryReader(fs1);

BinaryWriter bw = new BinaryWriter(fs2);

الآن هيأنا كل شيء، بقي فقط تعبئة الملف الثاني بالبيانات الثنائية للملف الأول، وذلك عبر تكرار يذهب من أول بايت إلى آخر بايت في الملف الأول، وكلما وصل إلى بايت معين يقوم بكتابته في الملف الثاني، كما يلي:

for (int i = 0; i

12/08/2013

اقضي على وقت الفراغ واجعله يوم مفيد وتعلم احد اللغات البرمجة تعرف على واجهات البرامج وكيفية استخدامها ,, اتمنى للجميع وقت جميل ومفيد

____________________________________
Java
101
http://www.youtube.com/playlist?list=PL28DDB2DCF87BEE43

102
http://www.youtube.com/playlist?list=PL138BE19EA2405C94

103
http://www.youtube.com/playlist?list=PLA94A6FB67AB4CD0D

____________________________________
HTML
http://www.youtube.com/playlist?list=PLCCEB165720B4486B

____________________________________
JavaScript
http://www.youtube.com/playlist?list=PL1C9145FD1FDB3577

____________________________________
ASP.Net
http://www.youtube.com/playlist?list=PLqmVQqNLdVv2GVPvVv3tGab1SWPQqePoR

____________________________________
PHP
101
http://www.youtube.com/playlist?list=PLA26082B45526FE13

102
http://www.youtube.com/playlist?list=PL3329409189CFCB29

____________________________________
DataBase
http://www.youtube.com/playlist?list=PLA410065ED903BCA9

____________________________________
Android
http://www.youtube.com/playlist?list=PL987D0B965F799760

____________________________________
مادة البرمجيات جاهزة
Flash
http://www.youtube.com/playlist?list=PLlgtiED3ijPAjwwPoepcAidcm43jnZulm

CINEMA 4D
http://www.youtube.com/playlist?list=PLlgtiED3ijPAp5wgxgLfb9mlFqp5AX_zi
http://www.youtube.com/playlist?list=PLlgtiED3ijPAEv2YLMiRRuvnd3taMWeYo
http://www.youtube.com/playlist?list=PLlgtiED3ijPCPjD3KgmYXx7-syVRgKqV4

11/08/2013

هل شعرت يوماً بأن هناك شيئاً مفقود في حياتك !! واذا شعرت بذلك ماذا فعلت حينها ؟ ..

Want your business to be the top-listed Advertising & Marketing Company in Amman?
Click here to claim your Sponsored Listing.

Category

Website

Address


Amman
00962