Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TAbbrevia -> Umlauteproblem (https://www.delphipraxis.net/42696-tabbrevia-umlauteproblem.html)

TheMiller 22. Mär 2005 17:15


TAbbrevia -> Umlauteproblem
 
Hallo,

ich habe die Abbrevia-Komponente Version 3.05 Beta 6 installiert. Verwende nur die CAB-Funktion und musste feststellen, dass er bei einigen Dateinamen, in denen Familiennamen enthalten sind, nicht speichert und die Fehlermeldung

Delphi-Quellcode:
File not found
ausgibt. Nach 40 Testversuchen ist mir aufgefallen, dass er meinen Familiennamen Müller nicht mag. Auch andere Namen mit Ü nimmt er nicht an.

Hat die Komponente Probleme mit den Umlauten?

MasterC 22. Mär 2005 17:20

Re: TAbbrevia -> Umlauteproblem
 
Ich kenn diese Komponenten zwar nicht, aber versuch es mal mit der WinApi Funktion MSDN-Library durchsuchenCharToOEM:

Delphi-Quellcode:
function Char2OEM(AnsiString: string): string;
begin
  ANSIString := ANSIString + #0;
  CharToOEM(PChar(ANSIString), @ANSIString[1]);
  Delete(ANSIString, Length(ANSIString), 1);
  Result := ANSIString;
end;

Union 22. Mär 2005 17:44

Re: TAbbrevia -> Umlauteproblem
 
Zitat:

Zitat von DJ-SPM
Hallo,

ich habe die Abbrevia-Komponente Version 3.05 Beta 6 installiert. Verwende nur die CAB-Funktion und musste feststellen, dass er bei einigen Dateinamen, in denen Familiennamen enthalten sind, nicht speichert und die Fehlermeldung

Delphi-Quellcode:
File not found
ausgibt. Nach 40 Testversuchen ist mir aufgefallen, dass er meinen Familiennamen Müller nicht mag. Auch andere Namen mit Ü nimmt er nicht an.

Hat die Komponente Probleme mit den Umlauten?

Ja, in der Methode CreateItem wird zweimal AnsiToOem aufgerufen. Es fehlt dort die Rückwandlung in Ansi. Entweder Du erzeugst die Einträge manuell durch ein eigenes CreateItem und dann Add anstelle von AddFiles oder Du belegst den OnConfirmProcessItem Event mit einer Umwandlungsfunktion, die den Fehler behebt.

Christian Seehase 22. Mär 2005 18:33

Re: TAbbrevia -> Umlauteproblem
 
Moin Union,

Zitat:

Zitat von Union
oder Du belegst den OnConfirmProcessItem Event mit einer Umwandlungsfunktion, die den Fehler behebt.

oder, da die Komponenten Open-Source sind, man versucht einen eventuellen "Fehler" selber zu beheben ;-)

TheMiller 23. Mär 2005 19:16

Re: TAbbrevia -> Umlauteproblem
 
Hm,

scheint so, dass die Komponente auch Probleme mit längeren Dateinamen hat? Wollte gerade das Archiv 05-0070 - sasdasdasdsadsadasdasd erstellen. Doch ich bekam wieder die gleiche Fehlermeldung, wie oben...

Delphi-Quellcode:
File not found
Kann man das beheben? Wenn ja, wie? Ist nämlich ganz wichtig

Christian Seehase 23. Mär 2005 22:50

Re: TAbbrevia -> Umlauteproblem
 
Moin DJ-SPM,

ich habe Version 3.04, und kann Dein Problem nicht nachvollziehen.

Der Eigenschaft Filename habe ich im Objektinspektor einen Pfad, endend mit Deinem Dateinamen zugeweisen, dann in einer Button.Click Routine noch das BaseDirectory gesetzt, mit AddFiles Dateien hinzugefügt, und dann mit CloseArchive die Datei geschrieben.
Kein Problem.

Bei CloseArchive wird übrigens die Eigenschaft FileName auf '' gesetzt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz