AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CheckListBox und Memo verwenden

Ein Thema von Kunoishi · begonnen am 29. Jun 2009 · letzter Beitrag vom 30. Jun 2009
Antwort Antwort
Seite 2 von 2     12   
Kunoishi

Registriert seit: 26. Dez 2002
Ort: Berlin
140 Beiträge
 
Delphi 5 Standard
 
#11

Re: CheckListBox und Memo verwenden

  Alt 30. Jun 2009, 00:14
oder anders ausgedrückt

Delphi-Quellcode:
( Blume) Memo1.Text := "ich bin eine Tulpe";
( Wasser) Memo2.Text := "brauche wenig wasser";
(Licht) Memo3.Text :=" aber viel licht;

  ChecklistBox1.Items.Add('Blume');
  ChecklistBox1.Items.Add('Wasser');
  ChecklistBox1.Items.Add('Luft');
  ChecklistBox1.Items.Add('Licht');
das war mein ansatz
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#12

Re: CheckListBox und Memo verwenden

  Alt 30. Jun 2009, 00:15
Da kommen wir der Sache doch schon näher:
Delphi-Quellcode:
var
  Info: array[0..3] of String = ('Zusatzinfos zu Blumen', 'Zusatzinfos zu Wasser', 'Zusatzinfos zu Luft',
    'Zusatzinfos zu Licht');

procedure TForm3.CheckListBox1Click(Sender: TObject);
begin
  if CheckListBox1.ItemIndex > -1 then
  begin
    Memo1.Clear;
    Memo1.Text := Info[CheckListBox1.ItemIndex];
  end;
end;
Vorraussetzung ist, dass die Reihenfolge identisch ist. Man könnte jetzt die Zusatzinfos als Objekt an die Listbox-Eintäge hängen, aber ich glaube, das übersteigt deinen Kenntnisstand noch etwas. Vorteile aber wäre, dass man die Einträge sortieren könnte, ohne Rücksicht auf das Array mit den Daten nehmen zu müssen.

Du brauchst nicht für jeden Eintrag ein Memo.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Kunoishi

Registriert seit: 26. Dez 2002
Ort: Berlin
140 Beiträge
 
Delphi 5 Standard
 
#13

Re: CheckListBox und Memo verwenden

  Alt 30. Jun 2009, 00:22
das ist ja auch wieder eine verbesserung wenn ich nur ein Memo brauch
klasse.

schuldigung noch mal für meine komplizierte ausdrucksweise
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#14

Re: CheckListBox und Memo verwenden

  Alt 30. Jun 2009, 00:27
Zitat von Kunoishi:
schuldigung noch mal für meine komplizierte ausdrucksweise
Vollständige Sätze, korrekte Rechtschreibung und korrekte Groß- und Kleinschreibung würden schon viel zum Verständnis beitragen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#15

Re: CheckListBox und Memo verwenden

  Alt 30. Jun 2009, 00:50
:Kunoishi

Eigentlich ist das was du willst nicht schwer, aber ich weiß nicht ob du den Code verstehst;

Delphi-Quellcode:
type
  TData = class
    Zusatztext: String;
  end;

procedure TForm1.FormCreate(Sender: TObject);

  procedure Hinzu(Text, Zusatztext: String);
  var
    Data: TData;
  begin
    Data := TData.Create;
    Data.Zusatztext := Zusatztext;
    ListBox1.Items.AddObject(Text, Data);
  end;

begin
  Hinzu('Blume', 'Blumen blühen');
  Hinzu('Wasser', 'Wasser ist feucht');
  Hinzu('Erde', 'In der Erde wachsen Erdäpfel');
  Hinzu('Sand', 'Sand ist voller Sand');
  Hinzu('Dünger', 'Dünger düngt die Erde');
  Hinzu('Licht', 'Licht spendet Wärme');
  Hinzu('Schatten', 'Im Schatten ist es kühler');
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var
  Data: TData;
begin
  if ListBox1.ItemIndex < 0 then Exit;

  Data := TData(ListBox1.Items.Objects[ListBox1.ItemIndex]);

  Memo1.Lines.Text := Data.Zusatztext;
end;
Zuerst wird eine einfache Klasse mit einem String erstellt. Eigentlich ist es ein Record, aber wir brauchen ein Object.

In der Unterprozedur Hinzu wird das Objekt erstellt, der Zusatztext zugewiesen, und zuletzt der ListBox Text mit dem Objekt der ListBox hinzugefügt.

In der Hauptprozedur werden alle Werte hinzugefügt.

Zuletzt wird bei ListBox1Click der Zusatztext aus dem Objekt ermittelt und in Memo geschrieben.

//EDIT:

Da du an einer anderen Stelle mit Adressen und Postleitzahlen hantierst, gehe ich davon aus, daß es dir hier nicht um Blumen und Erde geht, sondern du eine Art Adressbuch schrieben willst. Es wäre also viel einfacher wenn du direkt sagen würdest was du willst, dann könnte man dir besser helfen. Das mit Blumen und dem Text über Blumen verwirt doch nur.

Edit2:
Tippfehler korrigiert.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#16

Re: CheckListBox und Memo verwenden

  Alt 30. Jun 2009, 01:08
Übriges, vielleicht wäre ListView eher was für dein Problem.

Für das Beispiel brauchst du ein ListView auf dem Formular:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);

  procedure Hinzu(Text, Zusatztext: String);
  var
    ListItem: TListItem;
  begin
    with ListView1 do
    begin
      ListItem := Items.Add;
      ListItem.Caption := Text;
      ListItem.SubItems.Add(Zusatztext);
    end;
  end;

var
  NewCol: TListColumn;
begin
  with ListView1 do //das kann auch manuell im Objektinspektor erstellt werden
  begin
    ViewStyle := vsReport;

    NewCol := Columns.Add;
    NewCol.Caption := 'Text';
    NewCol.Width := 150;
    NewCol := Columns.Add;
    NewCol.Caption := 'Zusatztext';
    NewCol.Width := 400;
  end;

  Hinzu('Blume', 'Blumen blühen');
  Hinzu('Wasser', 'Wasser ist feucht');
  Hinzu('Erde', 'In der Erde wachsen Erdäpfel');
  Hinzu('Sand', 'Sand ist voller Sand');
  Hinzu('Dünger', 'Dünger düngt die Erde');
  Hinzu('Licht', 'Licht spendet Wärme');
  Hinzu('Schatten', 'Im Schatten ist es kühler');
end;
Edit:
Tippfehler korrigiert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz