Autor Beitrag
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: Di 11.02.03 13:34 
Hallo,
wenn der Benutzer meines Programmes bei einer Datei mit der Endung .HTML auf Öffnen mit... klickt, und mein Proogramm auswählt soll der Inhalt der Datei im Memo1 der Anwendung erscheinen. Wie kann ich das machen?

Und wie kann ich dann mehrere Dateiendung eintragen lassen (z.B.: HTML und XML). Und wie kann ich bei falschen Endungen die Meldung "Dateiformat wird nicht unterstützt" anzeigen!

DANKE schon mal jetzt!!!!!!
maximus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 896

Win XP, Suse 8.1
Delphi 4/7/8 alles prof
BeitragVerfasst: Di 11.02.03 15:40 
hi,

windows übergibt diese datei einfach als parameter an dein prog. Also kannst du mit paramStr(1) den dateiNamen abfragen.

Und ob dein prog das format unterstützt kannst du entweder an der endung prüfen, oder du öffnest die datei und kuckst nach :D

mfg mx
foxy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: Di 11.02.03 15:49 
so findest du die dateiEndung raus
ausblenden Quelltext
1:
ext := ExtractFileExt(Application.ExeName);					


oder andere variante

ausblenden Quelltext
1:
ext := ExtractFileExt(ExtractFilePath(ParamStr(0)));					

_________________
"Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
Andreas L. Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: Di 11.02.03 16:04 
DANKE.

Muss ich den Code in den Formular reinschreiben wo das Memo ist. Wo und wie muss ich reinschreiben?
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 11.02.03 16:06 
foxy hat folgendes geschrieben:
ausblenden Quelltext
1:
ext := ExtractFileExt(ExtractFilePath(ParamStr(0)));					

:?
ausblenden Quelltext
1:
2:
3:
paramstr(0)                      = "c:\lastcrap\test.html"
ExtractFilePath -> paramstr(0)   = "c:\lastcrap"
ExtractFileExt  -> "c:\lastcrap" = ?

:wink: Die "andere Variante" wäre also einfach nur
ausblenden Quelltext
1:
ext := ExtractFileExt(paramstr(0));					
foxy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: Di 11.02.03 16:06 
du musst doch bestimmt wo drauf klicken, um das ein zu fügen, wenn ja dann amchste das in die onclick procedure

mit if blabla = '.xml' then
xxx

hilft dir das??

_________________
"Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 11.02.03 16:19 
Was soll das im "OnClick" bringen?

Immerhin klickt er die HTML- oder XML-Datei im Explorer an und erwartet, dass sein Programm startet. So weit, so gut. Wenn du die Anzeige jetzt im "OnClick" übernimmst, kannst du auf die Integration im Explorer auch verzichten.

IMHO, das Anzeigen der Datei gehört ins "OnCreate":
ausblenden Quelltext
1:
2:
if(paramcount = 1) and (fileexists(paramstr(1))) then
  Memo1.Lines.LoadFromFile(paramstr(1));
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 11.02.03 16:31 
Außerdem muss selbstverständlich die Endung des ersten Parameters geprüft werden. Also:
ausblenden Quelltext
1:
if(ExtractFileExt(paramstr(1)) = '.html') ...					

bswp. Die Idee von foxy
ausblenden Quelltext
1:
ext := ExtractFileExt(Application.ExeName);					

wird immer einen Fehler verursachen, weil du damit nur die Endung ".EXE" deines Programms erhältst, @onlinehome.
Andreas L. Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: Di 11.02.03 18:18 
DANKE an euch!