Problem mit Zeilenumbruch...



  • Hallo!
    Wenn ich Caption einen String zuweise, der aus einem TStringList kommt, finden keine Zeilenumbrüche mehr statt 😞 😞 .
    So als wenn man im Ojektinspektor Caption einen Wert zuweist..

    Label1->Caption="Hallo\nNa wie gehts?";//Zeilenumgruch wird angezeigt.
    StringList1->Strings[1]="Hallo\nNa wie gehts?";
    Label1->Caption=StringList1->Strings[1];//es wird *Hallo\nNa wie gehts?* angezeigt.
    

    Wie kann ich das Problem lösen?
    DiV
    arne



  • Ist nicht nachzuvollziehen, funktioniert hier problemlos.

    Benutzt du ggf. eine Steinzeitversion des BCB?



  • hallo,

    also im BCB6 habe ich's auch noch mal probiert und es funktioniert. ich hatte aber mal ein ähnliches problem in nem memo, da wollte er auch keinen zeilenumbruch machen, bis ich gerausgefunden habe, dass es mit \r\n oder \n\r funktioniet. vielleicht klappt das hier ja auch.

    na dann, frohes schaffen :xmas1:

    der oli



  • \r\n ist der zeilenumbruch auf windows (\n=CR+\r=LF)
    auf unix (linux usw) ist das nur CR \n
    und auf mac nur LF \r

    🙂



  • Leider funzt das alles NICHT! 😞 😞
    Ich habe probiert das Problem zu isolieren, aber es tritt beim nachbau nicht auf...
    Aber:

    AnsiString a ="\nA";
    Label1->Caption=a;
    ShowMessage(IntToStr(a.Length()));//hier wird 3 ausgegeben!
    

    Ich will jetzt einen Filter bauen, der \n rausnimmt und dafür '10' ranhängt..
    Etwa so

    a->Insert(i,IntToStr(10));

    a->delete(i-1,2);
    a->Insert(i,IntToStr(10));
    

    mal schauen...

    Gruß+
    arne



  • Das war wohl etwas zu voreilig... delete und insert funzt so wohl nicht:D
    Hat jemand eine Idee, wie man den Filter umsetzen kann?(habe gerade keinen Builder zur Hand)
    DiV
    arne



  • Schau mal in der Hilfe unter StringReplace.



  • Danke!
    s=StringReplace(s, "\\n", "\n", TReplaceFlags() << rfReplaceAll);
    Damit klappts! Keine Ahnung wie aus "\n" "\\n" werden konnte...

    Gruß
    arne


Anmelden zum Antworten