Hallo !
Ich müsste wissen, wie ich eine Procedure dynamisch erstellen und mit einem Wert füllen kann ?
Denn ich lese Dateien ein, tue sie mit Pfad in ein Memofeld.
Daraus müsste jeder einzelne Pfad ausgelesen werden, und dementsprechend eine Procedure erstellt werden.
Diese wiederum müsste auch für das Menü verändert werden.
Wie erstelle ich eine Procedure und fülle sie auf diese Art ?:
Delphi-Quellcode:
procedure TForm1.dynamicklick(Sender: TObject);
begin
openfile('software\firefox.txt');
end;
Nicht wundern, openfile verweist auf eine andere Funktion und ist eine Shellexecute
Hier der restliche Code:
Delphi-Quellcode:
var
NewItem: TMenuItem;
I : integer;
PosBefehl:integer;
Rest:string;
begin
{ Zuerst Trennlinie erstellen }
{NewItem := TMenuItem.Create(Self);
NewItem.Caption := '-'; }
{ Neuen Eintrag zu Menü Windows hinzufügen }
{ MainMenu1.Items.Add(NewItem); }
{ Die Dateien in das Memo einlesen....... }
filelist('software\','*.txt',true,memo1.Lines.Create);
{ Für jedes Formular Eintrag erstellen und hinzufügen }
for I := 0 to memo1.lines.count-1 do
begin
NewItem := TMenuItem.Create(Self);
PosBefehl := Pos('',memo1.lines[i]);
Rest:= Copy(memo1.lines[i],PosBefehl, length(memo1.lines[i]) - PosBefehl+1);
Rest:=StringReplace(Rest, 'software\', '', [ rfreplaceall ]);
Rest:=StringReplace(Rest, '.txt', '', [ rfreplaceall ]);
NewItem.Caption := Rest;
NewItem.OnClick:=DynamicKlick;
MainMenu1.Items[1].Add(NewItem);
end;
Wow, aber hier gibts coole Smilies
Ok, ich hoffe, ich habe mit diesem Beitrag mal
hervorgeschaut und habe soweit alles richtig gemacht
Mfg Der_Mod
Ein Computerprogramm tut dass, was Du schreibst, nicht was Du willst...