Info printimine konsooli ühele reale
Moderaator: Moderaatorid
Info printimine konsooli ühele reale
Näiteks on mingis keeles for loop. Kuidas seda konsooli printida nii, et loop'i iga liige lihtsalt asendab eelmise prinditud liikme ja rida ei vahetata?
Peaks vist üsna lihtne teha olema, olen seda paljudes programmides näinud.
Näiteks protsentide lugemine nullist sajani.
Peaks vist üsna lihtne teha olema, olen seda paljudes programmides näinud.
Näiteks protsentide lugemine nullist sajani.
ehk vast nii et paned andmed minema puhvrisse ja andmete esitaja paned tsükliliselt neid andmeid sealt lugema kuni tingimuseni mis loendamise lõpetab.
mingi loenduri näide http://www.daniweb.com/forums/thread189556.html#
ehk saad kasulikke vihjeid.
edit: ma ei saa seda ise kah jooksma nii kuidas ettekujutus on
see on sama asi mis hakkab kaadreid lugema programmis mplayer.
käsk mplayer mms://tv.eenet.ee/kotkas
siis hakkavad terminalis numbrid jookma.
ilmselt tuleb programmi koodist vaadata kuidas loendurid tehtud on.
mingi loenduri näide http://www.daniweb.com/forums/thread189556.html#
ehk saad kasulikke vihjeid.
edit: ma ei saa seda ise kah jooksma nii kuidas ettekujutus on
see on sama asi mis hakkab kaadreid lugema programmis mplayer.
käsk mplayer mms://tv.eenet.ee/kotkas
siis hakkavad terminalis numbrid jookma.
ilmselt tuleb programmi koodist vaadata kuidas loendurid tehtud on.
Väga prosta lahendus: väljatrükkimisel kasuta reavahetuse '\n' asemel '\r' ja suru stdout puhvrist ekraanile. Kogu maagia. Eeldab "küpsetatud" terminalirezhiimi (st sisend-väljud töödeldakse reakaupa, mitte tähe kaupa) mis ka vaikimisi on.
Minimaalne näidisprogramm C-s, mis loeb 15-ni:
Minimaalne näidisprogramm C-s, mis loeb 15-ni:
Kood: Vali kõik
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
int main() {
int i;
for (i = 0; i < 15; i++) {
usleep(200000);
printf("%02d\r", i);
fflush(stdout);
}
printf("\n");
return 0;
}When the shit hits the fan, keep your mouth shut!
ja kui ei taha kompileerida ja möllata siis võib kirjutada ka bashi scripti, millesse ma hiljuti olen "armunud" 
#!/bin/bash
for ((i=100;i<=115;i+=1)); do
echo -e -n "\r$i"
sleep 1
done
#!/bin/bash
for ((i=100;i<=115;i+=1)); do
echo -e -n "\r$i"
sleep 1
done
Viimati muutis imapi, 15.06.2009, 22:31, muudetud 3 korda kokku.
More than once my wife has asked why I don't do Windows, because that's where the money is. Why don't I just sell drugs or produce porn - there's money in those things, right?
oehh sorry
... ma kiiruga kirjutasin lihtsalt näite kui lihtne on bashis üldse scriptida. Viimasel ajal palju oma elu lihtsamaks sellega teinud 
...
muutsin ära, visuaalselt on ok aga kindlasti on paremaid lahendusi
...
muutsin ära, visuaalselt on ok aga kindlasti on paremaid lahendusi
More than once my wife has asked why I don't do Windows, because that's where the money is. Why don't I just sell drugs or produce porn - there's money in those things, right?
Ilmselt siis eclipse terminal ei ühildu unixi terminaliga. Pole neil ka palju ühist, eclipse on multiplatvormne ja on eeskätt Java tegemiseks.olavsu1 kirjutas:tavalises konsoolis töötas, eclipse terminalis ei töötanud. pani iga tulemuse eraldi reale.
When the shit hits the fan, keep your mouth shut!
Siin kenasti seletatud. http://en.wikipedia.org/wiki/Bourne_shellTaux007 kirjutas:Äkki tahab keergi seletada lähemalt, mis see bashis scriptimine on?
More than once my wife has asked why I don't do Windows, because that's where the money is. Why don't I just sell drugs or produce porn - there's money in those things, right?


