» »

Težava s programom, system("cls")

Težava s programom, system("cls")

bi0s ::

Torej napisal sem programček, kateri nam omogoča premikanje chara po ekranu. Vsakič ko se char premakne po osi, se na prejšni lokaciji izbriše znak. Za ta izbris sem uporabil system("cls"), ampak problem nastane pri tem ker zbriše vse ostale znake na ekranu. Obstaja kak način da temu ne bi bilo tako? Prilepim kodo

 koda

koda

  • spremenil: bi0s ()

fiction ::

Za razno risanje po konzoli se ponavadi uporablja ANSI escape code. Na kaksnem drugem operacijskem sistemu bi ti predlagal lahko tudi uporabo ncurses knjiznice. Sicer ti pa tega itak ni treba poceti prav pogosto, ker obstaja drugacen GUI. V tvojem primeru si lahko tudi zapomnis kaj si ze narisal in potem po izbrisu zaslona pac narises vse skupaj se enkrat (recimo brez dolocene tocke).

fiction ::

No v vsakem primeru: +1 tocka za system("cls") idejo za brisanje ekrana in -5 tock za uporabo system() :)
Ponavadi se hoces cim bolj izogibati klicu zunanjih programov. Iz performancnih (zagon novega programa traja zelo dolgo) ter tudi varnostnih razlogov (ce ti nekdo podatkne cls program, ki dela nekaj drugega ga bos lepo izvedel s tvojimi privilegiji).

bi0s ::

Kako se pa uporablja tale ansi code? Je kaka stran z tutoriali al pa kaj podobnega?

fiction ::

Fun-with-ansi-escape-codes bo mogoce zanimivo.
"ANSI escape code" je pac eno navadno zaporedje ASCII znakov, ki jih izpises na izhod ala printf("blabla"). Na zacetku pride ESC znak (ASCII koda 27) in potem se nekaj drugih znakov. Terminal, namesto da direktno izpise tiste znake, vse skupaj smatra kot poseben ukaz in recimo vklopi rdeco barvo, zbrise ekran ali kaj podobnega. Mora pa jasno tako zaporedje podpirati, ce ne pride samo do izpisa cudnih znakov.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Web services - Neveljavni karakterji v XML

Oddelek: Programiranje
314132 (3244) boolsheat
»

[naloga][c++] problem

Oddelek: Programiranje
91479 (1307) StajercSSS
»

[c] char zadeva

Oddelek: Programiranje
222250 (2048) TheCyborg
»

c++ datoteke

Oddelek: Programiranje
464044 (3533) Vesoljc
»

Perl vprašanje.

Oddelek: Programiranje
171281 (1019) ABX

Več podobnih tem