Einen Text einlesen und wieder ausgeben
-
Moin Leute
Ich hab imo in der Schule ein bisschen C++ und wollte deswegen mal versuchen, ein kleines Programm zu schreiben. Ich möchte nun einen Text, den der User in eine Edit-Komponente eingibt, in einer Variable oder soetwas speichern und ihn dann nachher in einer bestimmten Reihenfolge und Art wieder ausgeben.
ne Zahl lese ich ja so aus:
variable = StrToFloat(txt_eingabe -> Text)und Ausgeben so:
txt_ausgabe = FloatToStr(variable)wie geht das ganze nun mit Texten? Welchen Variablentyp und welchen Befehl muss ich nehmen.
Währe echt nett, wenn mir diese Frage jemand beantworten könnte!
mfg, Unwissender
-
standard C++ ist das nicht
-
Hi!
tasty_smoke schrieb:
wie geht das ganze nun mit Texten? Welchen Variablentyp und welchen Befehl muss ich nehmen.
Das kommt ganz darauf an, wie du die Variable dann verwenden willst! Im Prinzip sehe ich eigentlich nur zwei sinnvolle Möglichkeiten: Entweder den ganzen Text als string (std::string) speichern, da sind dann ja auch die Zeilenumbrüche drin enthalten, oder aber den Text zeilenweise verwalten, also vector<string>.
Was machst du denn sonst noch so mit der Variable, bzw was willst du denn mit dem Text dann noch alles anstellen?
-
Also ich will mehrere Text-Teile einlesen und die dann später zu einem ganzen zusammenfügen. Das ganze soll sozusagen ein Code-Generator werden.
Wie genau lese ich denn jetzt einen Text aus einem Textfeld aus und Speicher ihn als String? Und wie muss ich die variable vorher deklarieren?
mfg, tasty_smoke
-
Hallo
Das ist wohl aus dem Borland Builder. Und wenn du dir mal die Hilfe zu TEdit::Text angeschaut hättest wüßtest du das die entsprechende Eigenschaft den Datentype AnsiString hat. Und diesen kannst du auch verwenden.
AnsiString test = Edit1->Text;Dieser Thread wird sicher gleich verschoben. Beim nächsten Problem mit sochen Builder-Sachen gleich ins Builder-Forum posten!
bis bald
akari
-
Danke für die schnelle Hilfe!!
Ich wusste leider vorher nicht, dass das speziell nur etwas mit dem c++ Builder zu tun hat, oder das es kein c++-Standard ist, da uns das unser Lehrer nicht erklärt hat

mfg, tasty_smoke
-
Nochmal ich

Das mit dem einlesen klappt ja soweit jetzt auch... aber wie kann ich es nun wieder in einer Label, oder in einer Edit-Komponente ausgeben?
Normalerweise haben wir das immer so gemacht:
txt_ausgabe -> Text = filmtitel;Aber das will irgendwie nicht funzen. Muss ich einen bestimmten Befehl benutzen, um das, was ich zuvor ausgelesen habe, wieder in ein anderes Feld zu schreiben? Währe nett, wenn ihr mir diese Frage noch beantworten könntet

-
Welchen Datentyp hat denn 'filmtitel'?
Wenn es ein AnsiString ist, dann ist das so ok.
Bei einem std::string mußt du 'filmtitel.c_str()' verwenden, da es keine direkte Konvertierung von und zu AnsiString gibt.
-
Hallo
Aber das will irgendwie nicht funzen.
Das ist keine Ausreichende Fehlerbeschreibung! Wie smoke schon sagt wissen wir doch nicht was für ein Datentyp dahinter steckt. Gewöhn dir schnell an deine Probleme ordentlich zu beschreiben wenn du hier vernünftige Hilfe haben willst.
bis bald
akari