Newbie Fragen die ich in der suche nicht finde :(

Online-Skater

Erfahrenes Mitglied
Hi

also ich habe Borland c++ und ein parr einfache Fragen:

1. Gibt es eine Funktion die einen Integer in einen String umwandelt mit Formatierungsangaben [in Delphi: str(Integervariable:2:2, Stringvariable)]
Dann hat man einen String formatiert.

2. Und wie is die Funktion um zu überprüfen das man z.B. nur ZAHLEN in ein Edit feld eingeben soll? [in Delphi: val(Edit1.Text, Integervariable, Fehlernr)] Mittels dann halt
if Fehlernr = 0 usw ...

3. gibt es eine Funktion in der man die Inhalte eines Arrays ermitteln kann ohne for schleife ?

4. Wie kann ich Strukturierte Typkonstanten festlegen ?
[in Delphi: const monate: array[1..12] of String[15]=('Januar','Februar','März','April',......)]


Thx für hilfe
 
Zuletzt bearbeitet:
1. Gibt es eine Funktion die einen Integer in einen String umwandelt mit Formatierungsangaben [in Delphi: str(Integervariable:2:2, Stringvariable)]
Dann hat man einen String formatiert.
Probier sprintf, da brauchst du zwar einen Buffer( den kriegst du mit char buf[] = {0}; )
Aber es geht
2. Und wie is die Funktion um zu überprüfen das man z.B. nur ZAHLEN in ein Edit feld eingeben soll? [in Delphi: val(Edit1.Text, Integervariable, Fehlernr)] Mittels dann halt
if Fehlernr = 0 usw ...
Hier mal ein Beispiel(in OnKeyPress):
Code:
if((Key < '0') || (Key > '9')) Key = 0;
Oder nimm TryStrToInt, diese Funktion wandelt einen String in eine Zahl um, liefert bei einem Fehler false, sonst true
3. gibt es eine Funktion in der man die Inhalte eines Arrays ermitteln kann ohne for schleife ?
Nein
4. Wie kann ich Strukturierte Typkonstanten festlegen ?
[in Delphi: const monate: array[1..12] of String[15]=('Januar','Februar','März','April',......)]
Probier mal das:
Code:
const String monate[12] = {"Jan", "Feb", "mär", "apr", ......};
(ich hab die Monate abgekürzt)
Wenn du noch fragen frag einfach!
 
Zuletzt bearbeitet:
Ich hab noch mal 2 Beispiele zur ersten Frage:
1.
Code:
#include <stdio>
String TimeToStr(int secs)
{
char buf[256]; // Buffer von 256 Zeichen erzeugen
sprintf(buf, "%d:%d", secs/60, secs%60); // String formatieren
return String(buf); // Buffer in String umwandeln
}
2.
Code:
String TimeToStr(int secs)
{
String str;
str.sprintf("%d:%d", secs/60, secs%60); // String formatieren
return str;
}
Beide Funktionen ergeben das gleiche:
Diese Funktionen wandeln eine Anzahl Sekunden in einen String um:
z.B TimeToStr(500) ergibt "8:20", TimeToStr(60) ergibt "1:00"
PS. Es gibt die Delphi-Methode Format auch in C++.

Zur zweiten hab ich auch noch ein (schlechtes) Beispiel:
Code:
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
int iDummy = 0;
if(Edit1->Text == "") return;
if(!TryStrToInt(Edit1->Text+String(Key), iDummy))
 Key = 0;
}
Ich hab mich geirrt: Die TryStrToInt Funktion ist nicht grade das beste!
Test lieber die Var Key! (liegt sie zwischen 47 und 57 ist sie eine Zahl)
 
Zuletzt bearbeitet:
zu Frage 1: probiers mal mit IntToStr(Integer)
ergibt bei IntToStr(100) den String "100" aus. Geht umgekehrt auch (StrToInt(String)).
 

Neue Beiträge

Zurück