Text aus einem Edit Feld in eine .txt Datei übertragen



  • Mit jedem Add erzeugst du eine neue Zeile. Bei 3 Editfeldern würde das so aussehen.

    TStringList *list = new TStringList();
    list->Add(Edit1->Text);
    list->Add(Edit2->Text);
    list->Add(Edit3->Text);
    list->SaveToFile("c:\\test.txt");
    delete list;
    


  • Hallo,

    wie bekomme ich denn auch noch ein label Feld in die gleiche Zeile?

    und wie kann ich die Wörter anordnen? (Zentrieren )

    Danke und Gruß J.R.



  • Hallo

    wie bekomme ich denn auch noch ein label Feld in die gleiche Zeile?

    TStringList *list = new TStringList();
    list->Add(Edit1->Text + " " + Edit2->Text);
    list->Add(Edit3->Text);
    list->SaveToFile("c:\\test.txt");
    delete list;
    

    und wie kann ich die Wörter anordnen? (Zentrieren )

    Ausschließlich indem du mit Leerzeichen so auffühlst, das es so aussieht als ob.

    bis bald
    akari



  • Wie bekommt man nun das Geschriebene wieder in die Einzelnen Edit
    Felder?

    Habs mit:

    TStringList *list = new TStringList();
    list->Add(Edit1->Text);
    list->Add(Edit3->Text);
    list->LoadFromFile("c:\\test.txt");
    delete list;
    

    probiert, klappt aber leider nicht.
    Muss ich die TStringList vorher einlesen ?



  • Brösel schrieb:

    TStringList *list = new TStringList();
    list->Add(Edit1->Text);
    list->Add(Edit3->Text);
    list->LoadFromFile("c:\\test.txt");
    delete list;
    

    Denk mal scharf nach...
    Kommentiere bitte mal die einzelnen Anweisungen. Was geschieht Deiner Meinung nach in den einzelnen Zeilen?



  • noch ein Hinweis: schau in der BCB-Hilfe unter TStringList bei "Verwendung von TStringList" und arbeite die einzelnen Themen mal durch



  • Gut.

    Form1->Memo1->Lines->LoadFromFile(FileName);
    

    Das stand in der Hilfe. Das habe ich auch schon gefunden und probiet.
    Nur kann ich damit nicht definieren, welche Zeile ich in welches Edit Fenster oder was auch immer einlesen will.



  • eventuell hilft ja "Auf einen bestimmten String zugreifen" oder "Strings in einer Liste durchlaufen"

    allerdings musst du bei deiner Variante schon selbst wissen in welche Zeile du den Text von welchem Edit gespeichert hast

    und es könnt sinnvoll sein _erst_ die Datei zu laden und _danach_ auf die Einträge in der Liste zuzugreifen



  • 1. Was soll denn das Memo hier?
    2. sagte dir Memo1->Lines->Strings[] etwas? Darüber müsste etwas in der Hilfe stehen.
    Ansonsten Memo::Lines ist vom Typ TStrings (genauer TStringList) also schau da mal rein welche Eigenschaften TStrinList hat.



  • Könntet ihr mir vielleicht ein Codebeispiel geben? wäre klasse.



  • Edit1->Text = Memo1->Lines->Strings[0];
    

    Das ist ein Code-Beispiel.
    Lerne bitte die Hilfe zu benutzen. Da gibt es auch ein schönes Tutorial von Junix. Dann brauchst du später nicht mehr so viele Grundlagenfragen zu stellen.
    [edit]Hier der Link http://www.junix.ch/bcb/help/hilfe.html[edit]



  • was geht denn nicht? was hast du versucht?

    [Edit] zu langsam...



  • Nö, Codebeispiele gibt es für so Einfaches nicht. 😉

    Du mußt die Schritte umgekehrt zum Speichern durchführen.
    Du kannst nicht direkt in die Edits laden, sondern mußt wieder den Umweg über die TStringList gehen.

    [Edit] viiieeel zu langsam... dummes Telefon...



  • Edit1->Text = Memo1->Lines->Strings[0];
    

    Ich glaub ich habe mich falsch ausgedrückt.
    Ich speicher über

    TStringList *list = new TStringList();
     list->Add(RichEdit1->Text);
     list->Add(Memo1->Text);
     list->Add(Memo2->Text);
     list->SaveToFile(save->FileName);
     delete list;
    

    mehrere Zahlen oder Texte in einer Textdatei.
    Nun möchte ich die Infos wieder in das Richtige Feld einlesen.
    Und da bräuchte ich nen Befehl mit dem ich definieren kann, welche Zeilen in welches Memo oder RichEdit Feld eingelesen wird.

    THX



  • ???
    Es ging hier ursprünglich um TEdits. Für TRichEdit und TMemo brauchst Du keinen solchen Aufwand treiben, die kannst Du direkt in eine Datei speichern.
    Schau Dir mal die Eigenschaft Lines von TRichEdit und TMemo an.



  • Das habe ich auch schon gemacht. mit diesem Befehl aus der Hilfe.

    Form1->RichEdit1->Lines->LoadFromFile(odgOpen->FileName);
    

    Doch ich speicher ja alle Memos und den RichEdit Inhalt in einer Datei.
    Mit diesem Befehl wird komplett alles in das RichEdit Feld eingelesen. Das möchte ich aber nicht. sondern nur bestimmte Zeilen z.B. von Zeile 1-5 in das RichEdit Feld, Zeile 6 in das Memo Feld und Zeile 7 in das andere Memo Feld.

    Könntet ohr mir helfen



  • Hallo

    Du must dann TStringList verwenden, über desen Eigenschaft Strings kommst du an die einzelne Zeile nder datei ran.
    Dann must du die nach deinem Schema auf die Controls aufteilen.

    bis bald
    akari



  • Hättest vielleicht nen Codebeispiel?
    Wäre klasse.

    TStringList *list = new TStringList();
         list->LoadFromFile(odgOpen->FileName);
    

    Damit zu erst die String list öffnen ?

    Und iwe mach ich des dann mit der Zeile?

    Sorry bin noch Newbe.

    THX Brösel



  • ich zitier mich gern mal selbst...

    Linnea schrieb:

    eventuell hilft ja "Auf einen bestimmten String zugreifen" oder "Strings in einer Liste durchlaufen"

    natürlich in der BCB-Hilfe

    und

    Brösel schrieb:

    Sorry bin noch Newbe.

    ist keine gute Ausrede

    wieviele Zeilen du pro Memo/Richedit gespeichert hast musst du dir schon selbst irgendwo merken/speichern, eventuell durch eine Zeile mit einer bestimmten zeichenfolge, die zwischen die einzelnen Memo-Inhalte speicherst und beim Auslesen abfragst. das geht natürlich nur solange niemand diese Zeile im Memo eingibt



  • Aber das ist doch völliger Firlefanz. Warum Willst Du den Inhalt von 2 Memos und 1 RichEdit in einer Datei haben? Schreib es doch pro Objekt in eine eigene Datei.
    Wenn es alles in eine Datei soll, mußt Du eben jeweils den Beginn und/oder das Ende der einuzelnen Datenblöcke markieren.


Anmelden zum Antworten