AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Procedure dynamisch erstellen und mit Wert füllen ?
Thema durchsuchen
Ansicht
Themen-Optionen

Procedure dynamisch erstellen und mit Wert füllen ?

Ein Thema von Der_Mod · begonnen am 13. Sep 2008 · letzter Beitrag vom 13. Sep 2008
Antwort Antwort
Der_Mod

Registriert seit: 13. Sep 2008
5 Beiträge
 
Delphi 7 Professional
 
#1

Procedure dynamisch erstellen und mit Wert füllen ?

  Alt 13. Sep 2008, 20:35
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...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Procedure dynamisch erstellen und mit Wert füllen ?

  Alt 13. Sep 2008, 20:38
Pack einen Verweis auf den String in den Tag
Markus Kinzler
  Mit Zitat antworten Zitat
Der_Mod

Registriert seit: 13. Sep 2008
5 Beiträge
 
Delphi 7 Professional
 
#3

Re: Procedure dynamisch erstellen und mit Wert füllen ?

  Alt 13. Sep 2008, 20:46
Und wie ?
Ein Computerprogramm tut dass, was Du schreibst, nicht was Du willst...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Procedure dynamisch erstellen und mit Wert füllen ?

  Alt 13. Sep 2008, 20:51
Delphi-Quellcode:
procedure TForm1.dynamicklick(Sender: TObject);
begin
    openfile((memo1.lines[ (Sender as TMenuItem).Tag]);
end;
...
NewItem.Tag := i;
Markus Kinzler
  Mit Zitat antworten Zitat
Der_Mod

Registriert seit: 13. Sep 2008
5 Beiträge
 
Delphi 7 Professional
 
#5

Re: Procedure dynamisch erstellen und mit Wert füllen ?

  Alt 13. Sep 2008, 20:56
Fettes DANKESCHÖN

Das es so leicht ist - hätte ich nicht gedacht, ich suche nun schon in 2 Foren nach Antwort - und hier bekomme ich sie

Vielen Dank


Achja, du hast ne Klammer ) vergessen

Bye Bye, bis zum nächsten Problem


Mfg Der_Mod
Ein Computerprogramm tut dass, was Du schreibst, nicht was Du willst...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Procedure dynamisch erstellen und mit Wert füllen ?

  Alt 13. Sep 2008, 20:57
Zitat:
Achja, du hast ne Klammer ) vergessen Wink
Kann passieren
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:18 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