Text aus Memo Feld umwandeln
-
Hallo ich hab folgendes Problem
Ich will das wenn man z.b. im Memo Feld in die erste Zeile eingibt
such und in die 2te Zeile Farbe
das eine Text datei erstellt wird wo diese Wert so eingetragen werden.
Aber irgendwie krieg ich das nicht hin
Hat da einer Ahnung von wie das funktioniert?
String such = "dir"; String farbe = "color a"; if (Memo1->Text=="such"); { ofstream datei("test.txt"); datei<<such; } if (Memo1->Text=="farbe"); { ofstream datei("test.txt"); datei<<farbe; }
-
Text enthält wohl den gesamten Inhalt des Memofeldes. Wenn Du auf einzelne Zeilen zugreifen willst, schau' Dir mal TCustomMemo::Lines an. Des weiteren kannst Du den Debugger zu Hilfe nehmen um zu prüfen, was genau in dem Memo steht. Vielleicht ist das noch ein newline drin, also "such\n" statt "such".
-
Ich hab es jetzt mal so versucht:
if (Memo1->Lines->Strings[0]=="suchen\n"); { ofstream datei("test.txt"); datei<<"dir\n"; datei.close(); } if (Memo1->Lines->Strings[1]=="farbe\n"); { ofstream datei("test.txt"); datei<<"color\n"; datei.close(); }
Nur das Problem ist jetzt wenn in das Memo Feld eingebe suchen dann steht da das Wort Color anstatt dir wieso springt der immer in die nächste if abfrage
Denn das heisst ja
Wenn (Memo1->Lines->Strings[0]=="suchen\n"); { ..... }
Wenn (Memo1->Lines->Strings[1]=="farbe\n"); { ... }
und nicht
Wenn (Memo1->Lines->Strings[0]=="suchen\n"); { ..... }
Dann (Memo1->Lines->Strings[1]=="farbe\n"); { ... }
-
Weil vielleicht beide Werte gefunden werden und in der zweiten Abfrage dann deine Datei test.txt überschrieben wird.
Öffne die Date doch mal andersofstream datei("test.txt", ios::app);
jetzt wird neuer Text angehängt.
-
Das mit dem Text hinzufügen funktioniert schon mal
Aber wenn ich im Memo Feld das Wort suchen eingeben dann schreibt der noch immer das Wort color mit in die Text Datei
-
Mach mal die Semikolons nach den Abfragen weg. Sonst wird der Code darunter immer ausgeführt.
Du kannst ja statt dem direkten Vergleich auch eine Suche im String machen z.Bsp. mit Pos.if (Memo1->Lines->Strings[0].Pos("suchen") > 0)
-
ah ok ty