Autor Beitrag
recall
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 449



BeitragVerfasst: Mi 10.09.03 01:55 
Hallo,

Der Titel ist ungünstig, aber sonst hätte er nicht gepasst ;) .
Wie schon gesagt gibts bei ExtractFilePath das finale "\" am Ende. Wenn ich jetzt noch einen Dateinamen dahintersetze, dann könnte es ja sein (vielleicht übersieht man es ja), dass folgendes entsteht: "C:\Programme\xyz\\Programm.exe".

Mein WinXP-D7 macht das mit, bei Win95-D3 glaube ich schonmal Probleme mit ShellExecute gehabt zu haben, aber generell: Was wisst ihr darüber ? Geht das bei jeder Funktion ? Ist das Versionsabhängig ? Windows-Versionsabhängig ? usw... ?

Ich frage das nur aus Interesse, nicht weil ich beim proggen schlampen will ;) !

Viele Grüsse.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 10.09.03 02:19 
Wenndu weißt, das ExtcratFilePath standardmäßig den Backslash szehen läßt, wo ist das Problem?
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 10.09.03 08:28 
Man nehme ExtractFileDir, da hängt IMHO kein Backslash dran.
recall Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 449



BeitragVerfasst: Mi 10.09.03 08:45 
Hallo,

Ich sagte doch:
Zitat:
Ich frage das nur aus Interesse [...]
Also, ich habe damit kein Problem, ich wollte es nur wissen !!

Viele Grüsse.
ak
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 240

Suse Windows 9 XP
D6 Professional
BeitragVerfasst: Mi 10.09.03 11:09 
Zitat:
Wie schon gesagt gibts bei ExtractFilePath das finale "\" am Ende. Wenn ich jetzt noch einen Dateinamen dahintersetze, dann könnte es ja sein (vielleicht übersieht man es ja), dass folgendes entsteht: "C:\Programme\xyz\\Programm.exe".


Wenn du es zusammensetzt kannst du doch gleich "Filename" nehmen, da hast du den Pfad mit der Datei. Ansonsten wird ja bei "extractfilename" kein Backslash vorgesetzt.

_________________
Gruß AK
recall Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 449



BeitragVerfasst: Mi 10.09.03 12:02 
ak hat folgendes geschrieben:
Wenn du es zusammensetzt kannst du doch gleich "Filename" nehmen, da hast du den Pfad mit der Datei. Ansonsten wird ja bei "extractfilename" kein Backslash vorgesetzt.

Ich will ja den Pfad mit einer anderen Datei kombinieren, aber bei mir WinXP-D7 wird auch ohne Filename (also nur Pfad) ein "\" dahintergesetzt ;) .
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Mi 10.09.03 12:54 
Die Frage ist im Grundegenommen keine Frage. Auch keine aus Interesse, denn als Programmierer kannst du das beeinflussen. Bei ExtractFilePath hast du am ende des String ein Backslash (immer), bei ExtractFileDir hast kein Backslash (auch immer). Somit weißt du immer wie der Zustand ist. Wenn du also mal einen FileNamen zuläßt, der ein Backslash vorne hat, dann bist du ein schlechter Programmierer. Denn vor einem Filenamen hat nie ein Backslash zu sein.

Also, keine Frage.

_________________
Popov
DaRkFiRe
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 526

WinXP Home & Professional
C, C++, Delphi
BeitragVerfasst: Fr 12.09.03 07:30 
Ja ja ja - aber ExtractFileDir knallt Euch beim Root (also C:) einen Backslash an' Kopp. Probiert's ma...

Also einfach mit:

ausblenden Delphi-Quelltext
1:
2:
3:
Path:=EXTRACTFILEPATH(<dateiname>);
Path:=COPY(Path,1,LENGTH(Path)-1); //letzten Backslash abtrennen
// alternativ auch DELETE(Path,LENGTH(Path),1);


den letzten Backslash abtrennen und weitermachen. Klammert Euch nich so an's "Path", sondern nehmt, was Ihr wollt.

_________________
Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Fr 12.09.03 09:24 
manno, nimm doch einfach immer IncludingTrailingBackslash() mit dazu. Dann hast du GARANTIERT immer ein BS hinten dran. Und dass funzt überall.

grez
msch

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Fr 12.09.03 12:28 
MSCH hat folgendes geschrieben:
IncludingTrailingBackslash()

Besser IncludingTrailingPathDelimiter, da der Compiler (Delphi 6+) dann nichts von plattformspezifischem Code meldet.

_________________
Ist Zeit wirklich Geld?