| Autor |
Beitrag |
Halber
      
Beiträge: 55
|
Verfasst: Mo 19.12.05 14:51
Tach zusammen.
Wie mach ich es, dass wen der benutzer auf eine datei zb. ein mp3file rechts klickt, öffnen mit anwählt und meine anwendung auswählt, dass dann der pfad der datei zu einer Listbox hinzugefügt wird?
halber
|
|
Jeppen
      
Beiträge: 39
|
Verfasst: Mo 19.12.05 20:38
Hi,
Versuch es mal mit extractfiledir(name der mp3)
Mit dieser funktion hast du nur den Pfad der Datei
|
|
Halber 
      
Beiträge: 55
|
Verfasst: Di 20.12.05 13:43
Jeppen hat folgendes geschrieben: | Hi,
Versuch es mal mit extractfiledir(name der mp3)
Mit dieser funktion hast du nur den Pfad der Datei |
ne, so mein ichs nich. angenommen die datei test.mp3 sitzt im ordnder C:/test/test.mp3
nun (die anwendung ist nich geöffnet) klickt man mit der rechten maustatse auf die datei und wählt aus der "öffnen mit" liste mein programm aus. dadurch soll mein programm geöffnet werden und die der gesamte dateipfad also "C:/test/test.mp3" soll in ein listbox feld eingetragen werden
|
|
stifflersmom
      
Beiträge: 194
XP /XP PRO/ SuSE div.
D1 - D7, BDS 2006
|
Verfasst: Di 20.12.05 13:50
Schau mal nach ParamStr(1),
oder schau mal in der OH allgemein nach ParamStr
Moín
|
|
Limster
      
Beiträge: 72
Delphi 5 & 7 Enterprise
|
Verfasst: Di 20.12.05 13:57
Titel: Hi!
Kuck mal nach dem Programmstart mit diesen Funktionen nach:
(jeweils in der Unit "System" daheim:)
ParamStr(index); .. gibt den gew. Parameter zurück
ParamCount; .. gibt die Anzahl der Parameter zurück..
also lauf einfach mal alle parameter durch, dann kannst du sehen,
wie und was dir die "öffnen mit" Funktion des Explorers übermittelt.
folgender Code liefert dir alle übergebenen Parameter:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| var lCount : Integer; lParam : String; lParams: String; begin lParams := ''; for lCount := 0 to (ParamCount - 1) do begin lParam := ParamStr(lCount); lParams := lParams + lParam + #13#10; end; if (Length(lParams) > 0) then Application.Messagebox(lParams, 'test', MB_OK); end; |
Grüsse,
Limbo
Moderiert von Gausi: Code- durch Delphi-Tags ersetzt
|
|
Halber 
      
Beiträge: 55
|
Verfasst: Di 20.12.05 14:28
stifflersmom hat folgendes geschrieben: | Schau mal nach ParamStr(1),
oder schau mal in der OH allgemein nach ParamStr
Moín |
danke, hat mir sehr geholfen
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 28
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Di 20.12.05 14:38
bei mehreren datei hab ichs bisher net hinbekommen, wie geht das da ?
|
|
Limster
      
Beiträge: 72
Delphi 5 & 7 Enterprise
|
Verfasst: Di 20.12.05 16:08
Titel: maybe
vielleicht in den anderen Parametern wie ich es dir vorher beschrieben habe.
dass du alle Parameter durchläufst, nicht nur die '1'..
also mit ParamCount.
mfg
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 28
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Di 20.12.05 16:09
dachte ich auch, scheint aber nicht zu gehen
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Di 20.12.05 16:20
Das geht deswegen nicht, weil mit diesem Verfahren jede Datei für sich geöffnet wird. D.h. von den markierten Dateien wird das erste mit deinem Programm geöffnet. Anschliessend wird die nächste Datei mit einer neuen Instanz deines Programms geöffnet usw. Sehe ich das richtig, dass das bei dir so abläuft?
Wenn ja, musst du dafür sorgen, dass dein Programm nur einmal gestartet wird. Und dann den Dateinamen an die bereits geöffnete Instanz weiterleiten und dort weiterverarbeiten. Ich glaube, dass es dazu nen genz guten FAQ-Beitrag in der Library gibt. Ich guck gleich mal, ob ich den finde...
Edit: Ahja.. hier und hier
_________________ We are, we were and will not be.
Zuletzt bearbeitet von Gausi am Di 20.12.05 16:24, insgesamt 1-mal bearbeitet
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 28
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Di 20.12.05 16:21
von meinem programm lässt sich nur eine instanz starten (global atom)
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Di 20.12.05 16:25
Dann halt die Startparameter weiterleiten. Sollte mit dem zweiten Link gehen, den ich oben reineditiert habe.
_________________ We are, we were and will not be.
|
|
Halber 
      
Beiträge: 55
|
Verfasst: Di 20.12.05 21:12
Gausi hat folgendes geschrieben: | | Dann halt die Startparameter weiterleiten. Sollte mit dem zweiten Link gehen, den ich oben reineditiert habe. |
hmmm, hab den code auch ma ausprobiert, hab aber noch ein problem: der schreibt die dateipfade immer mit anführungszeichen in die memo/listbox, wie bekomm ich die weg?
|
|