Mam program v C, neco to vypise(printf)a ceka, az zmacknu klavesu(getch ci getchar). No a jak tak ceka na to zmacknuti klavesy, tak tam blika kurzor, coz nechci. Nevi nekdo, jak na to?
Dik
Printable View
Mam program v C, neco to vypise(printf)a ceka, az zmacknu klavesu(getch ci getchar). No a jak tak ceka na to zmacknuti klavesy, tak tam blika kurzor, coz nechci. Nevi nekdo, jak na to?
Dik
to máš na mobilu nebo na PDA ?
Alebo v DOSe? Tam sa kurzor da vypnut a zapnut nejako takto:
Tie hodnoty v CX registri su viac-menej vycucane z palca, ako vidno v CursorOff, tak som to uz aspon raz menil (asi to niekde nefungovalo).Kód:Procedure CursorOn; Assembler;
Asm
MOV AH,01H
MOV CX,0607H
INT 10H
End;
Procedure CursorOff; Assembler;
Asm
MOV AH,01H
MOV CX,2000H{0100H} {v1.22}
INT 10H
End;
Pokud to máš ve windows konzoli, tak by mělo fungovat tohle:
Kód:#include "windows.h";
....
....
CONSOLE_CURSOR_INFO info;
HANDLE hOutput = GetStdHandle (STD_OUTPUT_HANDLE);
info.bVisible = FALSE;
info.dwSize = 1;
SetConsoleCursorInfo(hOutput,&info);
....
Ten asm mi tam nak nesel dat....nak mi to nezralo vkladanej assembler(Dev-C), ten s wingl konzoli sel. Diky.
BTW: Ted sem prisel jak delat vkladanej do Dev_C....na kazde lince __asm("asm kod");....kua drat
To bude asi tym, ze ten Rainbowov kod je z Pascalu ;D
mělo by to také jít pomocí přerušení ne?
někde v SYSMANovi to určitě taky je :-)
no to ja si nasel na netu, jak vkladanej asm v C, ale(aspon to co sem nasel) bylo, vicemene, podobne a nefakalo to....az pak v helpu toho Dev-C++ se, to dohledal
No ked je to windowsacky program, tak samozrejme nemozes pouzit int 10h.
no nee, mi nesezral ani to navesti "asm"....a kdyz sem hledal po netu, jak vlozit asm kod, tak sem nasel primo funkci na vypnuti kursoru v asm a tu mi to taky nesezralo, pac ten Dev-C chce vkladanej asm tak jak sem psal uz vyse
ale on tam prepsal to co si mu napsal, tak ze prekladac mu vyhazoval chyby, protoze mu nic narikalo Asm a pak dalsi radky bez ";". Tak to musel upravit do podobyCitace:
Původně odeslal Rainbow
neboKód:_asm{
xxxx
xxxx
}
Kód:void funkce(){
asm("xxxxxxx");
}
No ale aj keby to tak spravil, tak mu to s tym int 10h nepojde :wink:
no není Win jako Win a není mode jako mode :wink: Takže to tvoje tvrzení obecně neplatíCitace:
Původně odeslal Rainbow