Entwickler-Ecke
Dateizugriff - shellexecute über variable festlegen
bf109g.01 - Fr 31.10.08 14:17
Titel: shellexecute über variable festlegen
Hallo, ich wollte die ShellExecute-Funktion für eine vorher nicht festgelegte DAtei anwenden:
- OpenDialog ausführen
- den Pfad speichern ('C:\...\datei.???')
- den Pfad in Register und Datei teilen (1. 'C:\...\' | 2. ''datei.???')
- die zwei Variablen mit REgister und Dateinamne in die ShellExecute einfügen
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
|
procedure TF.BloadClick(Sender: TObject); var i,j,k,pos:integer; begin if OD1.Execute then benutzerpfad:=(OD1.FileName); showmessage('Pfad: "'+benutzerpfad+'"');
for i:=1 to length(benutzerpfad) do if benutzerpfad[i]= '\' then pos:=i; for j:=1 to pos do pfad:= pfad+benutzerpfad[j]; showmessage('Verzeichnis: "'+pfad+'"'); for k:=pos+1 to length(benutzerpfad) do filename:= filename+benutzerpfad[k]; showmessage('Dateiname: "'+filename+'"'); end;
procedure TF.Bgo2Click(Sender: TObject); var anzahl, i: integer; begin shellexecute(handle, 'open', filename, PChar(pfad),nil,sw_show); end; |
Delete - Fr 31.10.08 14:23
Wieso so umständlich?
Delphi-Quelltext
1: 2: 3: 4:
| function ExecuteFile(const sFilename: string; dwShow: DWORD = SW_SHOW): DWORD; begin Result := ShellExecute(0,'open',PChar(sFilename),nil,PChar(ExtractFilePath(sFilename)),dwShow); end; |
Ohne Gewähr, aus dem Kopf getippt.
bf109g.01 - Di 04.11.08 14:46
habe eine Lösung gefunden, mit der der Spaß einwandfrei läuft:
Delphi-Quelltext
1:
| shellexecute(handle, 'open', PCHAR(filename), PChar(pfad),nil,sw_show); |
Wenn ich den String in die Klammer baue geht es.
@ DeddyH:
Danke für die Anmerkung, sieht sehr passabel aus, bin aber leider nicht soweit versiert, dass ich mit functions umgehen kann. Keine Ahnung, wie ich damit arbeiten soll/die Dinger ausführen kann. :)
Hidden - Di 04.11.08 18:00
Hi,
In gewisser Hinsicht ist eine Funktion wie eine Procedure - eben beides Methoden. Nun hat eine Funktion einen Rückgabewert("result"). Du kannst sie genau wie eine Variable bei Rechungen verwenden.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| function Add(a, b: Integer); begin result := a + b; end;
procedure DoSomething; var Fruechte: Integer; const Aepfel = 12; Birnen = 13; begin Fruechte := Add(Aepfel, Birnen); Fruechte := Aepfel + Birnen; end; |
Am besten ist es wohl, du siehst dir einmal den
Crashkurs von Christian S. [
http://www.christian-stelzmann.de/artikel/CrashkursReloaded/] an. Da ist für Einsteiger immer hervorragend ;)
mfG,
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!