AGB  ·  Datenschutz  ·  Impressum  







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

AssignFile und WideString Dateiname

Ein Thema von martinf16 · begonnen am 19. Nov 2009 · letzter Beitrag vom 19. Nov 2009
Antwort Antwort
Seite 2 von 2     12   
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#11

Re: AssignFile und WideString Dateiname

  Alt 19. Nov 2009, 13:55
Zitat von himitsu:
Stimmt, grad nochmal nachgesehn ... mir war aber so, als hätte ich dort auch mal 'nen Puffer gesehn :gruebel:

Aber mal anderstum: Was spricht gegen die neuen OOP-Varianten?
Für jemanden, der es nur so kennt, wahrscheinlich nichts. Ansonsten die üblichen Verdächtigen: Vorhandene Codebasis, Kompatibilität/Portabilität und Gewohnheit/Vertrautheit. Für mich wär's jedenfalls eine grauenhafte Vorstellung, wenn ich ein und dieselbe Funktionen mal mit Streams für Delphi und mit Files für Pascal schreiben müßte.
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
655 Beiträge
 
Delphi 12 Athens
 
#12

Re: AssignFile und WideString Dateiname

  Alt 19. Nov 2009, 14:24
Zitat von himitsu:
AssignFile ist nunmal nativ nur ANSI.
Du meinst das aber jetzt nur im Kontext des Fragestellers, also für Delphi <2009, richtig?

Ich nutze AssignFile/reset/readln hier und da aus alter Gewohnheit noch ganz gerne und es wäre schon blöd, wenn das dann plötzlich beim Öffnen von Dateien am Zeichensatz scheitert. Delphi selbst sagt dazu allerdings:
  procedure (var F: File; FileName: String) Und String heißt ja seit D2009 eigentlich immer: Ist Unicode.

Bis denn
Bommel
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: AssignFile und WideString Dateiname

  Alt 19. Nov 2009, 14:26
Ab Delphi 2009 ist AssignFile, Reset/Rewrite/Append und die FileRecs auf Unicode umgestellt,

aber Read/ReadLn/Write/WriteLn nicht ... diese nehmen zwar UnicodeStrings an, wandeln diese aber intern in Ansi um.

Delphi hat, um Kompatibilitätsproblemen vorzubeugen, die Dateiinhalte ANSI gelassen (es sei denn man stellt die WinAPI auf OEM um, dann wird dort der alte DOS-mäßige OEM-Zeichensatz verwendet und die Daten werden entsprechend konvertiert)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
655 Beiträge
 
Delphi 12 Athens
 
#14

Re: AssignFile und WideString Dateiname

  Alt 19. Nov 2009, 14:33
Zitat von himitsu:
aber Read/ReadLn/Write/WriteLn nicht ... diese nehmen zwar UnicodeStrings an, wandeln diese aber intern in Ansi um.
Jupp, das ist klar. Das habe ich bei mir so gelöst, dass ich die Zeilen mit readLn in einen RawByteString lese... dann wandelt Delphi erst mal gar nichts um und ich kann mich selbst in aller Ruhe drum kümmern - in der Regel heißt das dann von/nach UTF8 wandeln.

Klar, da könnte ich auch die Encoding-Geschichten von TStringList nehmen, aber da bin ich auch schon ein paar mal mit gestolpert - erst gestern hatten wir hier ja ein schönes Beispiel.

Bis denn
Bommel
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: AssignFile und WideString Dateiname

  Alt 19. Nov 2009, 14:59
Und ich nehm seit Jahren oftmals direkt die WinAPIs, da gibt's auch nie Probleme, wobei ich seit 'ner Weile doch öfters mal wieder zu FileStreams tendiere.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 04:22 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