/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
TMenuItem og events
Fra : Simon Hiort-Lorenzen


Dato : 08-01-02 18:40

Hejsa

Jeg er ved at lave en liste over filer i min File menu, noget i stil med det
man ser i word o.l. med en liste over de seneste filer. Menuen skal
indeholde alle .pfl filer i et bestemt bibliotek. Jeg bruger følgende
funktion til at hente filnavnene ind i menuen:

procedure TSetupForm.ListProfiles;
var
Search: TSearchRec;
NyMenu: TMenuItem;
I : integer;

begin
//slet gamle:
for i := 8 to file1.Count-1 do file1.Delete(8);

//indsæt nye:
if findfirst(MainForm.InstallPath + 'Profiles\*.pfl', faArchive, Search) =
0 then
repeat
NyMenu := TMenuItem.Create(Self);
NyMenu.Caption := ExtractFileName(Search.Name);
File1.Add(NyMenu);
until FindNext(Search) <> 0;
end;

Men så er jeg ikke kommet længere. Når man vælger en fil, skal det
selvfølgelig kalde en procedure. Men hvordan gør jeg det? Proceduren skal
bruge en string med filnavnet, så jeg kan hente filen.

På forhånd tak for hjælpen...
Simon




 
 
PL (09-01-2002)
Kommentar
Fra : PL


Dato : 09-01-02 00:47

Hej Simon

Hermed en løsning på dit problem.
Jeg har indført en TButton for at kunne teste det og det virker.
Du må selv rette det til efter dir eget ønske.

God fornøjelse

PL

type
TSetupForm = class(TForm)
MainMenu1: TMainMenu;
File1: TMenuItem;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
InstallPath:String;
procedure ListProfiles;
procedure FileClick(Sender: TObject);
public
{ Public declarations }
end;

var
SetupForm: TSetupForm;
ResultatsStringAfOnClick:String;

implementation

{$R *.DFM}

procedure TSetupForm.Button1Click(Sender: TObject);
begin
ListProfiles;
end;

procedure TSetupForm.ListProfiles;
var
Search: TSearchRec;
NyMenu: TMenuItem;
I:Integer;
begin
//slet gamle:
While File1.Count>0 do File1.Delete(0);

//indsæt nye:
I:=FindFirst(ExtractFilePath(Application.Exename)+InstallPath +
'Profiles\*.pfl', faArchive, Search);
While I=0 do begin
NyMenu := TMenuItem.Create(Self);
NyMenu.Caption := Search.Name;
NyMenu.onClick:=FileClick;
File1.Add(NyMenu);
I:=FindNext(Search);
end;
end;

procedure TSetupForm.FormCreate(Sender: TObject);
begin
InstallPath:='\';
end;

procedure TSetupForm.FileClick(Sender: TObject);
begin
ResultatsStringAfOnClick:=TMenuItem(Sender).Caption;
end;

end.




Simon Hiort-Lorenzen (09-01-2002)
Kommentar
Fra : Simon Hiort-Lorenzen


Dato : 09-01-02 03:49


"PL" <jessie-peter@get2net.dk> wrote in message
news:a1g0gv$a43$1@sunsite.dk...
> Hej Simon
>
> Hermed en løsning på dit problem.

Tak for hjælpen.

Mvh.
Simon




Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste