Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

postavljanje kursora

[es] :: C/C++ programiranje :: postavljanje kursora

[ Pregleda: 947 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kandelabr

Član broj: 139008
Poruke: 13
*.adsl-1.sezampro.yu.



Profil

icon postavljanje kursora09.01.2010. u 13:23 - pre 174 meseci
E ovako, trebao bih da ispisujem neke poruke i da mi se automatski pomera kursor na ekranu, pri cemu je y koordinata uvek na nuli, evo primer:
Code:
for(int i=6; i<50; i+=6){
        cout << "10\n"<<"a"<<endl;
          curPos(i,0);
        
      }

pri cemu sam ovu f-ju curPos iskopao ne netu i ona glasi
Code:
void curPos(int x, int y) {
  HANDLE hStdout;
  CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
  hStdout=GetStdHandle(STD_OUTPUT_HANDLE);
  GetConsoleScreenBufferInfo(hStdout, &csbiInfo);
  csbiInfo.dwCursorPosition.X=x;
  csbiInfo.dwCursorPosition.Y=y;
  SetConsoleCursorPosition(hStdout, csbiInfo.dwCursorPosition);
}


E sad izlaz ovakvog programa je nesto ovako:

Code:

10      10      10      10      10      10      10       10
a


a meni bi trebelo
Code:

10     10     10     10     10     10     10     10
a      a      a      a      a      a      a      a


Problem je u tome sto svaki put kad se ispise kraj reda on sledeci red pocinje od pocetka i pri tome prepise staro a, a ja bih zeleo da i sledeci red pocinje od istog pomeraja na x-osi.

Ako neko ima resenje problema, ja se maximalno zahvaljujem.
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: postavljanje kursora11.01.2010. u 09:35 - pre 174 meseci
Zeza te onaj \n u cout << "10\n". Da bi ti ovo radilo moraš da pozivaš curPos(0,x), ispišeš 10, zatim curPos(1,x), i ispišeš a. Praktično pravilo je ako sam kontrolišeš kurzor onda ne koristiš \n.
 
Odgovor na temu

kandelabr

Član broj: 139008
Poruke: 13
*.adsl-a-1.sezampro.yu.



Profil

icon Re: postavljanje kursora11.01.2010. u 11:52 - pre 174 meseci
Znam, skapirao sam ja to ali je stvar sto je ovaj programcic samo mali primer mog problema.
Meni u stvari treba da se ispisuju slova kao na displejima npr.
___
|
---
|
---

s tim sto se ona mogu naci bilo gde na ekranu, pa mi treba da kad se ispise ova gornja linija, i kad se predje u novi red da se kursor automatski pozicionira ispod a ne da ode na pocetak reda.
A ja sam slova pamtio kao stringove, npr. za E " ___\n| \n --- \n| \n --- "
Problem je upravo ono sto si rekao, kad se uradi \n on odma ode na pocetak sl. reda, tako da tu nesto mora da se sredi.
Hvala u svakom slucaju!
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: postavljanje kursora11.01.2010. u 12:07 - pre 174 meseci
Moguće rešenje bi bilo da imaš funkciju koja prima početnu koordinatu, kao i string sa \n delimiterima, i onda deli taj string na podstringove bez \n, i svaki od delova ispisuje u novom redu, s tim što je X koordinata konstantna. Drugo rešenje je da u toj funkciji primaš niz stringova umesto jednog stringa, ali u suštini svodi se na isto.
 
Odgovor na temu

[es] :: C/C++ programiranje :: postavljanje kursora

[ Pregleda: 947 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.