Entwickler-Ecke
Dateizugriff - ExtractFilePath mit "\" am Ende...
recall - Mi 10.09.03 01:55
Titel: ExtractFilePath mit "\" am Ende...
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.
Delete - Mi 10.09.03 02:19
Wenndu weißt, das ExtcratFilePath standardmäßig den Backslash szehen läßt, wo ist das Problem?
Delete - Mi 10.09.03 08:28
Man nehme ExtractFileDir, da hängt IMHO kein Backslash dran.
recall - 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 - 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.
recall - 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 - 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.
DaRkFiRe - 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:
Delphi-Quelltext
1: 2: 3:
| Path:=EXTRACTFILEPATH(<dateiname>); Path:=COPY(Path,1,LENGTH(Path)-1); |
den letzten Backslash abtrennen und weitermachen. Klammert Euch nich so an's "Path", sondern nehmt, was Ihr wollt.
MSCH - 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
AndyB - Fr 12.09.03 12:28
MSCH hat folgendes geschrieben: |
IncludingTrailingBackslash() |
Besser IncludingTrailingPathDelimiter, da der Compiler (Delphi 6+) dann nichts von plattformspezifischem Code meldet.
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!