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 anders

    ofstream 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


Log in to reply