Lisek^ Opublikowano 5 Listopada 2003 Zgłoś Opublikowano 5 Listopada 2003 Mam problem bo nie wiem jak ukryć kursor w C++. W Pascalu służył do tego kod w assemblerze. Podejrzewam że tutaj też tak jest ale nigdzie w sieci nie mogę tego znaleźć. Pomóżcie!! Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
nem Opublikowano 5 Listopada 2003 Zgłoś Opublikowano 5 Listopada 2003 Jak rozumiem, chodzi o Win32 The ShowCursor function displays or hides the cursor. int ShowCursor(BOOL bShow // cursor visibility flag ); Acha, jeżeli to jednak DOS-owy kursor Cię denerwuje to co za problem, skoro masz kod w asemblerze?? Zależnie od kompilatora: asm{ // tu instrukcje asemblera}lub_asm{ // tu instrukcje asemblera} Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Lisek^ Opublikowano 5 Listopada 2003 Zgłoś Opublikowano 5 Listopada 2003 Ano właśnie o to chodzi że gdzieś zapodziałem ten kod z Pascala assemblerowy i teraz nie mogę sobie poradzić z odszukaniem go. Pomóżcie! Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 5 Listopada 2003 Zgłoś Opublikowano 5 Listopada 2003 Procedure SetCursor(On: boolean);var Reg: Registers;begin Reg.AX:= $0100; Reg.BX:= 0; if On then Reg.CX:= $0607 else Reg.CX:= $2020; Intr($10,Reg);end;Zostaje Ci tyko to przepisac na asm :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
nem Opublikowano 5 Listopada 2003 Zgłoś Opublikowano 5 Listopada 2003 Jadymy :D asm { mov AX, 0x0100; mov BX, 0x0; mov CX, 0x2020; // Aby wyłączyć spowrotem 0x0607 int 0x10;} Mam nadzieję, że dobrze przepisałem na asembler :D nigdy nie pisałem nic w pascalu. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Lisek^ Opublikowano 5 Listopada 2003 Zgłoś Opublikowano 5 Listopada 2003 Działa działa!!! Dzięki nem :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
nem Opublikowano 5 Listopada 2003 Zgłoś Opublikowano 5 Listopada 2003 Polecam się na przyszłość. No i oczywiście FIDO który skombinował skąś ten kod :D Powodzenia. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 5 Listopada 2003 Zgłoś Opublikowano 5 Listopada 2003 Kiedys do programu na zaliczenie sam tego potrzebowalem, wiec daleko szukac nie musialem :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
mily Opublikowano 8 Listopada 2003 Zgłoś Opublikowano 8 Listopada 2003 Nie wiem, po co te zabawy z Assemblerem, bo w C/C++ jest do tego specjalna instrukcja: _SETCURSORTYPE(_NOCURSOR); _SETCURSORTYPE(_SOLIDCURSOR); _SETCURSORTYPE(_NORMALCURSOR); 1 instrukcja - brak kursora 2 instrukcja - prostokacik :P 3 instrukcja - normalny kursorek Wiem, że działa na 100% w Borland C++. Jeśli chodzi o inne kompilatory, to musisz sprawdzić. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 8 Listopada 2003 Zgłoś Opublikowano 8 Listopada 2003 Nie wiem, po co te zabawy z AssembleremAno wlasnie po to, zeby uniezaleznic sie od kompilatora. Wiem, że działa na 100% w Borland C++. Jeśli chodzi o inne kompilatory, to musisz sprawdzić.Jestem prawie pewien, ze jest to tylko w BC++ i w zadnym innym... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
mily Opublikowano 9 Listopada 2003 Zgłoś Opublikowano 9 Listopada 2003 Z jednej strony masz racje, ale z drugiej, to po co się męczyć, skoro Borland Cię wyręcza? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Lisek^ Opublikowano 9 Listopada 2003 Zgłoś Opublikowano 9 Listopada 2003 Z jednej strony masz racje, ale z drugiej, to po co się męczyć, skoro Borland Cię wyręcza? Chociażby po to aby trochę Assemblera się nauczyć :) p.s. A te polecenia co napisałeś to chyba tylko w Visualu działają? Czy może się mylę :? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
mily Opublikowano 9 Listopada 2003 Zgłoś Opublikowano 9 Listopada 2003 jakim wizualu? Ja mam książkę do C/C++ H. Shildta i Zalewskiego i tam to jest opisane. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Lisek^ Opublikowano 9 Listopada 2003 Zgłoś Opublikowano 9 Listopada 2003 Faktycznie jest taka funkcja ale w Borland C++ 3.11 nie udało mi się jej zastosować. Wywala błąd :( Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
mily Opublikowano 10 Listopada 2003 Zgłoś Opublikowano 10 Listopada 2003 Może masz uszkodzoną wersje kompilatora, albo brakue Ci jakiejś biblioteki? U mnie działa w porządku na Borland C++ 3.1 for DOS ;) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
nem Opublikowano 10 Listopada 2003 Zgłoś Opublikowano 10 Listopada 2003 U mnie działa w porządku na Borland C++ 3.1 for DOS ;) Można prosić pełne deklaracje funkcji oraz nazwę pliku nagłówkowego, w którym są zdefiniowane? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
mily Opublikowano 10 Listopada 2003 Zgłoś Opublikowano 10 Listopada 2003 conio.h To jedyne co pisze w ksiazce Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Lisek^ Opublikowano 23 Listopada 2003 Zgłoś Opublikowano 23 Listopada 2003 conio.h To jedyne co pisze w ksiazce U mnie z conio.h nie działa :( Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Yahoo Opublikowano 19 Grudnia 2003 Zgłoś Opublikowano 19 Grudnia 2003 Lisek^ a pisałeś to co w nawiasie z dużej litery? u mnie jak wpisałem z małej nie jeżdziło :/ musi tam być dokładnie: "_setcursortype(_NOCURSOR);" Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Lisek^ Opublikowano 23 Grudnia 2003 Zgłoś Opublikowano 23 Grudnia 2003 Yahoo próbowałem na różne sposoby i nie zadziałało :( Być może mam siakiś zwalony kompilator :P Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Lisek^ Opublikowano 23 Grudnia 2003 Zgłoś Opublikowano 23 Grudnia 2003 Teraz też potrzebuję pomocy a postanowiłem nie zkładać nowego wątku. Otóż jak rozwiązać problem dzielenia liczby mniejszej przez większą typu int. Funkcja zwraca float i zawsze jest to 0. Wiem, że w C++ jest coś takiego jak zaokrąglanie do 0 ale nie wiem jak to dokładnie działa. Potrzebne mi to jest przy obliczaniu miejsca zerowego funkcji liniowej czyli coś w stylu x=-b/a Może ktoś z Was wie co z tym fantem zrobić? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ParanoiK Opublikowano 23 Grudnia 2003 Zgłoś Opublikowano 23 Grudnia 2003 Zrób rzutowanie wyniku lub jednej zmiennej na typ float. Np: int a = 2;int b = 4;cout << (float)a/b << endl; Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 24 Grudnia 2003 Zgłoś Opublikowano 24 Grudnia 2003 ewentualnie 1.0*a/b, 3 znaki krocej ;P Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Lisek^ Opublikowano 24 Grudnia 2003 Zgłoś Opublikowano 24 Grudnia 2003 Wielkie dzięki za pomoc. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
snaj* Opublikowano 2 Stycznia 2004 Zgłoś Opublikowano 2 Stycznia 2004 Nowy dzial hmmm fajny bajer ale ja proponowalbym raczej odnosniki do bardziej odpowiednich miejsc ;) - binboy - C, C++, WinApi, Asm - 4p - Delphi, Pascal osobiscie preferuje ten pierwszy (zainteresowani wiedza czemu :] ). Ale wracajac do tematu, Panie i Panowie pomijaja tutaj za duzo kwestii i pozostawiaja za duzo niejasnosci z czego rodza sie bledy :( !! Otoz obecnie najwazniejsze podzialy w aplikacjach to 16 i 32 bitowe programy. Ten podzial to nie tylko zwiekszenie wymiarow int-a ale takze zmiany w bibliotekach (tutaj wspomniany conio.h), przejscie z real na protected mode (po DOSie pozostal juz tylko emulator :]). I tak kompilatory DJGPP, BC++ 3.11 tworza aplikacje 16bitowe, ale juz VC++, BCB (od bodajze wersji 4) tworza juz aplikacje tylko 32bitowe !! Ktore (jesli wybierzemy odpowiedni projekt) mimo ze odpalaja sie w konsoli to z DOSem nie maja nic wspolnego i pod nim w 100% sie nie uruchomia !! Dlatego tez to co napisal mily : _SETCURSORTYPE(_NOCURSOR); _SETCURSORTYPE(_SOLIDCURSOR); _SETCURSORTYPE(_NORMALCURSOR); (_set... powinno ofcoz byc z malymi literkami) zadziala na starej wersji conio.h w kompilatorach 16bitowych, czyli przeznaczonych dla DOS-a i przy kompilacji nie bedzie problemow (nie wiem czy zadziala to na gcc bo pod linuxem uzywam w konsoli ncurses ale to juz inna bajka). Natomiast na kompilatorach win32 conio jak i sama konsola jest nowa i funkcje modyfikujace konsole zgromadzone zostaly w specjalnym headerku - wincon.h. To wyjasnia powyzsze problemy kilku osob z conio.h i roznymi kompilatorami. Podzialom poddal sie tez assembler i dlatego to co napisal Fido : Ano wlasnie po to, zeby uniezaleznic sie od kompilatora. to niestety bzdura. Idea uniezaleznienia moze i istnieje ;) ale tak sie sklada ze istnieja dwie konkurencyjne skladnie asm-a : AT&T (w kompilatorach opartych na gcc, wiec np. DJGPP) i Intel'a (BCB, VC++ itp). Sa one calkowicie inne i kod ze wstawka na pewno nie skompiluje sie na obu grupach kompilatorow. Uniezaleznienie nie istnieje :] Po napisaniu kodu w asm-ie pozostaje wiec tylko satysfakcja z jego znajomosci - co jest wystarczajaca nagroda :] No to chyba na tyle tego wykladu :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 2 Stycznia 2004 Zgłoś Opublikowano 2 Stycznia 2004 ps. djgpp jest 32-bitowy a binboy teraz nie dziala ;P Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
snaj* Opublikowano 2 Stycznia 2004 Zgłoś Opublikowano 2 Stycznia 2004 ps. djgpp jest 32-bitowy a binboy teraz nie dziala ;PTRUE (co nie zmienia faktu ze tworzony jest kod DOSowy - przynajmniej stare wersje obecnie nie wiem jak to jest bo go po prostu nie uzywam :]) i TRUE (przenosza w jakies szybsze miejsce :]). A i jeszcze wazny szczegol. Otoz w win32 rzadzi PMode (tryb chroniony) on to powoduje ze mozemy wlasciwie zapomniec o bezposrednim odwolaniu sie do sprzetu. Dlatego tez korzystanie we wstawkach z przerwan jest maxymalnie ograniczone i tylko z niektorych (tych mniej znaczacych) mozna korzystac ; 21h, 10h itp odpadaja niestety( ofcoz na CPL=3 czyli na poziomie zdefiniowanym przez M$ dla poczciwych uzytkownikow Windowsa), podczas gdy pod czystym DOSem (real mode ma swoje zalety :]) mozna z nich bez ograniczen korzystac. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...