Entwickler-Ecke

Dateizugriff - Dateiendung einer in Shelltreeview-markierten Datei bekommen


SebTheRipper - So 27.04.03 22:08
Titel: Dateiendung einer in Shelltreeview-markierten Datei bekommen
Ich hab folgendes Problem. Ich arbeite an einem Programm, in diesem soll man per doppelklick auf eine Datei(in shelltreeview-komponente geladener verzeichnisbaum)den dateinamen + die endung mit showmessage( ) bekommen. Wie mache ich das?
Und natürlich muss vorher abgefragt werden ob es ein ordner ist oder eine datei, weil das nur angezeigt werden soll wenn es eine datei ist.
Letzteres sollte ich aber auch selber hinkriegen, wichtig is das mit der endung.
Am besten in dieser form:


Quelltext
1:
showmessage( quelltext für den datei namen und die endung );                    


ps: Bitte mitbenötigten Uses

Danke im vorraus

SebTheRipper


TheNeon - So 27.04.03 23:02

musst du nicht einfach nur nach dem letzten . Suchen und der Text danach ist die Endung ?!?


wulfskin - Mo 28.04.03 15:56

Die Funktion die du suchst heisst ExtractFileExt und befindet sich (hoffentlich) in der Unit SysUtils. Den Rest bekommst du hoffentlich selber hin!

Gruß wulfskin!


SebTheRipper - Mo 28.04.03 18:19

Wenn ich ExtractFileExt benutze zeigt er mir an: undefinierter bezeichner, uses sysutils sind drin, in der hilfe steht auch das die dazugehörige uses sysutils ist, aber er nimmt es nicht an, egal ob ich extractfileext alleine schreibe oder zb mit showmessage(shelltreeview1.Selected.ExtractFileExt)
Kann sein das ich da irgendwas simples nicht erkenne aber ich komm da einfach nich weiter, man kann auch in der shelltreeview nicht zb file oder so auswählen zb: ..view1.selected.name wie das zb bei der nmftp komponente geht(nmftp1.FTPDirectoryList.name.Strings[x])

ich hoffe ich stell mich nicht allzu blöde an bin halt nochn anfänger

SebTheRipper


Luncustaf - Do 05.06.03 15:22

hi,

du musst das anders anwenden und zwar so


Delphi-Quelltext
1:
ShowMessage(ExtractFileEx(shelltreeview1.selected);                    



gr€€tz


AXMD - Do 05.06.03 15:27

Hi,

Zitat:

Delphi-Quelltext
1:
ShowMessage(ExtractFileEx<span style="color: red"><span style="font-weight: bold">t</span></span>(shelltreeview1.selected);                    


AXMD

PS.: Was hab ich bei den Code-Tags falsch gemacht :?: :shock:


ErnestoChe - Do 05.06.03 16:39

Hallo

das hier


Delphi-Quelltext
1:
str := ShellTreeView1.SelectedFolder.PathName;                    


das hier Zeigt dir den kompletten Pfad des markierten Eintrags an mit Dateiendung.
Wenn du nur den Dateinamen + Endung brauchst machst du halt noch folgendes:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TfrmMain.Button1Click(Sender: TObject);
var
  str: String;
begin
  str := ShellTreeView1.SelectedFolder.PathName;
  SpeedButton1.Caption := ExtractFileName(str )+ ExtractFileExt(str);
end;


MFG

- Ernesto -

// Nachtrag: man muß nicht alle Methodennamen im Kopf haben. Gib einfach nur den Objektnamen ein, wie z.B. ShellTreeView1 und dann setzt einen Punkt dahinter und es öffnet sich das Fenster mit der Codevervollständigung. Gehe die Liste einfach durch. Meistens haben die Methoden selbstbeschreibende Namen, und man kann so die gesuchte Methode finden. Auch wenn ein bisschen umständlich ist.