Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Code-Beispiel

Code-Beispiele » System

Lange Dateinamen zu DOS 8.3 Namen umwandeln

Lizenz:Erster Autor:Letzte Bearbeitung:
k. A.AdministratorSebastian 23.02.2008

WinAPI-Funktionen, aber auch DOS-Anwendungen usw. erwarten häufig einen Pfad zu einer Datei im sog. 8.3 Namensformat. Das bedeutet, dass der Dateiname nur 8 Zeichen plus Punkt + 3 Zeichen für die Endung lang sein darf. Der lange Pfad C:\Programme ergibt beispielsweise auf den meisten Systemen C:\Progra~1. Da man sich darauf jedoch nicht verlassen kann, dass dies immer der Fall ist, verwendet man die folgende WinAPI-Funktion, um einen kurzen Dateinamen zu erhalten:

'Getestet mit FB 0.18 für Windows, CVS (18.05.2007)

#include "windows.bi"

Dim Ergebnis As Integer
Dim PufferLaenge As Integer
Dim LangerPfadPtr As ZString Ptr
Dim KurzerPfadPtr As ZString Ptr
Dim KurzerPfad As String

PufferLaenge = 255
LangerPfadPtr = Allocate(PufferLaenge)
KurzerPfadPtr = Allocate(PufferLaenge)

*LangerPfadPtr = "C:\Programme"

Ergebnis = GetShortPathName(LangerPfadPtr, KurzerPfadPtr, PufferLaenge)

KurzerPfad = *KurzerPfadPtr

Deallocate (LangerPfadPtr)
Deallocate (KurzerPfadPtr)

PRINT "Kurzer Pfad: "; CHR(34); Trim(KurzerPfad); CHR(34)

SLEEP: END


Zusätzliche Informationen und Funktionen
  • Das Code-Beispiel wurde am 08.06.2007 von AdministratorSebastian angelegt.
  • Die aktuellste Version wurde am 23.02.2008 von AdministratorSebastian gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen