AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Non-Unicode Temp Folder

Ein Thema von nobby · begonnen am 7. Okt 2011 · letzter Beitrag vom 7. Okt 2011
Antwort Antwort
nobby

Registriert seit: 1. Sep 2004
12 Beiträge
 
#1

Non-Unicode Temp Folder

  Alt 7. Okt 2011, 08:14
Hallo

Gibt es in Windows Vista/7 eine API-Funktion welche mir einen Pfad zu einem temporären Verzeichnis erstellt, welcher garantiert nur aus ASCII-Zeichen besteht - auch auf einem Chinesischen-Windows?

Ich habe eine 3rd-Party DLL, welche keine Unicode Verzeichnis- und Dateinamen kennt. Daher will ich die gebrauchten Dateien temporär in ein Verzeichnis kopieren, dessen Pfad keine Unicode-Zeichen (also nur ASCII) enthält.

Kann mir da jemand weiterhelfen? Bin für jeden Tip dankbar.

Grüsse Nobby
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

AW: Non-Unicode Temp Folder

  Alt 7. Okt 2011, 08:32
MSDN-Library durchsuchenGetTempPath gibt es in einer ANSI- und einer Unicode-Variante (GetTempPathA/GetTempPathW).

[edit] ASCII und ANSI verwechselt , Antwort passt somit gar nicht zur Frage.
Ich sollte noch einen Kaffee trinken [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH ( 7. Okt 2011 um 09:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Non-Unicode Temp Folder

  Alt 7. Okt 2011, 08:47
Gibt es in Windows Vista/7 eine API-Funktion welche mir einen Pfad zu einem temporären Verzeichnis erstellt, welcher garantiert nur aus ASCII-Zeichen besteht - auch auf einem Chinesischen-Windows?
Nö. Da das Temp-Verzeichnis seit einigen Jahren im User-Profil liegt wirst du das nicht bekommen. Jedoch wird Windows dafür sorgen das auch Nicht-Unicode-Fähige Programme über den 8.3-Namen einen verdauliche Pfadangabe bekommen.
Aber Grundsätzlich kannst du dich nicht darauf verlassen das nicht ein Win8/9/10 hier mal die 8.3er repräsentation abschafft.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#4

AW: Non-Unicode Temp Folder

  Alt 7. Okt 2011, 09:06
MSDN-Library durchsuchenGetShortPathName
Macht aus jedem Unicode-Pfad einen ANSI-Pfad ... alles nur noch 8.3-DOS-Pfadnamen

Wobei die ANSI-API das vermutlich auch selbst schon teilweise erledigen sollte, wenn der ein Name nicht in ANSI reinpaßt,
aber ASCII wird es nicht unbedingt werden. (außer wenn man alles eben direkt in 8.3 umwandelt)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 7. Okt 2011 um 09:08 Uhr)
  Mit Zitat antworten Zitat
nobby

Registriert seit: 1. Sep 2004
12 Beiträge
 
#5

AW: Non-Unicode Temp Folder

  Alt 7. Okt 2011, 13:24
Ich lege z.Z. ein eigenes Temp-Verzeichnis unter C:\ProgramData\Temp\MyApp\ an.
Kann ich mit dieser Methode sicher sein, dass "ProgramData" unter allen Windows-Sprachen immer so heisst oder lautet das auf einem Chinesischen Rechner wieder anders?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Non-Unicode Temp Folder

  Alt 7. Okt 2011, 13:32
Ich lege z.Z. ein eigenes Temp-Verzeichnis unter C:\ProgramData\Temp\MyApp\ an.
Kann ich mit dieser Methode sicher sein, dass "ProgramData" unter allen Windows-Sprachen immer so heisst oder lautet das auf einem Chinesischen Rechner wieder anders?
Ich denke seit Windows Vista heißt C:\ProgramData immer C:\ProgramData. Abfragen solltest du es trotzdem immmer über die entsprechende WinAPI-Funktion.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#7

AW: Non-Unicode Temp Folder

  Alt 7. Okt 2011, 14:06
Jupp, das sollte jetzt überall so heißen.
Seit Win7 liegt das gebootete Windows auch immer auf C:\ (selbst wenn es nicht die erste Partition ist).

Sind wohl alles zugeständnisse an blöde Programmierer, welche hardgecodete Pfade nutzen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Non-Unicode Temp Folder

  Alt 7. Okt 2011, 14:14
Sind wohl alles zugeständnisse an blöde Programmierer, welche hardgecodete Pfade nutzen.
Und ich hab mich noch zurückgehalten mit diesem Kommentar
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz