tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
836
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Kyrius
    Kyrius Kyrius ist offline Mitglied Gold
    Registriert seit
    Jan 2004
    Beiträge
    218
    gott so viel fragen, ich könnt n Buch voll schreiben oO

    also mal wieder eine Frage meinerseits!

    Wie kann ich mehrzeiligen Text ausgeben, ohne mehrere Layer einzusetzen?

    Sprich ein layer (oder eine EditBox oder schlag mich tod) mit 2-3 Zeilen.

    geht das? wo ist das? wie mach ich das? hilfe?!
     

  2. #2
    Registriert seit
    Jan 2002
    Ort
    Hamburg
    Beiträge
    2.852
    Unter BCB gibt es eine Komponente die nennt sich "Memo", probiers mal damit.

    Greetz...
    Sinac
     
    Wenn euch mein Beitrag gefällt, meldet euch als Referal bei Dropbox an: http://db.tt/4tKC8O5

  3. #3
    Avatar von Kyrius
    Kyrius Kyrius ist offline Mitglied Gold
    Registriert seit
    Jan 2004
    Beiträge
    218
    k das teil sieht gut aus

    nur eine frage: wie kann ich die Zeilen ändern, während das programm läuft?

    Memo1->Line1 = "Blah";

    ist falsch, also wie gehts?
     

  4. #4
    operator operator ist offline Mitglied
    Registriert seit
    Feb 2004
    Beiträge
    11
    nein, so geht das euch net!

    der Befehl heisst
    Code :
    1
    
    Memo1->Lines->Add(Hier kommt dann der Text für eine Zeile rein!);

    für jede Zeile musst du dann den befehl ausführen
     
    C++ is my life!

  5. #5
    Registriert seit
    Jan 2002
    Ort
    Hamburg
    Beiträge
    2.852
    Naja, fast richgtig, du musste den Parameter für den Aufruf der Methode
    Memo1->Lines-Add() schon gerne in " " setzen oder eine Variable übergeben

    Also so:
    Code :
    1
    2
    3
    4
    
    Memo1->Lines->Add("Hier kommt dann der Text für eine Zeile rein!");
    oder
    String text = "meine Zeile";
    Memo1->Lines->Add(text);

    Außerdem is der Ausdruck "Befehl" wohl etwas ungünstig gewählt

    Greetz...
    Sinac
     
    Wenn euch mein Beitrag gefällt, meldet euch als Referal bei Dropbox an: http://db.tt/4tKC8O5

  6. #6
    giftzwockel giftzwockel ist offline Grünschnabel
    Registriert seit
    May 2004
    Beiträge
    3
    Hi,

    wenn ich Deine Frage richtig verstehe, möchtest Du beispielsweise einen längeren Text an ein Label, ein Memo oder sonst ein Feld übergeben und das Feld ist schmaler als der Inhalt. Oder anders ausgedrückt, der Text passt nicht in eine Zeile?

    Dann muss Du nur für das entsprechende Feld WordWrap=true angeben.
    Ausserdem musst du für das entsprechende Feld die Funktion AutoSize zulassen-

    Beispiel:
    Label1->AutoSize=true; Label1->Width=300; // Begrenzt
    Label1->WordWrap=true;
    Label1->Caption="Hallo, dies ist ein langer Text, der an ein Label übergeben wird. Er passt in keinem Fall in das in seiner Größe gebrenzte Label1, darum wird der Text automatisch umgebrochen ";

    Die Werte für AutoSize oder Labelbreite kannst Du sowohl im Objektinspektor einstellen oder wie hier geschehen, im Quelletext einbinden.

    Gruß
    Giftzwockel
     

  7. #7
    giftzwockel giftzwockel ist offline Grünschnabel
    Registriert seit
    May 2004
    Beiträge
    3
    Hi noch mal,

    wenn du unterschiedliche Meldungen oder Infos an ein Memo ausgeben willst, solltest Du die vorher als Variable definieren

    String text1, text2;

    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
    {
    // Meldungen
    text1= "Scio nescio"; // Lateinische Meldung
    text2="Ups, I did it again"; // Englische Meldung
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {

    Memo1->Lines->Add("Zwischen die Gänsefüsschen kannst Du direkt einen Text eintragen".)

    Wenn Du Meldungen oder Routinen flexibler und übersichtlicher behandeln möchtest, solltest Du alle Meldungen entweder im Code selbst immer an ein und der selben Stelle verwalten (Siehe // Meldungen). Wenn Du später eine Meldung änderst und mit Variablen arbeitest, werden dann U]alle[/U] identischen Meldungen automatisch aktualisiert.
    Memo1->Lines->Add(text1);
    Memo1->Lines->Add(text2);

    Bei kleineren, übersichtlichen Programmen kann man schon den Text direkt eingeben, besser und eleganter ist es, sich am Anfang etwas mehr Gedanken zum Programmaufbau zu machen und die erforderlichen Variablen korrekt zu definieren und zu Kommentieren.

    Gruß
    Giftzwockel
     

Ähnliche Themen

  1. [VC++] mehrzeiliger String
    Von the incredible Leitman im Forum .NET Windows Forms
    Antworten: 4
    Letzter Beitrag: 22.01.07, 17:30
  2. mehrzeiliger Text in einzeiliges Eingabefeld
    Von PsychoCat im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 22.02.06, 22:38
  3. Mehrzeiliger ListBoxText überschreibt beim Speichern alten Text
    Von Alex Duschek im Forum Delphi, Kylix, Pascal
    Antworten: 2
    Letzter Beitrag: 27.06.05, 16:22
  4. Antworten: 4
    Letzter Beitrag: 21.02.05, 08:09
  5. mehrzeiliger String
    Von PsychoCat im Forum Javascript & Ajax
    Antworten: 5
    Letzter Beitrag: 14.08.04, 15:23