• الإعلانات

    • فيصل الحربي

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

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

codz

اعضاء جدد
  • عدد المشاركات

    23
  • تاريخ الانضمام

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

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

  1. اذا كنت لا تعرف كيف تبرمج او ماهي المكتبة بـ سي++ . فحاول ان تتعلم أولا , لانها من الاساسيات, وبعدها ستعرف الاجابة وحدك . بالنسبة لسؤالك الثاني . اذا بدأت البرمجة مع دلفي مباشرة فلن تتعلم البرمجة لانه مبنى على advanced concept وهي OOP . ولذلك من الافضل تعلم اللغة نفسها اولا ثم لك الاختيار في المكتبة الرسومية   بالتوفيق
  2. لعبة جميلة و الاجمل انها open source ملاحضة : استخدام windows api لمثل هذه الالعاب افضل من ناحية الحجم . و اذا اردت شىء خفيف و متعدد المنصات فلا شىء افضل من sdl
  3. تعرف على المكتبات الساكنة static library

    موضوع مفيد من بين فوائد الربط الستاتيكي  في لينيكس . كلما كان التطبيق اقل اعتمادا على المكتبات الخارجية كلما كان اسهل في تشغيله من طرف المستخدم العادي لانه لن تجبر كل مرة على تصدير (export) المسار الذي يحتوي على shared library   شكرا على الموضوع
  4. السلام عليكم   الكود التالي واضح بدون شرح #include <stdio.h>int i;int inci(){ i = i + 1; return i;}void Show(int i1, int i2,int i3, int i4){ printf("%d %d %d %d \n",i1, i2, i3, i4);}int main(){ i = 0; Show(inci(), inci(), inci(), inci()); getchar();}السؤال لماذا النتيجة هي 4321 بدلا من 1234 ؟
  5. لغز بسيط

    فعلا اخ مصطفى للتوضيح اكثر نقوم بـ disassembly للملف main.c بهذا الشكل gcc -g -c main.cobjdump -d -M intel -S main.o > main.asmالصورة التالية توضح العملية  
  6. unicode resource

    شكرا  جزيلا Mr.B على الحل .
  7. السلام عليكم انشأت ملف rc بواسطة ResEdit فيه علبة حوار عنوانها بالعربية . طبعا حفظته بتنسيق utf-8 . المشكلة ان عند التشغيل  يظهر عنوان علبة الحوار عبارة عن رموز . مع ان كل شىء تمام اي اني عرفت UNICODE و _UNICODE في بداية main.cpp . جربت في كلا من codeblocks و vc-express  . يبدو ان windres في mingw يقبل المدخلات كـ code ascii فقط .   هل من حل؟ . من غير الحل اليدوي SetWindowText       شكـــرا
  8. unicode resource

    تفضل . جربت الترميز utf-8 و unicode . على resource.rc  لكن بقى الحال كما هو test.zip
  9. unicode resource

    الحل الذي طرحته اخ محمد فتحي لم ينجح . ظهر خطأ من مترجم الريسورس
  10. unicode resource

    شكرا محمد فتحي . شكرا Mr.B . فعلا مقال اكثر من رائع . سأقرأه إن شاء الله
  11. شكرا اخي Mr.B . الكود اشتغل بنجاح .   ملاحظة : visual-cpp لا يقوم بتحسين دالة ما اذا كانت تحتوي على اسمبلى . عكس gcc الذي يغير كل شىء اذا كان التحسين مفغل لان عندما حولت الاسمبلى من intel الى at&t اشتغل الكود ولكن بدون تحسينات -o0 .  لكن مع التحسينات يحدث كراش .
  12. السلام عليكم اتمنى ان يساعدني احدكم في تحويل هذه الدالة من الاسمبلى الى السي void UpdateSampleDelta(sU32 nexttime, sU32 time, sU32 usecs, sU32 td2, sU32 *smplrem, sU32 *smpldelta){ __asm { mov eax, [nexttime] sub eax, [time] mov ebx, [usecs] mul ebx mov ebx, [td2] div ebx mov ecx, [smplrem] add [ecx], edx adc eax, 0 mov ecx, [smpldelta] mov [ecx], eax }}
  13. شكرا اخ Mr.B و عذرا عن التأخير   الكود لم يشتغل او بألاحرى اشتغل و لكن لم يعطي الناتج المطلوب هذه الدالة مأخوذة من مكتبة محرك صوتي . صاحبها كتبها فقط لتدعم visual cpp . اردت ان احولها الى mingw .  التحويل تم بنجاح ولكن فقط بتحوييل الاسمبلي من intel syntax الى at&t .لكن اردت تحويله الى السي ليكون قابل للناقلية . ملاحظة : الكود السابق اشتغل ايضا بحذف السطر adc eax, 0 . في الدالة السابقة كتب الكاتب ملاحضة فوق الدالة : // performs 64bit (nexttime-time)*usecs/td2 and a 32.32bit addition to smpldelta:smplremلكن لم افهم جيدا هذا التعليق
  14. المشكلة في تعليمة adc في التوثيق تجد ADC performs an integer addition of the two operands DEST and SRC and the carry flag   ماهي carry flag  هنا ؟
  15. حسنّا لقد حولت الكود تقريبأ  , بقي 3 اسطر الاخيرة void UpdateSampleDelta(sU32 nexttime, sU32 time, sU32 usecs,sU32 td2, sU32 *smplrem, sU32 *smpldelta){ *smplrem += (nexttime-time)*usecs/td2;//rest// adc eax, 0// mov ecx, [smpldelta]// mov [ecx], eax}
  16. سؤال بخصوص لغة C++.

    سؤالك غير واضح . ممكن توضح اكثر
  17. المشروع عبارة عن انشاء مكتبة لانشاء واجهات المستخدم , مثل مكتبة QT المكتبة لا تستخدم دوال النظام لانشاء الـ controls بل ترسمه . الرسم سيكون بدوال النظام العادية كـ gdi في بيئة ويندوز مثلا , غير انني سأستخدم opengl لكن في مراحل متقدمة   حالما انتهي من تصميم الاولي للمشروع سأضع صورة للـ system architecture
  18. السلام عليكم منذ مدة وانا اريد البدء في مشروع GUI متعدد المنصات ولكن الكسل بالمرصاد , طبعا الهداف ان يكون صغير الحجم , سريع , جذاب .(tiny,fast,attractive) المنصات المستهدفة : ويندوز , لينكس , ماك اوس اكس . رسم controls يكون عن طريق GDI , X11 , cocoa مبدئيا الـ constrols ستكون  : button ,editbox, checkbox , combobox, listbox,trackbar,menu,splitter   من يريد المشاركة او طرح افكار حول التصميم . فاليتفضل          
  19. فقط لانه صغير يعني لا يأخذ وقت (حوالي عشرين دقيقة) , لو كان كبير لما فعلت . لكنك نبهتني الى فكرة الاكواد المشوشة   فعلا مسلية
  20. [email protected] ولكنك قلت حلقة واحدة , و انت استخدمت حلقات كثيرة . لو وضحت الامر من البداية لكان الامر اسهل من فكرة الحلقة الواحدةاعجبني كثيرا حل الاخ مصطفى , ماشاء الله عليك . بدأت تظهر عليك مظاهر الاحترافية . ماشاء الله
  21. وهذا ليس حلي :D انما فك الشفرة التي قام الاخ مصطفى بوضعها  (ارجو ان لا يغضب  :lol: ) #include<stdio.h>int main(){ int Array[0x36a2]={0},i,indx; int N = 0; int Ncc = 0; for(i=0; i-20; i++) { if (i<10) { printf("enter element X[%d] : ",i-0*10); scanf("%d",&indx); Array[indx+1000]++; } else { printf("enter element Y[%d] : ",i-1*10); scanf("%d",&indx); indx += 1000; N += ( Array[indx] > 0 ); Array[indx] *= 1- 2 *( Array[indx] > 0); Ncc += !!Array[indx]; Array[indx]+= !!Array[indx]; if ( i - 19 == 0) printf("N=%d\t Ncc=%d \n",N,Ncc); } } getchar(); return 0;}
  22. السلام عليكم موضوع شيق , سأشارك لكن لدي سؤال كيف سيكون عرض الحروف يعني هل سيكون على شاشة الدوس ام نافذة ؟   على كل حال ستكون نقطة بداية ممتازة لصناعة GUI عربي لا يعتمد على دوال نضام التشغيل