Avatar billede nicklasw Nybegynder
22. december 2006 - 12:31 Der er 6 kommentarer og
1 løsning

Clear consol, uden blinken

Hejsa eksperter.
Jeg er igang med at lave et program der kan vise ram forbruget og en masse andet, det virker også. den updatere hvert halve sec, men problemet er at den står og blinker og det kan jeg simpelthen ikke holde ud, koden til at updatere skærmen er (det er c++):

void refresh()
{
    cout << "-----------------------------------------" << endl
        << "Total m" << char(145) << "ngde ram:" << setw(15) << total_phys_mem << " MBytes |" << endl
        << "Brugt ram:" << setw(22) << loaded_mem << " MBytes |" << endl
        << "Ram tilbage:" << setw(20) << mem_back << " MBytes |" << endl
        << setw(41) << "|" << endl
        << "Total m" << char(145) << "gde virtuel ram:" << setw(8) << total_virtual << " MBytes |" << endl
        << "Brugt virtuel ram:" << setw(14) << loaded_virtual << " MBytes |" << endl
        << "Virtuel ram tilbage:" << setw(12) << virtual_back << " MBytes |" << endl
        << "-----------------------------------------" ;
    Sleep(500);
    system("cls");
}

Er der nogen der kan hjælpe mig med det problem?
jeg tror problemet lægge i system("cls"); så måske en anden måde at cleare consolen på...

M.V.H Nicklas
Avatar billede driis Nybegynder
22. december 2006 - 18:08 #1
system("cls") vil uværgerligt altid få skærmen til at blinke.
Du er nok bedre tjent med blot at opdatere værdierne, og lade resten stå.
Avatar billede nicklasw Nybegynder
22. december 2006 - 18:13 #2
hvordan går jeg tilbage og ændre værdierne, uden at slette alt og printe det igen?
Avatar billede bertelbrander Novice
22. december 2006 - 20:29 #3
Hvis det er til windows kan du bruge SetConsoleCursorPosition til at flytte på cursoren, se her hvordan:
http://damb.dk/snip/bille.html

Hvis du har brug for at vide hvor cursoren er kan du bruge GetConsoleScreenBufferInfo:
http://msdn2.microsoft.com/en-gb/library/ms683171.aspx
Avatar billede nicklasw Nybegynder
23. december 2006 - 13:46 #4
super det var det der skulle til, læg et svar, bertelbrander
Avatar billede bertelbrander Novice
23. december 2006 - 16:23 #5
Jeg samler ikke på point.
Avatar billede nicklasw Nybegynder
23. december 2006 - 16:25 #6
når ja det også rigtigt havde jeg glemt ;)
Avatar billede nymann Nybegynder
24. februar 2007 - 22:22 #7
Prøv 'gotoxy(0,0)' (gotoxy(x++,y++) etc.) eller hvilken XY-position du ønsker at udskrive fra. Start evt. udskriften med en 'clrscr();' første gang.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester