Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: str.putintf(...) Kategorie: Programmierung (von Grossmann Michael - 4.12.2005 11:16)
Als Antwort auf Re: str.putintf(...) von KönigDichBauch - 1.12.2005 17:17
Ich nutze:
C164CI-ControllerBoard, CC2-Application-Board, OSOPT V3.0
> Hallo Michael,
>
> > ich benutze das OSOPT V3.0 und habe den sys0002.hex Treiber geladen. Sobald ich in meinem
> > Programm den Befehl str.putinf(....) einfüge, hängt sich das Programm auf und cc2 startet neu.
> > Klammere ich den Befehl aus, läuft alles.
> >
> > Beispiel: Ich will die beiden Integerzahlen mit einer Nachkommastelle in der Stringvariablen
> > s3 auf einem Display anzeigen.
> >
> > string s3;
> > int Zahl1,Zahl2;
> > Zahl1 = 2566;
> > Zahl2 = 2414;
> >
> >   s3 = "Test:  ";
> >             s3 = s3 + str.putintf(s3,Zahl1,1);
> >             s3 = s3 + "    ";
> >             s3 = s3 + str.putintf(s3,Zahl2,1);
>
> Ja, wenn man sich das anschaut scheint im ersten Moment alle OK, auch die Syntaxprüfung und
> der Compiler mosern nicht rum und wir haben einen Autoboot, wenn wir das Programm starten.
>
> Aber str.putinf ist so deffiniert:
>
>  inline function putintf ( string s, int value, int format )
>
> ein Pascaler würde das procedur und nicht function nennen. Man mu� es also so umstellen:
>
>   string s3;
>   int Zahl1,Zahl2;
>   Zahl1 = 2566;
>   Zahl2 = 2414;
>
>   str.clear(s3);
>   str.putstring(s3,"Test:  ");
>   str.putintf(s3,Zahl1,1);
>   str.putstring(s3,"    ");
>   str.putintf(s3,Zahl2,1);
>

>
> und dann klappt es. Aber natürlich nicht mit Nachkommastellen. Ein Integer hat keine Kommastellen
> und der zweite Parameter in putintf ist die Anzahl der Stellen, die minimal erzeugt werden. Daher nehme
> ich an, das du eher so was wolltest:
>
>   string s3;
>   float Zahl1,Zahl2;
>   Zahl1 = 256.6;
>   Zahl2 = 241.4;
>
>   str.clear(s3);
>   str.putstring(s3,"Test:  ");
>   str.putfloatf(s3,Zahl1,1);
>   str.putstring(s3,"    ");
>   str.putfloatf(s3,Zahl2,1);
>

>
> Schade ist aber, das der Compiler das erste Beispiel durch lässt.
>
> GruÃ?
> Thomas
>

Danke Thomas für deine Hilfe

Michael


    Antwort schreiben


Antworten: