Memo Text in Edit Text nicht gleich



  • Hallo,

    Bin ein totaler Neuling!!!!!!!! Deshalb BINSORRY vor ab wen die Fragen auch so gestellt werden!!!!!

    Ich hab mich schon durch ne menge Seiten gelesen, hab auch schon bisschen was auf die Beine gestellt, aber da gibt’s ne Kleinigkeit die ich nicht wegbekomme 😡

    Also ich speicher Daten aus einem Edit Feld in eine Datei, das geht wunderbar.
    Dann lese ich die Datei über ein Memo Feld aus, da steht auch das was in der Datei steht.

    Aber wen ich dann den text, aus dem Memo Feld in ein weiteres Edit->Text setze, kommen am ende zwei striche die ich nirgens gesetzt habe 😞

    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    TStringList* Daten = new TStringList; 
    try 
       {
       Daten->LoadFromFile("test.txt"); 
       Memo1->Lines=Daten;  
       }
     catch(...)
       {
       ShowMessage("Fehler"); i Fehler.
       }
    
       Edit2->Text=Memo1->Lines->Text;
       }
    

    das geb ich ein "test" und das kommt raus "test||"
    woher kommt den da der fehler??

    Grossen Dank an euch!!



  • Hallo

    die zwei Striche sind ein falsch dargestellter (weil nicht unterstützter) Zeilenumbruch aus RichEdit.
    Mach doch gleich

    Edit2->Text=Daten->Text;
    

    bis bald
    akari



  • jetzt sieht das so aus

    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
     TStringList* Daten = new TStringList; 
    
    try 
       {
       Daten->LoadFromFile("test.txt"); 
       Edit2->Text=Daten->Text;   
       }
     catch(...)
       {
       ShowMessage("Konnte die Daten nicht laden!"); 
       }
    
    }
    

    oder so

    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
     TStringList* Daten = new TStringList; 
    try 
       {
       Daten->LoadFromFile("test.txt"); 
       Memo1->Lines=Daten;  
       }
     catch(...)
       {
       ShowMessage("Konnte die Daten nicht laden!"); 
       }
    
       Edit2->Text=Daten->Text;
       }
    

    immer noch die striche 😞 😕

    gibst nicht ein zeichen ,wo mit ich ein schrit automatisch zurück löschen kann vielleicht?



  • Hallo

    na dann mach das so

    if (Daten->Count > 0)
      Edit2->Text=Daten->Strings[0];
    

    bis bald
    akari



  • supidas geht jetzt 🙂 🙂

    Daten->LoadFromFile("test.txt"); 
       if (Daten->Count > 0)
        {
        Edit2->Text=Daten->Strings[0];
        }
    
       }
     catch(...)
       {
       ShowMessage("Konnte die Daten nicht laden!"); 
       }
    

    also, ist daten inhalt grösser 0 ist klar, aber was macht das strings[0]? were net wen du vielleicht zeit hat das zu beschreiben BIGBIG THX 🙄





  • Edit1->Text = Trim(Memo1->Lines->Text);
    


  • @Sunday: Diese Vorgehensweise ist doch genau die, die zum dem Problem geführt hat...



  • Hats höier shconmals jemand mit "Assign" versucht? -> Siehe BCB Hilfe.



  • Nö. Warum denn auch?!? akaris Lösung funktioniert einwandfrei... 😉



  • danke für die hilfe 😃

    oder geht das dann nur wen ich vorher eine stringliste erzeuge?

    @junix danke für den tip, hab mir mal dein tutorial durchgelesen zu der hilfe 😉

    bis auf die sache mit dem include, der header datei, was echt hilft 👍 kann ich das beispiel mit dem lesen der systax immer noch net verstehen 😞
    was ich unbedingt noch raffen muss!!!!!! den in der hilfe steht ja alles drin was man da so findet.

    danke schön an euch



  • hawkdz schrieb:

    kann ich das beispiel mit dem lesen der systax immer noch net verstehen 😞

    ?? Please rephrase your query.

    hawkdz schrieb:

    Das ist kein Befehl sondern ne Eigenschaft einer Klasse. Ob diese Eigneschaft überhaupt vorhanden ist, und welche Bedeutung ihr zukommt, das lässt sich der BCB Hilfe über ein Klick auf die "Eigenschaften"-Sektion ermitteln.



  • also diese beispiele (syntax??) in der hilfe

    __property Classes::TStrings* Lines = {read=FLines, write=SetLines};

    da versteh ich halt net wo was bedeutet, naja aber sind ja noch jung und haben noch zeit es zu begreifen 🙂

    hab mal in der hilfe bei einem edit feld geschaut, aber ich kann nicht richtig sehen ob ich die string eingenschaft auch dort anwendbar ist.
    dan im memo feld geschaut und auch da seh ich das leider nicht 😞

    aber vielleicht hat ja jemand noch ein tip wo ich nachlesen kann?

    BIG THX



  • hawkdz schrieb:

    also diese beispiele (syntax??) in der hilfe

    __property Classes::TStrings* Lines = {read=FLines, write=SetLines};

    da versteh ich halt net wo was bedeutet, naja aber sind ja noch jung und haben noch zeit es zu begreifen 🙂

    Schau dir mal an was __property genau sein soll. ->Hilfe

    hawkdz schrieb:

    hab mal in der hilfe bei einem edit feld geschaut, aber ich kann nicht richtig sehen ob ich die string eingenschaft auch dort anwendbar ist.
    dan im memo feld geschaut und auch da seh ich das leider nicht 😞

    LIes nochmals den Teil des jQT zur Hilfe welcher sich beim ersten Bild um die blau markierte Navigation dreht.



  • also das mit den TString in der hilfe denke ich hab ich jetzt, im edit feld geht das mit der string eingenschaft nicht, glaube ich oder? 🙄

    und das mit dem __property sorry aber ist glaube irgendwie zu früh dafür, finde da zuviel in der hile und ehm naja verschieben wir glaube ich.

    ich danke euch für die hilfe und erklärungen 😃

    wünsche noch was bye



  • hawkdz schrieb:

    ... im edit feld geht das mit der string eingenschaft nicht ...

    Ganz richtig, denn (Ansi)String und TStrings sind zwei komplett verschiedene Dinge!

    Die Eigenschaft Text von TEdit-Feldern ist vom Typ AnsiString:

    // z.B.:
    AnsiString str = Edit1->Text;
    

    wohingegen die Eigenschaft Lines von TMemo-Komponenten vom Typ TStrings ist:

    // z.B.:
    //...
    TStringList* strlist = new TStringList;
    AnsiString str;
    strlist = Memo1->Lines;
    // Testen auf Länge der StringList:
    if(i < strlist->Count)
       str = strlist->Strings[i];
    

    Vielleicht trägt's ja zum Verständnis bei.

    Gruß Oli



  • Allerdings sind die einzelnen Zeilen in einem TStrings dann wieder AnsiStrings.


Anmelden zum Antworten