/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Skal lave en skabalon i C++
Fra : Flare


Dato : 13-12-01 17:28

Også posted i: news.dk.edb.programering

Med det mener jeg at jeg skal udskrive nogle værdier med cout (som konstant
ændre sig) i en DOS-consol. Der skal f.eks se sådan ud:

****************************
* Temp: 45 spædning: 15 V *
* *
* Diode (I): 34,5 A *
* *
****************************

Nu er mit egentlige spørgsmål. Da de forskellige værdier bliver fundet på
forskellig tidspunkter (steder i programmet) og kun ændre sig en gang
imellem kan jeg ikke helt se hvordan jeg kan udskifte de forskellige værdier
løbende da layoutet jo skal holdes!

Findes der en kommando noget lignende: cout << x-korrdinat,y-korrdinat <<
tempvariable ; ??

Eller skal det gøres på en helt andet måde.

Jeg er rimlig ny til C++ men hvis der nogen der har et forlslag eller link
ville det være fedt.

PS: Kan man skifte farve på teksten i Consol?

Mvh
Anders




 
 
Morten Brix Pedersen (13-12-2001)
Kommentar
Fra : Morten Brix Pedersen


Dato : 13-12-01 18:02

Flare wrote:

> Med det mener jeg at jeg skal udskrive nogle værdier med cout (som konstant
> ændre sig) i en DOS-consol. Der skal f.eks se sådan ud:
>
> ****************************
> * Temp: 45 spædning: 15 V *
> * *
> * Diode (I): 34,5 A *
> * *
> ****************************
>
> Nu er mit egentlige spørgsmål. Da de forskellige værdier bliver fundet på
> forskellig tidspunkter (steder i programmet) og kun ændre sig en gang
> imellem kan jeg ikke helt se hvordan jeg kan udskifte de forskellige værdier
> løbende da layoutet jo skal holdes!


Jeg tror ikke du kan opdatere skærmen løbende via Standard C++ features,
så skal du have fat i noget DOS-specifikt.

Hvis du ikke vil have det opdateret, men bare have det printet ud på ny,
ved hver opdatering - så er det bare at lave en funktion der tager
værdierne som parametre(temp, diode, spændning), og så lade den printe
det ud korrekt.


> Findes der en kommando noget lignende: cout << x-korrdinat,y-korrdinat <<
> tempvariable ; ??


Nej, men du kan bruge setw() for at sætte bredden.
cout << setw(8) << "hej, jeg er indented med 8" << endl;

> PS: Kan man skifte farve på teksten i Consol?


Sikkert, men det er en DOS specifik feature - det gælder nok bare om at
sende den rigtige escape character til console'et..

- Morten.


Søren Badstue (13-12-2001)
Kommentar
Fra : Søren Badstue


Dato : 13-12-01 19:52


Flare <dct_flare@hotmail.com> skrev i en
nyhedsmeddelelse:3c18d6dd$0$94396$edfadb0f@dspool01.news.tele.dk...
>
> Findes der en kommando noget lignende: cout << x-korrdinat,y-korrdinat <<
> tempvariable ; ??
>
> PS: Kan man skifte farve på teksten i Consol?
>

Jeg har i dk.binaer postet to filer, hvor msoftcon.h skal inkluderes som
header i main. og msoftcon.cpp tilføjes til projektet.

Med at åbne msoftcon.cpp, kan du nu se hvlike nuligheder du har. Jeg mener
begge du efterspørger der der.

Det er hvad vi bruger på første år på DTU, til sådanne opgaver.
Jeg hører gerne om du har fået det til at virke.

Kommentare modtages gerne.

--
Søren





Niels Erik Danielsen (13-12-2001)
Kommentar
Fra : Niels Erik Danielsen


Dato : 13-12-01 20:45


"Flare" <dct_flare@hotmail.com> wrote in message
news:3c18d6dd$0$94396$edfadb0f@dspool01.news.tele.dk...
> Også posted i: news.dk.edb.programering
>
> Med det mener jeg at jeg skal udskrive nogle værdier med cout (som
konstant
> ændre sig) i en DOS-consol. Der skal f.eks se sådan ud:
>
> ****************************
> * Temp: 45 spædning: 15 V *
> * *
> * Diode (I): 34,5 A *
> * *
> ****************************
>
> Findes der en kommando noget lignende: cout << x-korrdinat,y-korrdinat <<
> tempvariable ; ??

Hvad mener du med en DOS-consol ? mener du et DOS program, eller et windows
program der ligner et DOS program ?

I DOS er der flere måder at gøre dette på:

1)Indlæs ANSI.SYS in config sys (device=ansi.sys) og send Escape's til
skærmen.

2)Via. INT21 kald til DOS.

3)Skriv direkte til Video RAM. (0xB8000)

4)Brug de funktioner der evt. findes i runtime biblioteket til din C(++)
compiler.
Jeg mener at den hedder gotoxy(x,y) i Borlands gamle compilere. (dos.h)

Hvis det er et Windows Console mode program findes der nogle kommandoer til
det samme i operativ systemet.

Se:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/con
char_3vg3.asp

SetConsoleCursorPosition

SetConsoleTextAttribute



















Flare (14-12-2001)
Kommentar
Fra : Flare


Dato : 14-12-01 02:15

Tak for forslagene..vil prøve at kigge på det. Jeg mente win consol...ikke
DOS..sowy

anders



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste