ChangeFileExt()
Announcement
Collapse
No announcement yet.
PopupMenü Hilfe
Collapse
X
-
Und woher, David, weißt du dann, was beim Anklicken passieren soll? Siehe deine Bedingung ganz am Anfang: <i>Natürlich soll es auch so sein das wenn ich auf die jeweilige Datei klicke (*.exe) das, das Programm ausgeführt wird.</i><br><br>
??? |<br><br>
Ansonsten: Hagens Vorschlag ist in Zeile 25 umzusetzen. )<br><br>
Mathias
Comment
-
Das Programm läuft soweit, doch ich bekomme es einfach nicht hin mit dem ChangeFileExt(); kann mir jemand die genau Syntax nennen. Das mit dem Datei öffnen, denke ich kann man über ShellExecute [ShellExecute(Application.Handle,'open',PChar('Date iname.exe'),PChar('Parameter'),PChar('Verzeichniss '),sw_ShowNormal);] wie, noch keine Ahnung. Bin für Tips und Quellcode Dankbar.
Ciau
David Wenzlo
Comment
-
)<br><br>
Wg. der Icons gucke mal hier
http://entwickler-forum.de/webx?50@@.ee8751f
. Da steckt ein kurzes Codebeispiel drin, wie man ein Programmicon in einem Menü anzeigt. Der Nachteil wäre in dem Moment, dass es in Originalgröße angezeigt wird. Aber dafür gibt´s bestimmt auch ´ne Lösung. Ich muss allerdings gestehen, dass ich die nicht kenne. |<br><br>
Wg. der Anordnung im Menü (sprich: erst die Ordner, dann alle Dateien) würde <u>ich</u> mir so behelfen, dass ich die "FindFirst/FindNext/FindClose"-Funktion im Codebeispiel quasi auftrenne. Auch wenn´s dadurch umständlicher wird. Ich würde also beim ersten Mal nur nach Verzeichnissen suchen, und dann (quasi in der Kopie) erst die Dateien einlesen:
<PRE>
Res := FindFirst('*.*',faAnyFile,ds);
while(Res = 0) do
begin
if(ds.Attr and faDirectory > 0) and ((ds.Name <> '.') and (ds.Name <> '..')) then
begin
mii := TMenuItem.Create(parentmi);
mii.Caption := ds.Name;
parentmi.Add(mii);
ChDir(ds.Name); Dir(orgPfad,mii);
end;
Res := FindNext(ds);
end;
FindClose(ds);
</PRE>
<PRE>
Res := FindFirst('*.*',faAnyFile,ds);
while(Res = 0) do
begin
if((ds.Name <> '.') and (ds.Name <> '..')) and (ds.Attr and faDirectory <= 0) then
begin
mii := TMenuItem.Create(parentmi);
mii.Caption := ChangeFileExt(ds.Name,);
mii.Hint := pfad <font color=#ff0000>+ '\'</font> + ds.Name;
mii.OnClick := OnMIClick;
parentmi.Add(mii);
end;
Res := FindNext(ds);
end;
FindClose(ds);
</PRE>
Wie gesagt, das ist zwar umständlicher, funktioniert aber trotzdem. Wenn einer ´ne Idee zur Vereinfachung hat, dann immer her damit. Nicht nur David wird´s euch danken. )
PS, David: Das rot markierte war bei mir noch nötig, weil "GetCurrentDir" den Pfad ohne abschließenden Backslash zurückgibt. Beim Zusammensetzen von Pfad und Dateiname fehlt der dann natürlich, wodurch der Start via ShellExecute höchst unwahrscheinlich wird. )
Gruß,
Mathias
Comment
Comment