• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

prof_1982

المشرفون
  • عدد المشاركات

    1,024
  • تاريخ الانضمام

  • تاريخ اخر زياره

كل شيء نشر بواسطة prof_1982

  1. في شاشة تقرير الاخطاء يظهر لك سبب المشكلة باللون الاحمر .
  2. هناك امران عليك فهمها عند التعامل مع قاعدة بيانات تحتوي لغات متعددة     اولها Collation  لقاعدة البيانات الخاصة بك وهو نمط التجميع (الترميز) المستخدم  في قاعدة البيانات ككل في حالتك هذه يتوجب عليك استخدام Turkish_CI_AS    الامر الثاني نوع البيانات للحقول النصية يجب ان يكون من النوع الذي يدعم اللغات None-Ascii language  في هذه الحالة تستخدم nVarchar   .   تحياتي
  3. برنامج عرض كاميرا ويب

    استعن باضخم مجموعة مجانية بخصوص الصوت ولكن الموضوع بحد ذاته كبير .   هناك ادوات جاهزة  ولكن ليست مجانية مثل http://lakeofsoft.com/vc/   تحياتي 
  4. سؤال مهم عن حجم القاعدة

    200 كلمة لا تعتبر بيانات :) قواعد البيانات المعتمدة في العالم وان كانت متناهية الصغير فهي مخصصة لتخزين ملايين البيانات بكافة اشكالها وانواعها.   ابحث عن المشكلة في التطبيق نفسه   إقتراحات : 1- احذف قاعدة البيانات واعد تركيب اخر تحديث لها مع مراعاة التسلسل الخاص برقم الاصدارة لقاعدة البيانات . 2- شغل تطبيقك بعدهذه العملية ان بدأ بدون مشاكل قم ببدء تعبئة البيانات . 3- ان حصلت المشكلة بعد النقطة الثانية راجع الكود المسؤول عن قرائة البيانات او اول كود يتعامل مع قاعدة البيانات عند حدوث المشكلة . 4- تأكد من نظافة البيانات المدخلة ان كانت نصية مثلا ان لا تتضمن بعض الاحرف التي تقوم بعمل مشكلة مع الاستعلامات مثلا ' &  * % $ " [ ] ( )  علي سبيل المثال ، او القيام بعمل دالة للتغلب علي هذه المشكلة ان كانت هي فعلا سبب المشكلة .   تحياتي .
  5. لماذا هذ المنتدى في خمول

    السلام عليكم      ضع الوحدة strUtils  ضمن الوحدات المستخدمة في نموذجك .   ثم استخدم الدالة الجاهزة .  ReverseString(const AString : string): string;طريقة الاستخدام سهلة جدا  Myrev := ReverseString('Hello');تحياتي
  6. السلام عليكم ورحمة الله وبركاته      ﴿ يَا أَيَّتُهَا النَّفْسُ الْمُطْمَئِنَّةُ ارْجِعِي إِلَى رَبِّكِ رَاضِيَةً مَرْضِيَّةً فَادْخُلِي فِي عِبَادِي وَادْخُلِي جَنَّتِي ﴾   بقلوب مؤمنة بقضاء الله وقدره ..أنقل لكم خبر وفاة الأخ سامي أبو عليوة - فلسطين - قطاع غزة (العضو هنا في المنتدى ) وللاخ سامي معرفات في المنتدي وهي /   byteblack و  netyou   كنت اعلم انه له علاقات هنا في المنتدي لذي ارتأيت ان أضع خبر وفاته وأتمني لكل من له علاقة مع الاخ المغفور له ان شاء الله أن يترحم عليه وأن يدعو له ومن له اي مشكلة او خلاف ان يسامحه فانه بين يدي رحيم عفور.   ونحن نقدم خالص العزاء والمواساة إلى عائلة المغفور له بإذن الله تعالى رحمه الله واسكنه فسيح جنانه اللهم اغفر له وارحمه اللهم اجبر كسر قلوبهم بفقده  اللهم اخلف لهم فيمن بعده خلف خير ﴿ إنا لله وإنا إليه راجعون ﴾    
  7. بارك الله فيكم جميعا واخص بالذكر اخي حسام الشامي لتعديله المعرف الخاص بالمرحوم .   من رأيي ان يوضع اعلان صغير في المنتدي او في قسم الاعلانات عن وفاة الاخ (سامي) حتي لو كان لاحد بعض الاعمال مع الاخ ليعلم بوفاته  ، لاني حسبما علمت انه كان يتعاقد مع بعض الاعضاء لانجاز أعمال برمجية لهم ، لا نريد ان يضنوا السوء بعدم رده عليهم .   مجرد اقتراح بارك الله فيكم جميعا .
  8. افضل حل هو ارسال المتصلين بنسق XML  من السيرفر للكلاينت المتصل ، ومن خلال مكتبة الXML  يتم قرائة البيانات الواردة بكل سهولة وترتيب .   في اتجاه اخر ان كنت مهتم بموضوع الدردشة بشكل قوي ، قم باستخدام البروتوكل المخصص لذلك XMPP وهو البروتوكول المعتمد في كل من برامج الدردشة في العالم ، مثل ياهو وميكروسوفت ما سنجر و سكايب وجيتوك والكثير .   كما يتوفر سيرفرات مجانية يمكنك العمل عليها كل ما عليك هو انشاء الكلاينت المطلوب من طرفك . فهناك الكثير من المكتبات المجانية لمعظم اللغات . رابط موقع البروتوكل وكل التفاصيل    www.xmpp.org   رابط موقع السيرفر المجاني القوي جدا اوبن فاير   www.igniterealtime.org   تحياتي
  9. يمكنني عمل التطبيق المناسب لك .   للتواصل [email protected] [email protected]
  10. الصور  غير ظاهرة  الرجاء رفع صور جديدة للنظام  من الداخل في وضع العمل  .     تحياتي لك .
  11. قوة اللغة لا يتوقف علي شكل النماذج الخارجية للتطبيقات ، فهذه الامور لك حرية التصرف بالعمل علي الشكل المناسب حسب طبيعة التطبيق ولكن السؤال هل لك القدرة علي عمل ذلك :) اللغة تأمرها فتفعل ولكن يتوقف الامر علي معرفتك بكيفية عمل ذلك ، ولا يعني اني لا استطيع عمل ذلك الشي فاتهم اللغة بالضعف :) . ولو قوة اللغة يتعلق فقط بشكل النماذج سأدلك علي تطبيق صنع بالدلفي لتقول رأيك بصراحة بقوتها بعد ذلك وهو تطبيق الموسيقى فروتي لوبز Fruity Loops :) انا منبهر من كم الادوات الموجودة في هذه النظام فعلا ، ولكن كونها شركة كبيرة تعمل وفق خطط منتظمة و فرق عمل مترابطة ظهر هذا النظام بافضل حلة . ما علينا :) بالنسبة لتصميم الواجهات في دلفي فهو عمل صعب بعض الشيئ ان كنت ستخرج عن المألوف ، ولكن بطبيعة الحال هناك شركات تقوم بتوفير هذه الادوات لك مقابل ثمن لاستخدمها في تطبيقاتك دون عناء وانا مع هذا التوجه توفيرا للوقت والجهد . , عن سؤالك بالتحديد هناك اداة مجانية اسمها IceTabset وهي قريبة جدا مما تريد ورابطها هنا Delphi IceTabset تحياتي لك
  12. السلام عليكم يجب علي العمليات التي تريد ان تتحكم بها ان تكون داخل مسلك جديد Thread فلدى هذه المسالك خصائص الايقاف والتشغيل متي اردت ذلك . الثريد (المسلك) بشكله البسيط هو عنصر جديد مشتق من العنصر TThread وشكله كالتالي . TMyThread= Class(TThread) private public protected procedure Execute; override; published End; implementation procedure TMyThread.Execute; begin end; end. والكود الخاص بك سيكون داخل الاجراء Execute
  13. السلام عليكم اخي العزيز الاداوات التي تسخدمها كما هو واضح من الصورة صحيحة 100% وهي الاداة الافضل لارسال الايميل من نظامك الي اي بريد ولكن قبل ذلك تحتاج لفهم عدة امور مهمة لاتمام المهمة بنجاح وليعمل تطبيقك بشكل جيد . اول هذه الامور واهمها انك تحتاج الي خادم بريد (سيرفر خاص ، استضافة خاصة .... الخ) من المعلوم عند ارسال البريد من جهازك الي شخص اخر فهو يصل أولا من جهازك الي خادم البريد الخاص بك ثم يتولى الخادم بارسال الرسالة نيابة عندك للبريد المطلوب ،وهي اهم خطوة في هذا النظام . بعد ذلك تكون الامور سهلة وبسيطة فباستخدام أداتي idSMTP و idMessage من ادوات Indy تستطيع الارسال الاداة الاولي وهي idSMTP وهي الكلاينت الخاص بالاتصال بالسيرفر الخاص بك وحين يتم الاتصال بنجاح تكون جاهز لارسال الرسالة عن طريق اعطاء الاداة idmessage البيانات اللازمة للرسالة مثل البريد المطلوب ارسال الرسالة له ، عنوان الرسالة ، تفاصيل الرسالة نوع الرسالة textLhtml او المرفقات كالملفات مثلا . ثم تقوم بارسال الرسالة من خلال الدالة SendMessage التابعة للكلاينت idSMTP . هذا باختصار كيفية الارسال ، اليك بعض الملاحظات هناك العديد من الخوادم تطلب تصريح للارسال يتطلب ذلك عنوان بريد الكتروني علي نفس الخادم التي تستخدمه للارسال وكلمة السر الخاص به حتي يأذن لك بارسال الرسائل ، كمان انه مطلوب منك تحديد الرسالة انها صدرت او ارسلت من بريد انت تضعه في حقل From للاداة idMessage و يجب ان يكون عنوان بريد صحيح علي نفس الخادم حتي لا تصنف كانها سبام(رسائل غير مرغوبة ) او يمنع ارسالها بالكامل . تحياتي لك هذه الملاحظات علي عجالة اي استفسار لا تتردد شكرا .
  14. السلام عليكم في حالة هذه اللعبة لن يفيدك استخدام الحساس TYPE_ACCELEROMETER لان هذه الحساس وظيفته قياس التسارع للجهاز يعني في حالة عدم تحريك الجهاز سيتكون القيم صفر ، وفي حال التحريك في احد الاتجاهات سيبدا التسارع في الزيادة كلما زادت سرعة الحركة والعكس صحيح ولن يكون دقيق ،يعني لو قمت بامالة الجهاز لاي جهة ثم توقفت ستعود القيم صفر مرة اخرى وهو في حالة دوران او إمالة ، لذلك في هذه الحال يجب استخدام الحساس الخاص بالاتجاهات TYPE_ORIENTATION . تحياتي لك ولكن للتوضيح فقط . تحياتي
  15. بخصوص Delphi_xe

    السلام عليكم حقيقة لا اعلم ما معني الرسالة لاني لا افهم الفرنسية ، ولكن بالنسبة لقاعدة البيانات في حال ارفاقها في مجلد التطبيق لا يهم المسار في هذه الحالة فيكفي كتابة سلسلة الاتصال في خانة ConnectionString 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Mydb.mdb;Persist Security Info=False' او الحصول علي علي مسار التطبيق برمجيا بالطريقة التالية ExtractFilePath(Application.ExeName) ثم كتابة اسم قاعدة البيانات بعد هذا المسار تحياتي
  16. يمكن عمل هذا البرنامج بافضل طريقة ، ولكن علي ان لا يستخدم في اختراق الاعضاء كما تفضل بعض الاخوة . راسلني علي الخاص .
  17. تسريع قواعد البيانات

    السلام عليكم اخي العزيز بالنسبة لسرعة قاعدة البيانات هناك عدة أمور وعوامل لها علاقة مباشرة في سرعة تنفيذ الاستعلامات بشكل عام منها علي سبيل المثال : 1- التصميم الجيد لقاعدة البيانات والجداول من حيث انواع الحقول الصحيحة . 2- الحقول النصية التي تحتوي علي بيانات كبيرة . 3- العلاقات بين الجداول وهي نقطة مهمة فالعلاقات لها دور في سرعة الاستعلامات ان كانت مبنية بشكل خاطئ تكون مجهدة . 4- الحسابات علي الاعمدة اثناء الاستعلام هناك بعض الجداول او الاستعلامات تحتاج الي عمل حسابات علي قيم معينة اثناء الاستعلام لها دور في بطئ النتائج . 5- استخدامك للفهارس Indexs وهي مهمة جدا في الجدول التي يكون عليه إستعلامات كثيرة . 6- عتاد الجهاز من النقاط المهمة التي لها دور فعال في جودة العمليات الاستعلامية والاداء العام في قاعدة البيانات . 7- التاكد من ضغط واصلاح قاعدة البيانات لازالة المساحات الفارغة في قاعدة البيانات التي تنتج من خلال العمليات المختلفة علي الجداول كالحذف والاضافة . حقيقة هذه من اهم الاسباب التي ان راعيتها تكون قد حصلت علي افضل الاساليب لصناعة قاعدة بيانات جيدة جدا في التعامل معها . تحياتي لك
  18. الارتباط بجهاز كلاينت عبر الآيبي

    الطريقة الوحيدة هي وضع عنصر الاتصال الخاص بكل كلاينت عند اتصاله علي السيرفر في قائمة ListBox بعد ذلك يمكن عمل كاست Cast للابجكت الخاص بعنصر الاتصال حسب اخيار الايبي من القائمة ليكون الاlمر اوضح اليك بعض الاكواد . طرف السيرفر حدث OnclientConnect procedure TForm1.ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket); begin ListConnection.Items.AddObject(Socket.RemoteHost,Socket) ; end; في زر الارسال سيتم ارسال رسالة للعنصر المحدد في القائمة ListBox procedure TForm1.BtnSendToClientClick(Sender: TObject); begin if ListConnection.ItemIndex > -1 then begin with TCustomWinSocket(ListConnection.Items.Objects[ListConnection.ItemIndex]) do SendText('Hello') ; end; end;
  19. حقيقة بعد البحث الجاد لعدة شهور ، للبحث عن خفايا نظام التشغيل وكيفية تعامله مع النوافذ وإدارتها ، وجدت انه امر يمكن الوصول له بكل بساطة ، طبعا كلنا يعرف ان البرمجة تحت نظام التشغيل ويندوز هي عبارة عن (برمجة مسيرة بالاحداث) اي لكل حركة او ضغطة زر او نقرة علي زر الماوس لها حدث عبارة عن رسالة يقوم ويندوز بارسالها الي رتل الرسائل المنتظرة ليقوم بعد ذلك بارسالها للنافذة او للتطبيق المستهدف ، طبعا عند إرسال رسالة ما الي نافذة فان هذه الرسالة تصل الي كافة النوافد المفتوحة في التطبيق والنافذة الستهدفة هي التي تتفاعل مع النظام (عن طريق مقبض النافذة). * رسائل ،،، ماهي الرسائل و من أين تأتي ؟يقوم ويندوز بتعريف المئات بل الآلآف من الرسائل المتنوعه وغالبية هذه الرسائل تبدأ بالأحرف _WM وهي إختصار Window Message وأهم شي يجب أن تعرفه هي الدور الفعال التي تلعبه هذه الرسائل ... إذاً الرسائل معرفة مسبقاً من قبل نظام التشغيل ، نعم هي عبارة عن ثوابت تأخذ قيم يعرفها النظام وعلي أساسها يعمل . تعرف الرسالة بالشكل التالي : Private Const WM_PAINT = &HF أنظر الي تلك الرسائل : WM_CREATE وهي رسالة لخلق أو إنشاء نافذة . WM_PAINT وهي رسالة ترسلة للنافذة لرسمها من جديد وهي ما نعرفه بـRefresh وترسل هذه الرسالة الي النافذة من نظام التشغيل في حال تم تغطية النافذة بنافذة وأخري وعاودت الظهور مرة أخري يرسل النظام الي النافذة هذه الرسالة ليقوم بإعادة رسمها . WM_SIZE وهي لتغيير أبعاد النافذة أي يأمر نظام التشغيل النافذة بتغيير حجمها . WM_QUIT وترسل هذه الرسالة للتطبيق لانهاء عمله ....... . الخ الخ ،، ويوجد المئات من الرسائل لا أستطيع سردها كلها الأن ولكن سوف أقوم بسرها وشرحها بنوع من التفصيل فيما بعد إن شاء الله . *كيف نستهدف نافذه معينه ؟ اولا/ لكل نافذة يوجد لها مقبض (Handle Window)وهو عبارة عن رقم (كود) لا يمكن ان يتكرر ،، هذا الرقم عبارة عن مقبض للنافذة يتم من خلاله تمرير الرسائل الي النافذة المحددة . وايضا رقم النافذة يتغير في كل مرة يتم إستدعاء النافذة . *كيف يتعامل نظام التشغيل مع الادوات مثل (الزر ، صندوق النص ، اداة الصورة ، الخ)؟ نظام التشغيل يتعامل مع كافة الادوات علي انها نوافذ ، (نعم نوافذ) هناك مثل يقول (ليس كل ما هو أخضر ملوخية) ولكن نظام التشغيل كسر هذه القاعدة فمبدأ تعامله مع كافة الادوات واحد كأنها نوافذ , ومن هنا ترجع سرعة نظام التشغيل ،، فهو لا يعرف ان تلك هي اداة نص ، او زر ، او اداة صورة . ويستوجب لكل أداة تعامل خاص بيها . *كيف تظهر لنا النوافذ علي اشكال مختلفة مثل الازرار وصناديق النصوص وادوات الصور الخ الخ مع ان النوافذ لها شكلها الخاص؟ لقد اعتمدت مايكروسوفت علي مجموعة (صفوف Classes) جاهزة وهي محدودة طبعا وكل صف من هذه الصفوف تحمل بعض الخصائص القياسية التي تضاف علي النافذة فينتج عنها شكل جديد وهي ما تسمى بالاداة . طبعا لا تحمل تلك الادوات اي خصائص اضافية مثلا عند استدعاء صف الزر فان ويندوز يقوم ببناؤه علي شكل الزر الذي نعرفة ولكن دون اي خاصية اضافية مثل خاصية العنوان للزر(Caption) و خاصية لون الخلفية (BackColor) ، (فقط شكل الزر) وبعد ذلك عليك انت ان تضيف ما تريد من خصائص تريدها علي اداتك الجديدة ، (ولو فكرت قليلا لوجدت اننا طبقنا مبدأ الوراثة البرمجية ) نعم لقد ورثنا خصائص الزر القياسية من نظام التشغيل ويمكننا اضافة ما نريد من خصائص ليقوم بالعمل المنشود . طبعا قبل كل شي يجب ان نعرف بأن فيجوال بيسك وحدها لا تمتلك القدرة علي عمل مثل تلك الامور إلا بمساعدة نظام التشغيل وبالكاد يكون هو الاساس في العمل ، فنظام التشغيل يمتلك مكتبات كثيرة جدا تخدم جميع المجالات تقريبا ، فلغة الفيجوال بيسك ما هي الا أداة للوصول الي إمكانيات نظام التشغيل الهائلة عن طريق دوال API . *من أين نحصل علي دوال الـ API ?يأتي مع حزمة الفيجوال ستوديو 6 ،، فبعد تنزيل فيجوال بيسك الاصدار السادس يمكنك إستدعاء برنامج (عارض دوال API) من قائمة Add-ins أختر Add-Ins Manager ثم قم بالنقر المزدزج علي VB 6 API Viewer ثم أضغط موافق . ثم بعد ذلك سيتم إدراجه في نفس القائمة Add-ins جرب ولاحظ بنفسك . ولتحميل دوال API من قائمة ملف ثم Load Text File .. ثم اختر الملف WIN32API.TXT وسيقوم البرنامج بسرد مئات الدوال المختلفة التي توصلك الي بحار نظام التشغيل أسراره و إمكانياته العجيبة . *مافائدة إستخدام الـAPI مع ان كل شيئ تقريبا متاح وجاهز ؟جرب وضع أكثر من 255 أداة علي الفورم الواحد ،، بالتأكيد لن تستطيع لان فيجوال بيسك لا يستطيع التعامل مع أكثر من 255 ، لانه محدود الإمكانيات . حتي ولو قلت بأنك تستطيع مضاعفة العدد عن طريق عمل مصفوفة للأداة ونسخها مئات المرات أقول لك بأن أتخن جهاز حاسوب لا يستطيع نسخ أكثر من ألف وبعدها ستحتاج إلي إعادة تشغيل . لان الذاكرة إمتلئت . عوضا عن البطئ الرهيب . -- ولكن عن طريق إاستخدام دوال API يمكن انشاء 32767 نافذة في نظام التشغيل 98 والاقدم منه وكما قلنا يمكن تخصيص بعض النوافذ لصناعة أدوات دون أي جهد لجهازك الحاسوب وبسرعه فائقة . ما بالك بنظم التشغيل الحالية مثل XP و 2000 وغيرها فأعتقد أنها تضاعف هذا العدد . ولكن لست متأكدا من ذلك فمثلا أنا الان أقوم بعمل برنامج لانشاء أفلام الرسوم المتحركة ،، تصور عدد الكادرات الموجوده فيه أثناء التشغيل ،، فلا بأس الان بعد إستخدام API فلم أجد اي مشاكل تذكر حتي الان في عدد انشاء الكادرات . انتظروني في اليوم القادم ،، سوف أقوم ببناء نافذة Form بواسطه دوال API . ومن ثم انشاء أدوات عليها. تحياتي لكم [email protected]
  20. ما هو المطلوب بالضبط .
  21. توليد مفتاح تشفير عشوائي

    استخدم بصمة التشفير المشهورة MD5 فهي المطلوب بالضبط . فهي تعطي سلسلة بطول 32 حرف بنظام السادس عشر (0-9 A-F)
  22. سؤال

    السلام عليكم والله يا اخي لم افهم شيئا من الشرح كمان وان الملف باللغة الفرنسة وليست لي بها اي علم . علي العموم لي طلب هام : و هو ان تقوم بوضع عنوان مناسب للمشاركة حتي يستطيع الاعضاء فهم ما المطلوب بدلا من الكلمات المبهمة ، حسب قوانين المشاركة . الامر الاخير ان كان هناك امكانية بشرح الامر بطريقة اكثر فهما للاعضاء . تحياتي
  23. بالنسبة للاختلافات علي مستوى عملك هذا لن تشعر بالفرق كثيرا سوى ان دلفي 2010 دعمت المزيد من قواعد البيانات والكثير من الاضافات المميزة علي الاداء .
  24. اقوم الان بوضع الاساسات الرئيسية للنظام ، ساقوم بوضعها هنا وشرحها حالما انتهي منها .