Autor Beitrag
Halber
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 55



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 39



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 55



BeitragVerfasst: Di 20.12.05 13:43 
user profile iconJeppen 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 194

XP /XP PRO/ SuSE div.
D1 - D7, BDS 2006
BeitragVerfasst: Di 20.12.05 13:50 
Schau mal nach ParamStr(1),
oder schau mal in der OH allgemein nach ParamStr

Moín
Limster
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 72


Delphi 5 & 7 Enterprise
BeitragVerfasst: 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:

ausblenden 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 user profile iconGausi: Code- durch Delphi-Tags ersetzt
Halber Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 55



BeitragVerfasst: Di 20.12.05 14:28 
user profile iconstifflersmom 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5285
Erhaltene Danke: 28

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 20.12.05 14:38 
bei mehreren datei hab ichs bisher net hinbekommen, wie geht das da ?
Limster
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 72


Delphi 5 & 7 Enterprise
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5285
Erhaltene Danke: 28

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 20.12.05 16:09 
dachte ich auch, scheint aber nicht zu gehen
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5285
Erhaltene Danke: 28

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 20.12.05 16:21 
von meinem programm lässt sich nur eine instanz starten (global atom)
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 55



BeitragVerfasst: Di 20.12.05 21:12 
user profile iconGausi 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?