Entwickler-Ecke
Sonstiges (Delphi) - In Listbox gespeicherten Text aufrufen (weiterverwenden)
sneki - Fr 12.03.10 19:43
Titel: In Listbox gespeicherten Text aufrufen (weiterverwenden)
Hallo!
Das mag jetzt eine ziemlich dumme Frage sein, aber ich komme partou nicht auf die Lösung!
Ich habe durch einen Suchalgorithmus verschiedene Rezeptnamen in meiner Listbox angezeigt. Nun möchte ich, dass bei Doppelklick das entsprechende Rezept dazu aufgerufen wird. Den Rezeptnamen sowie den Pfad der zu der entsprechenden Rezeptanleitung führt (RTF-format) ist ein einer Variablen (Teil eines Feldes und vom Typ Record2 [Enthält Name und Pfad zum Textdokument]) gespeichert. Der Name aus der Variablen ist ja schon in der Listbox, nur jetzt möchte ich diesen weiterverwenden um die dazugehörige Anleitung aufzurufen. Nur da, je nach Sucheingabe, die Rezeptnamen immer an einer anderen Position in der Listbox stehen, fällt mir nicht ein, wie ich den Namen nochmal aufrufen kann um ihn dann mit dem Namen der Variablen wo auch die Anleitung ist zu vergleichen um den Pfad zur Anleitung dann aufzurufen.. Das ganze soll halt auch nur bei Doppelklick auf die Listbox ablaufen ^^ (also wenn man ein Rezept doppelt anklickt)
Also ist das verständlich? ^^
(Die Delphi-Hilfe kann ich leider nicht aufrufen, dank dem tollen Windows 7 -.-)
elundril - Sa 13.03.10 00:39
sneki hat folgendes geschrieben : |
(Die Delphi-Hilfe kann ich leider nicht aufrufen, dank dem tollen Windows 7 -.-) |
dafür gibts einerseits die
Online-Hilfe [
http://ref.dp200x.de/] von der Delphi-Praxis rausgegeben und andererseits dieses
"Dokument" [
http://support.microsoft.com/kb/917607] von MS. ;)
so, nun zu deinem Problem: Die Records müssen ja irgendwie gespeichert sein. Ich schätze einmal in einem Array? Demnach kannst du sequenziell das Array durchlaufen und immer vergleichen ob die Dateinamen übereinstimmen. Wenn sie übereinstimmen hast du ja schon den dazugehörigen Pfad. (Stichwort: while-Schleife und if-abfrage) ;)
so, nun zu dem Problem der Listbox. Die Listbox sollte ein Event namens OnDblClick haben. Das wird ausgelöst wenn man doppelt auf die Listbox draufklickt. Um nun das markierte Element zu bekommen musst du in diesem Event den ItemIndex von der Listbox abfragen und mit
Delphi-Quelltext
1:
| Listbox1.Items[Listbox1.Itemindex]; |
bekommt ihr den namen an der markierten stelle.
Das ganze müsst ihr jetz nur noch richtig zusammenfügen. ich hoff ich hab euch richtig verstanden. ;)
lg elundril
Moderiert von
Narses: Zitat repariert.
sneki - Sa 13.03.10 17:45
hm also ich hab das ganze mit einer for-schleife gemacht ^^
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.ListBox1DblClick(Sender: TObject); begin
i:=0;
for i:=1 to 20 do begin if Listbox1.Items[Listbox1.ItemIndex]=ran[i].Name then Form2.Richedit1.Lines.Loadfromfile(ran[i].Anleitung); end;
Form2.ShowModal;
end; |
danke :)
Moderiert von
Narses: Code- durch Delphi-Tags ersetzt
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!