Posts

MessageBox To IEnumerable(Of Func(Of DialogResult))

الكود التالي يوضح كيفية تحويل بعضا من او عدد معين من MessageBox الي مصفوفة ثم كيفية استدعاء كل رسالة علي حدة عن طريق تمرير اسم الرسالة باستخدام Enum       Friend Function GetMessage(kind As MessagesKind ) As DialogResult         Select Case kind             Case MessagesKind .FirstMessage                 Return GetMessages()( CInt ( MessagesKind .FirstMessage))()             Case MessagesKind .SecondMessage                 Return GetMessages()( CInt ( MessagesKind .SecondMessage))()             Case MessagesKind .ThirdMessage          ...

One Way Hash of a String Suite

إمتدادا للموضوع الموجود في اللينك التالي One Way Hash of a String   تم تطوير الكلاس الموجود في اللينك أعلاه لكي يدعم أكثر من طريقة للتشفير و هنا يمكن لمستخدم الكلاس أن يختار من بين واحدة من ثلاثة طرق للتشفير وهي كالتالي SHA512 SHA384 SHA256 الكلاس الجديد تمت كتابته بحيث لا يمكن تمريره من خلال الكود عن طريق تعريف متغير يعبر عنه بل هو يسمح فقط بتمرير النوع المراد استخدامه في النشفير من خلال دالة عامة واحدة اسمها  GetSuite ومن خلالها يتم تمرير طريقة التشفير هلي هيئة  Enum الكود التالي يوضح شكل الكلاس Imports System . Security . Cryptography Imports System . Text Public  MustInherit  Class  HashSuite #Region "Field"      Private  Const  hashLength  As  Integer  =  8 #End Region #Region "Property"      Friend MustOverride Property Algorithm  As  HashAlgorithm     Friend ReadOnly Prope...

One Way Hash of a String

التشفير موضوع هام جدا و هناك أساليب كثيرة لتشفير البيانات وحفظها في ملفات والتشفير في إتجاه واحد هو واحدا من أساليب التشفير الهامة و تكمن فكرته في أننا تقوم بتشفير البيانات ولكننا لا نستطيع ان تعيد البيانات مرة أخري إلي حروفها الأصلية وهنا قد يتساءل البعض و ما الهدف و كيف نستفيد من هذا الأمر؟ عموما و لمزيد من الإطلاع يوجد في موقع مايكروسوفت مثالا للتشفير في إتجاه واحد باستخدام   MD5 - HashAlgorithm و المثال الخاص بمايكروسوفت بسيط و سهل جدا ويوضح كيفية التشفير و التأكد من التشفير ما الهدف من التشفير في إتجاه واحد؟ الأمر متروك غالبا لرؤية المبرمج في كيفية استخدام هذا النوع من التشفير لكن أهم أهداف التشفير في إتجاه واحد هو تشفيير كلمات السر التي تستخدم غالبا للدخول الي المواقع الإلكترونية او التي تستخدم في الدخول الي برنامج او إلي قاعدة بيانات تم حمايتها بكلمة سر معينة و في هذا الموضوع لن نستخدم المثال الخاص بمايكروسوفت بل سوف نوضح كيفية التشفير في إتجاه واحد باستخدام انواع مختلفة من HashAlgorithm ثم نتأكد أن التشفير يعمل بشكل جيد فكرة التشفير في إتجاه وا...

Backup data to file

شئ مهم جدا أن نعرف كيف نبني نسخة إحتياطية من ملفات الداتا بيز ثم نحتفظ بها في مكان ما و تسترجعها عندما يحدث خلل ما في النسخة الاصلية ال فكرة   الفكرة المستخدمة يمكن تقسيم ها الي ثلاثة مراحل كالتالي المرحلة الأ ولي إسترجاع البيانات الموجودة في الداتا بيز علي شكل جدول  DataTable تحديدا لماذا نستخدم  DataTable Class  ....لأن هذا الكلاس و بشكل عام يمثل واحدا من أهم همزات الوصل بين  كل من الداتا بيز و واجهة التطبيق الخاصة بالبرنامج المرحلة الثانية حفظ البيانات الموجودة في  DataTable إلي ملف باستخدام  BinaryWriter المرحلة الثالثة إسترجاع البيانات من الملف علي شكل  DataTable  و ذلك باستخدام BinaryReader توضيح أول مشكلة ربما تواجهنا في كتابة الكود هي صعوبة تعميم الكود حيث أن كل مبرمج قد يعطي إسما مختلفا لكل عمود في الداتا بيز و بما أنه لا يوجد هناك قوانين ثابتة لتسمية الأعمدة في الداتا بيز أو في  DataTable  فكان صعب جدا تعميم الكود ليقرأ كل الأعمدة  سوا...