CyberPress
közéleti magazin
cyberpress@sopron.hu
2024. május 14., kedd, Bonifác napja


Irodalmi Kávéház

Intranet Galéria

Apróhirdetések

Képeslapok

Soproni Képindex

Polgármesteri Hivatal

ZÓNÁK
Főoldal
Lapszemle
  Lapszemle
Kultúra
  KultúrVáros
  Lélektől lélekig
  SzínházVilág
  Soproni Ünnepi Hetek
  Borváros
Regionális kulturális programajánló
  Színház
  Kiállítás
  Rendezvények
  Hangverseny-Zene
Cyber Kurír
  Hírek - események
  Szomszédvár - Régió
  Soproni Snassz
Európai Unió
  EU
Cyber hírek
  Közélet
  SopronMedia
  Városháza
  Sport
Szórakozás
  Fesztiválgájd
  HangFal
  Mi1más
  Diákélet - diákszáj
  ViccGödör
Gazdaság
  Kereskedelmi és Iparkamara
Sport - szabadidő
  Sportcentrum
  Száguldó Cirkusz
Tudomány-technika
  Űrvadász
  Egészség
Környezet
  Borostyán
  Egészség

Dr. Bit  

Újra indul a Dr. Bit.

Mielőtt belevágnánk, néhány dolog a C és a C++ kapcsolatáról:
A C++ a C egyfajta kiegészítése, továbbfejlesztése. Több olyan dolgot 
könnyedén megvalósíthatunk vele, ami C-ben 
elég nehéznek tűnhet. Ez nem azt jelenti, hogy a C rosszabb, mint a 
C++, hiszen a C a C++ nyelv "őse", 
a C++ alapjai a C-n nyugszanak. 

A C gyökerei egészen a 60-as évekre nyúlnak vissza, amikor Martin 
Richards megalkotta a BCPL-t, majd ezt 
továbbfejlesztve Ken Thompsonnak köszönhetően megszületett a B, amiből 
Dennis Ritchie megalkotta a C-t, ami 
mostanra annyira befutott, hogy ebben írják az UNIX-ot és a Linuxot, 
az újabb MS-DOS-okat, C-ben készült a DOOM,
és még sok más program.

A C++ szerintem nagyon alkalmas arra, hogy valaki elkezdjen 
programozni. Ez nem azt jelenti, hogy a C++ egy, 
a kezdők számára létrehozott nyelv (mint pl. a BASIC), viszont az 
elsajátítása nem különösen nehéz.


A következőkben körülbelül havonta fogok cikkeket írni a C-ről, 
illetve a C++-ról. Igyekszem majd hasznos, érdekes
programozási témákat, feladatokat leírni, elmagyarázni. Feltételezem, 
hogy már ismered valamelyest a C-t, vagy C++-t. 
Az első téma az egérkezelésről szól, két részben, a másik fele a 
következő cikkben fog megjelenni. Remélem, 
tudok majd segíteni a C++ nyelv jobb megértésében, használatának 
könnyebbé tételében, és jó programok készítésében.

                                                                      
                    
                                                                
                A Szerző


Az első téma:


                                Az egér használata C++-ban 
                      avagy hogyan fogjuk munkára a 
"cincogót" DOS alatt?

Ez a módszer ugyanúgy használható C-ben, illetve C++ -ban 
Legelőször is illeszd be a forráskódba következőt, az #include 
utasítások után:

#define EGER(k,l,m,n); 
inregs.x.ax=k; 
inregs.x.bx=l; 
inregs.x.cx=m; 
inregs.x.dx=n; 
int86(0x33,&inregs,&outregs); 
AX=outregs.x.ax; 
BX=outregs.x.bx; 
CX=outregs.x.cx; 
DX=outregs.x.dx; 

Most már csak azokba a függvényekbe kell bemásolnod a következőket, 
amelyekkel vezéreltetni akarod az egeret:

union REGS inregs, outregs;
int AX,BX,CX,DX;

Így most van egy egérkezelő programrészed. Ezzel most már könnyedén 
vezérelheted az egeret.
Használatára példa: 
        Egér iniciálása: EGER(0,0,0,0); (Ha sikertelen AX=0 -val tér 
vissza)
        Egérkurzor láthatóvá tétele: EGER(1,0,0,0);
        Egérkurzor láthatatlanná tétale: EGER(2,0,0,0);
(A többi funkcióról majd következő alkalommal!)

Írj egy programot, ami iniciálja és láthatóvá teszi az egerkurzort(ha 
nem iniciálható, kilép)
majd egy billentyű lenyomásáig várakozik:
A megoldása: 

/* *** EGER1.C - Egy egyszeru egerkezelo peldaprogram. *** */
#include<stdio.h>                  /* printf() */
#include<dos.h>                    /* int86()  */
#include<conio.h>                  /* getch()  */

/* *** Az altalunk irt egervezerlo. *** */
#define EGER(k,l,m,n); 
inregs.x.ax=k;  
inregs.x.bx=l;  
inregs.x.cx=m;  
inregs.x.dx=n;  
int86(0x33,&inregs,&outregs);   
AX=outregs.x.ax;        
BX=outregs.x.bx;        
CX=outregs.x.cx;        
DX=outregs.x.dx;        

/* *** MAIN *** */
void main(void)
{
union REGS inregs, outregs;       /* Az eger hasznalatahoz KELL!!! */
int AX,BX,CX,DX;                  /* Az eger hasznalatahoz KELL!!! */

EGER(0,0,0,0);
if(!AX)
  {
  printf("nHiba: Nem talaltam egerdrivert!nAz eger nem 
inicialhato!n");
  /* *** Nem talaltunk egeret. Kilepes *** */
  return;
  }

EGER(1,0,0,0);                    /* Legyen lathato az egerkurzor. */

printf("Egerhasznalat demo. A kilepeshez nyomj le egy 
billentyut!");

getch();                          /* Varakozas egy billentyure. */
EGER(2,0,0,0);                    /* Ne legyen lathato az egerkurzor. 
*/

return;                           /* Kilepes */
}
/* *** Peldaprogram vege. ***/

Hát mostanra ennyi. A többit a következő alkalommal! (kb. 1 hónap 
múlva)
Akkorra ígérem, hogy meglesz a funkciókód-táblázat!



2000. április 06., csütörtök 00:00


címlap zóna archívum




© 1999-2007, Internet Sopron Egyesület