1Danke
ERLEDIGT
JA
JA
ANTWORTEN
12
12
ZUGRIFFE
482
482
EMPFEHLEN
-
Schönen guten Morgen,
Ich habe mir ein Datums- und Zeiteinstellungsprogramm geschrieben.
Jetzt ist aber noch ein kleines Problem, ich will die Zahlen 0-9 nicht so angezeigt
bekommen, sondern wenn die Zahl einstellig ist eine 0 davor haben.
Also das dass dann immer so aussieht 00-09.
Könnte mir da jemand ein Lösungsvorschlag anbieten, kein kompletten Code.
Nur eine Hilfestellung. Danke
-
28.02.08 08:57 #2
- Registriert seit
- Mar 2004
- Beiträge
- 441
- Zahl zur Ausgabe in einen String konvertieren
- Stringlänge ermitteln
- Stringlänge == 1? Dann als neuen String '0' + alten String verwenden.
-
Danke für die Antwort. Ich habe es jetzt so, aber irgendwie will die 0 nicht.
Code :1 2 3 4 5
CString lNull = "0"; if (lStunden.GetLength() == 1) { lStunden = lNull + lStunden; }
Woran könnte das liegen!? Oder muss ich lNull mit lStunden mit
Hilfe von strcpy verbinden!?
-
28.02.08 09:21 #4
- Registriert seit
- Mar 2004
- Beiträge
- 441
Wenn lStunden vom Typ CString ist, dann müsste das eigentlich funktionieren. Genau so habe ich das nämlich auch im Zuge von manuellen Timestamps in meinem Projekt (Visual C++ 6.0, MFC).
-
Ja lStunden ist auch vom Typ CString.
Kann das vielleicht sein, weil ich eMbedded Visual C++ 4.0 benutze!?
Also muss ich es dann wahrscheinlich mit strcpy machen oder!?
-
28.02.08 09:35 #6
- Registriert seit
- Mar 2004
- Beiträge
- 441
Könnte evtl. möglich sein.
Mit strcpy bist du aber - denke ich - eh auf der sicheren Seite.
-
28.02.08 09:44 #7
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
Hi.
Du könntest mit CString auch die Format Methode benutzen (obwohl ich nicht sicher bin, ob es die auch bei embedded Visual C++ gibt):
GrußCode cpp:1 2 3 4 5
int stunden = 5; int minuten = 3; CString str; str.Format("%.2d:%.2d", stunden, minuten);
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Ich hab das jetzt mit dem format Befehl gemacht;
Code :1
lStunden.Format(_T("%.2s"), lStunden);
Nur die Zahl trotzdem einstellig. Nichts ändert sich. Warum!?
Und wenn ich es so mache;
Code :1
lStunden.Format((const unsigned short *)"%.2s", lStunden);
Kommen in die Variable 2 Fragezeichen.Geändert von shader09 (28.02.08 um 11:34 Uhr)
-
28.02.08 12:08 #9
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Ich brauch die als CString, weil Ich die ja aus dem Editfeld auslese. Und dieser fordert CString.Du brauchst die Stunden usw. nicht erst extra in CStrings umwandeln. Du hast die Zeitangaben doch sicher als Zahlenwerte, oder?
Code :1
GetDlgItemText(IDC_EDT_STU,lStunden);
Ich habe für die Stunden ein einzelnes Editfeld, für die Minuten ein einzelnes Editfeld.
Mit Buttons (einmal +, einmal -) kann man dann die Stunden/Minuten erhöhen/verringern. Das man das ein bisschen besser versteht.
Das habe ich dann einfach aus Verzweifelung gemacht bzw. einfach malWeil du dort unvernünftig castest. So funktioniert es nicht.
ausprobiert*g*
-
28.02.08 13:13 #11
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Vielen Dank, aber das klappt auch nicht. Die Null ist immer noch nicht da,Achso. Dann nimm als Formatstring "%02s".
ich komm dann auch nur noch bis zur Zahl 8. Dann gehts nicht mehr weiter.
Also geht das anscheind doch nicht mit dem Format Befehl.
-
Hatte noch eine Umkonvertierung danach drinne. Deswegen hat es nicht geklappt.
*kopfschüttel* Danke für die Hilfe.
Ähnliche Themen
-
Rechtsklick im Editfeld
Von Winner im Forum VisualStudio & MFCAntworten: 0Letzter Beitrag: 14.04.09, 09:16 -
MFC Editfeld Textzuweisung
Von Domestos im Forum C/C++Antworten: 2Letzter Beitrag: 12.04.05, 20:16 -
Editfeld net!
Von mstank im Forum VisualStudio & MFCAntworten: 5Letzter Beitrag: 21.02.05, 12:38 -
In Editfeld schreiben
Von Tobias K. im Forum VisualStudio & MFCAntworten: 6Letzter Beitrag: 29.11.04, 20:49 -
Eingaben im Editfeld von MFC
Von ozzijoe im Forum VisualStudio & MFCAntworten: 3Letzter Beitrag: 02.04.04, 14:23





Zitieren

Login






