الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الجرافيك في تطبيقات السي (متعلق بـIDE محدد )

مغلق
بدأه TORNADO_pro في 1 مايو 2005 · 10 رد · 928 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم أود أن أسأل سؤال؟

هل من الممكن استخدام الماوس في تطبيقات الجرافيك في السي

مثلا باستخدم كومبيلر (TURBO C)

#2

بسم الله الرحمن الرحيم

السلام عليكم

اولا فى حالة الgraphe mode ممكن تعرف الmouse وتستخدمة فى التطبيقات عادى جدا

ودة عبارة عن الكود المستخدم فى تعريف الmouse فى حالة الgraph mode

//-----------------mouse intialization------------------------------------------
 REGPACK reg;
 reg.r_ax=0x000;
 intr(0x0033,®);
 reg.r_ax=0x001;
 intr(0x0033,®);
//------------------------------------------------------------------------------
 while(1)
    {
     reg.r_ax=0x003;
     reg.r_bx=0x001;
     intr(0x033,®);
     int x1,y1;
     x1=reg.r_cx;
     y1=reg.r_dx;

     const int COLOR=14;

     if(x1>=145 && x1<=410 &&y1>=30 &&y1<=65 )
        {
         for(int i=0;i<12;i++)
            {
             setcolor(i);
             settextstyle(7,0,5);
             outtextxy(150,20,"Main Menu");
             delay(100);
            }
        }

     else if(x1>=90+k && x1<=170+k &&y1>=150+k1 &&y1<=180+k1 )
        {
         setcolor(COLOR);
         settextstyle(0,0,1);
         outtextxy(110+k,161+k1," Add  ");
        }

     else if(x1>=90+k && x1<=170+k &&y1>=210+k1 &&y1<=240+k1 )
        {
         setcolor(COLOR);
         settextstyle(0,0,1);
         outtextxy(103+k,220+k1,"Display");
        }

     else if(x1>=90+k && x1<=170+k &&y1>=270+k1 &&y1<=300+k1 )
        {
         setcolor(COLOR);
         settextstyle(0,0,1);
         outtextxy(105+k,280+k1,"Modify");
        }

     else if(x1>=90+k && x1<=170+k &&y1>=330+k1 &&y1<=360+k1 )
        {
         setcolor(COLOR);
         settextstyle(0,0,1);
         outtextxy(105+k,340+k1,"Delete");
        }

     else if(x1>=90+k && x1<=170+k &&y1>=390+k1 &&y1<=420+k1 )
        {
         setcolor(COLOR);
         settextstyle(0,0,1);
         outtextxy(105+k,400+k1,"Credits");
        }

     else if(x1>=90+k && x1<=170+k &&y1>=450+k1 &&y1<=478+k1 )
        {
         setcolor(COLOR);
         settextstyle(0,0,1);
         outtextxy(115+k,460+k1,"Exit");
        }

     else
        {
         setcolor(BLUE);
         settextstyle(7,0,5);
         outtextxy(150,20,"Main Menu");
         setcolor(4);
         settextstyle(0,0,1);
         outtextxy(110+k,161+k1," Add  ");
         outtextxy(103+k,220+k1,"Display");
         outtextxy(105+k,280+k1,"Modify");
         outtextxy(105+k,340+k1,"Delete");
         outtextxy(105+k,400+k1,"Credits");
         outtextxy(115+k,460+k1,"Exit");
        }
 //------------------------------------------------------------------------------

     if(reg.r_bx==1)
        {
         x=reg.r_cx;
         y=reg.r_dx;
        }

     if(x>=90+k && x<=170+k &&y>=150+k1 &&y<=180+k1 )
        {
         setcolor(8);
         line(90+k,150+k1,170+k,150+k1);
         line(90+k,150+k1,90+k,180+k1);
         setcolor(15);
         line(90+k,180+k1,170+k,180+k1);
         line(170+k,180+k1,170+k,150+k1);
         delay(100);

         setcolor(15);
         line(90+k,150+k1,170+k,150+k1);
         line(90+k,150+k1,90+k,180+k1);
         setcolor(8);
         line(90+k,180+k1,170+k,180+k1);
         line(170+k,180+k1,170+k,150+k1);
         delay(170);

         closegraph();
         x=0,y=0;
         add_rec();   //function u want to call out the graph mode so close the grpah mode.
        }

     if(x>=90+k && x<=170+k &&y>=210+k1 &&y<=240+k1 )
        {
         setcolor(8);
         line(90+k,210+k1,170+k,210+k1);
         line(90+k,210+k1,90+k,240+k1);
         setcolor(15);
         line(90+k,240+k1,170+k,240+k1);
         line(170+k,240+k1,170+k,210+k1);
         delay(100);

         setcolor(15);
         line(90+k,210+k1,170+k,210+k1);
         line(90+k,210+k1,90+k,240+k1);
         setcolor(8);
         line(90+k,240+k1,170+k,240+k1);
         line(170+k,240+k1,170+k,210+k1);
         delay(170);

         closegraph();
         x=0,y=0;
         display_rec();  //function u want to call out the graph mode so close the grpah mode.
        }

     if(x>=90+k && x<=170+k &&y>=270+k1 &&y<=300+k1 )
        {
         setcolor(8);
         line(90+k,270+k1,170+k,270+k1);
         line(90+k,270+k1,90+k,300+k1);
         setcolor(15);
         line(90+k,300+k1,170+k,300+k1);
         line(170+k,300+k1,170+k,270+k1);
         delay(100);

         setcolor(15);
         line(90+k,270+k1,170+k,270+k1);
         line(90+k,270+k1,90+k,300+k1);
         setcolor(8);
         line(90+k,300+k1,170+k,300+k1);
         line(170+k,300+k1,170+k,270+k1);
         delay(170);

         closegraph();
         x=0,y=0;
         modify();          //function u want to call out the graph mode so close the grpah mode.
        }

     if(x>=90+k && x<=170+k &&y>=330+k1 &&y<=360+k1 )
        {
         setcolor(8);
         line(90+k,330+k1,170+k,330+k1);
         line(90+k,330+k1,90+k,360+k1);
         setcolor(15);
         line(90+k,360+k1,170+k,360+k1);
         line(170+k,360+k1,170+k,330+k1);
         delay(100);

         setcolor(15);
         line(90+k,330+k1,170+k,330+k1);
         line(90+k,330+k1,90+k,360+k1);
         setcolor(8);
         line(90+k,360+k1,170+k,360+k1);
         line(170+k,360+k1,170+k,330+k1);
         delay(170);

         closegraph();
         x=0,y=0;
         del();
        }

     if(x>=90+k && x<=170+k &&y>=390+k1 &&y<=420+k1 )
        {
         setcolor(8);
         line(90+k,390+k1,170+k,390+k1);
         line(90+k,390+k1,90+k,420+k1);
         setcolor(15);
         line(90+k,420+k1,170+k,420+k1);
         line(170+k,420+k1,170+k,390+k1);
         delay(100);

         setcolor(15);
         line(90+k,390+k1,170+k,390+k1);
         line(90+k,390+k1,90+k,420+k1);
         setcolor(8);
         line(90+k,420+k1,170+k,420+k1);
         line(170+k,420+k1,170+k,390+k1);
         delay(170);

         closegraph();
         credit();               //function u want to call out the graph mode so close the grpah mode.
        }

     if(x>=90+k && x<=170+k &&y>=450+k1 &&y<=478+k1 )
        {
         setcolor(8);
         line(90+k,450+k1,170+k,450+k1);
         line(90+k,450+k1,90+k,478+k1);
         setcolor(15);
         line(90+k,478+k1,170+k,478+k1);
         line(170+k,450+k1,170+k,478+k1);
         delay(100);

         setcolor(15);
         line(90+k,450+k1,170+k,450+k1);
         line(90+k,450+k1,90+k,478+k1);
         setcolor(8);
         line(90+k,478+k1,170+k,478+k1);
         line(170+k,450+k1,170+k,478+k1);
         delay(170);
         x=0,y=0;
         ex();
        }
     }
}

