Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi Dateiname mit Umlaut in Android (https://www.delphipraxis.net/179148-dateiname-mit-umlaut-android.html)

SaBaN 23. Feb 2014 10:55

AW: Dateiname mit Umlaut in Android
 
Wenn die Assets vom AAPT auf ungültige Zeichen überprüft wird, wie kann ich dann im App Dateien mit Umlaut erstellen?
Siehe dir dazu mein Demo an.

Bei "ungültigen Zeichen" mekert nur EMBT bei der Bereitstellung der Datei. Somit würde ich mal behaupten, dass das ein Problem von EMBT ist.


Nun hatte ich die Idee, dass ich die Textdateien in eine selbst programmierte Zip-Datei packe und diese dann beim ersten Start der App entpacke.
Nur wie wir schon wissen, gibt es der Zeit keine Zip-Datei für Android und bei der Erstellung einer eigenen Zip-Datei bin ich auch gescheitert.
Hätte da jemand eine gute Idee, wie ich das verwirklichen könnte?

Union 23. Feb 2014 11:50

AW: Dateiname mit Umlaut in Android
 
Das mit den Umlauten ist wegen Einschränkungen des Android SDK nicht möglich. Das einzige was man Embt hier vorwerfen kann, ist dass der Deployment Manager das Hinzufügen solcher Dateien nicht bereits verhindert.
Du könntest aber die Datei konventionsgemaess hinzufügen und diese dann im StartupCopy umbenennen.

[Edit]
Wieso sollte es keine Zip-Datei für Android geben?
Delphi-Quellcode:
uses IOUtils, System.Zip;
...
TZipFile.ExtractZipFile(TPath.Combine(TPath.GetDocumentsPath), 'bereitgestelltezipdateiohneumlauteimdateinamen.zip'), TPath.GetDocumentsPath);
Packt die angegebene Datei aus, auch mit UTF8-Dateinamen.
[/Edit]

SaBaN 25. Feb 2014 07:37

AW: Dateiname mit Umlaut in Android
 
Danke dir Union! das ist der Tip was ich gesucht habe, funktioniert einwandfrei beim Android und IOS(simulator).

Ich hatte da noch eine frage mit dem Dateinamen und Umlauten, uns war Ich durchsuche mit GetFiles die Dateien.
Wenn ich in die Eingabefeld einen Ascii(oder Ansi wie auch immer) wert eingebe, dann unterscheidet GetFiles Groß u. Klein nicht.
Aber wenn ich eine Buchstabe mit Umlauten eingebe dann unterscheidet sich.
z.B. wenn ich "m" eingebe dann wird sowohl müller.txt auch MÜLLER.TXT gefunden, wenn man aber "mü" eingibt dann wird nur müller.txt gefunden.
Gibtes da eine andere methoden zum durchsuchen, oder mache ich was falsch. Sonst werde ich alle dateien(knapp über 2000) auf kleinbuchstaben umändern, die aber nicht das Problem ist.

Delphi-Quellcode:
...
FilesList := TDirectory.GetFiles(Pfad, FileName+'*.txt', TSearchOption.soTopDirectoryOnly);
for Loop := 0 to High(FilesList) do
  TListBox(Sender).Items.Add(ExtractFileName(ChangeFileExt(FilesList[Loop], '')));
mfg
Saban

arnof 25. Feb 2014 07:52

AW: Dateiname mit Umlaut in Android
 
Zitat:

Zitat von arnof (Beitrag 1248230)
Lösung:

Mueller.txt

Aber man beachte das ist ein linuxbasierendes Betriebssystem, d.h. Neben sämtlichen Umlauten noch auf Groß und Kleinschreibung der Dateien achten!


Lade alle Filenamen in deine Listbox und suche dort nach MÜ....

SaBaN 25. Feb 2014 08:43

AW: Dateiname mit Umlaut in Android
 
Ja das habe ich mir auch gedacht, aber beim jeden start das in die Listbox hinzufügen und prüefen ob der User eine neue datei hingezufügt hat ist bissen umständlich.
Das "Komische" ist Groß- und Klein schreibung wird bei Ansi nicht beachtet nur bei Umlauten.
Werde wohl alle Datein in Kleinbuchstaben umwandeln.
Danke dir!

Union 25. Feb 2014 10:55

AW: Dateiname mit Umlaut in Android
 
Was willst Du damit eigentlich bezwecken mit dieser Prüfung?

SaBaN 25. Feb 2014 16:08

AW: Dateiname mit Umlaut in Android
 
Also ich dachte beim ersten start des App, soll alle Dateien in einer Listbox ausgelesen und in einer Datei gespeichert damit der Startvorgang beim nächsten mal bei
ungefähr 2000 Dateien nicht so lange dauert. Beim jeden nächsten start des App muss wieder überprüft werden, ob der User neuen Datei hinzugefügt hat oder nicht oder sogar einige Dateien gelöscht hat.
Also wieder auslesen und wieder in einer Datei schreiben usw. und das beim jeden Start, das schien mir etwas umständlich zu seien.
So wird der Startvorgang des Apps schwer beeinträchtigt, oder denke ich mir falsch.

Union 25. Feb 2014 16:25

AW: Dateiname mit Umlaut in Android
 
Wieso packst Du die Dateien beim ersten App-Start nicht in ein anderes Verzeichnis? Dann befinden sich im Dokument-Ordner nur die vom Benutzer hinzugefügten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 Uhr.
Seite 3 von 3     123   

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