دة فى حالة الborland c++ 5.0 or borland c++5.2v

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#3

طيب وبالنسبة لي (turbo c++)

#4

كل اللى اعرفة عن الtubo بانة زى السى شغال عل الdos وممكن تعمل فية الحاجات اللى قولتها

بس انا مشتغلتش علية خالص بس ممكن انت تجرب الطريقة السابقة

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#5

طيب بالنسبة للكود السابق هل اضعه ضمن برنامج ام اتعامله معه كهيدر فيل (file.h)

#6

بسم الله الرحمن الرحيم

السلام عليكم

أأسف على التأخير

عادى جدا كما يحلو لك ولكن أفضل أن يكون بين الكود ولكن ممكن أن يكون header file اخر بس لازم تلتزم بأماكن أستدعاء الfuctions

المراد استدعائها فى حالة الظغط على الزرار سوف يخرج من الgraph mode وينفذها وعند العودة فى دالة back

يعمل initialize للgraph mode مـرة أخرى

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#7

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

عالجت بعضها لكن البعض الآخر لم يتم معالجته ممكن توضح أكتر طريقة استخدامه

#8

اوكى طب ممكن تبعتة وانا اصمم لك الجراف بتاعة

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#10

طيب برده بتقابلني مشكلة كيفية استخدام الكود بالنسبة للمشاريع الخاصة بيا

عموما انا دعيلك كده كده من غير كود :D

ياترى احطه انكوولد ولا جوه البرنامج

#11

زي ما انت ملاحظ تورنادو الكود اللي ادتهولك عبارة عن 4 فايل

tutorial1.cpp

tutorial1.txt

تشوف الشرح في ملف ال txt وتجيب الكود اللي في cpp. وتحطه في borland c++ 3.1

(الكود اشتغل عندي وانا استفدت من الشرح )

ولو ابلتك مشكلة في الفهم ابأي اولي.. انا اعدت مع الكود ده كتير عشان افهمه

سلام

لا اله الا الله

هذا الموضوع مغلق.

مواضيع مشابهة