Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Pos & PosEx mit WideStrings (Unicode) (https://www.delphipraxis.net/40559-pos-posex-mit-widestrings-unicode.html)

Kedariodakon 17. Feb 2005 16:10


Pos & PosEx mit WideStrings (Unicode)
 
Kann es mit den Funktionen Pos & PosEx zu Problemen mit WideStrings kommen?

Von den Funktionen gibt es ja keine überladenen Funktionen für WideString, also wird er sie ja vorher in den Typ String konvertieren und dann ausführen, sprich es könnte Fehler bereiten oder irre ich mich? :gruebel:

Bye

himitsu 17. Feb 2005 17:07

Re: Pos & PosEx mit WideStrings (Unicode)
 
Also Pos ist wohl schon mindestens seit D6 vorhanden (bei D7 auf jeden fall)

Für Ansi/WideStrings kannst du einfach POS verwenden, der Compiler nimmt dann schon das Richtige, bei PosEx sieht das anders aus, dort gibt es nur die AnsiString-Version, aber die kannst du dir ja einfach selber umbasteln.

Auserdem gibt es auch schon einige fertige Sachen für Unicode (z.B. die TNT-Unicode-Utilities und andere)




PS: ich bastle mir derzeit selber etwas, da "alle" derzeitigen Unicode-Utilities mit vorliebe auf die "bekanten" Windowsroutinen zugreifen und diese fehlerhaft sind, zusätzlich wird bei mir der Unicode Standard 3.2 (also Ansi-, Wide- und LongStrings) und ich versuche möglichts die "originalen Versionen zu überladen, so das die Funktionsnamen bei allen Stringvarianten gleich sind.
Leidert dauert es bei mir aber noch ein bißchen, bis ich zumindestens 'ne Vorabversion hochladen kann.
Ich hatte da zwar schon 'ne "fertige" Unit da, wo diese Funtionen mit drinen waren (eine überarbeitete TRegistry, mit einigem Zusatzsachen), aber dertzeit überarbeite ich diese, lagere einiges aus und baue meine Unicodefunktionen weiter aus...

Kedariodakon 18. Feb 2005 08:33

Re: Pos & PosEx mit WideStrings (Unicode)
 
Aja ich seh schon es gibt für Pos eine extra Funktion Delphi-Referenz durchsuchenAnsiPos (Funktion), aber wenn ich die normale Funktion Pos benutz bezweifle ich das er diese nimmt...

Wenn du dann die Library fertig hast und anderen zugänglich machen möchtest, kannst du ja bescheid sagen :zwinker:


Bye

Bernhard Geyer 18. Feb 2005 08:52

Re: Pos & PosEx mit WideStrings (Unicode)
 
Zitat:

Zitat von himitsu
ich bastle mir derzeit selber etwas, da "alle" derzeitigen Unicode-Utilities mit vorliebe auf die "bekanten" Windowsroutinen zugreifen und diese fehlerhaft sind,

Das ElPack verwendet keine Win32-API-Funktionen. Es hat alles selbst in Pacal implementiert.

Kedariodakon 18. Feb 2005 08:59

Re: Pos & PosEx mit WideStrings (Unicode)
 
Zitat:

Zitat von Bernhard Geyer
Das ElPack verwendet keine Win32-API-Funktionen. Es hat alles selbst in Pacal implementiert.

Und wo kann man das finden?

Bye

Bernhard Geyer 18. Feb 2005 09:04

Re: Pos & PosEx mit WideStrings (Unicode)
 
ElPack

Kedariodakon 18. Feb 2005 09:17

Re: Pos & PosEx mit WideStrings (Unicode)
 
Danke ich werd es mir mal anschauen

Bye

himitsu 18. Feb 2005 09:23

Re: Pos & PosEx mit WideStrings (Unicode)
 
Zitat:

Zitat von Bernhard Geyer
Das ElPack verwendet keine Win32-API-Funktionen. Es hat alles selbst in Pacal implementiert.

Ich hatte/hab das ElPack auch schon gehabt und die Komponenten darin sind schon OK (wie in vielen solcher Packs), aber ich bin mir ziehmlih sicher, das die keinen Bogen um die Win-API gemacht haben, oder hast du dort irgendwo 'ne kleine Datenbank drin gesehn? Denn für einige Funktionen, wie z.B. Upper-/LowerCase werden nunmal, für ne ordentliche Ausführung einige Daten benötig, was bei mir derzeit mit 'ner kleine 1 MB-InfileDataBase gelöst wurde.

Ich werd' aber gerne nochmal in dieses Päckchen reinschauen, wenn ich die Möglichkeit/Zeit dafür finde.

PS: die TNT-Unicode-Utilities haben viele als ASM und Pascal eingebaut (man kann sich also aussuchen, was man lieber verwenden möchte)

Bernhard Geyer 18. Feb 2005 09:28

Re: Pos & PosEx mit WideStrings (Unicode)
 
Zitat:

Zitat von himitsu
Ich hatte/hab das ElPack auch schon gehabt und die Komponenten darin sind schon OK (wie in vielen solcher Packs), aber ich bin mir ziehmlih sicher, das die keinen Bogen um die Win-API gemacht haben, oder hast du dort irgendwo 'ne kleine Datenbank drin gesehn? Denn für einige Funktionen, wie z.B. Upper-/LowerCase werden nunmal, für ne ordentliche Ausführung einige Daten benötig, was bei mir derzeit mit 'ner kleine 1 MB-InfileDataBase gelöst wurde.

Bei Upper/Lowercase wird AFAIK nur Simple Folding unterstützt.
Und wieso benötigst du 1 MB? Die CaseFolding von Unicode.org hat in der Version 4.0 auch nur 50 kByte.

himitsu 18. Feb 2005 09:36

Re: Pos & PosEx mit WideStrings (Unicode)
 
die Daten dafür liegen auch etwa unter 100 KB, aber die DB ist nicht nur dafür ausgelegt und da sie mehr kann, ist sie natürlich auch größer :zwinker:

[add]
Ach ja, nicht wundern, die Daten meiner DB sind zwar "noch" in Version 3.2 vorhanden, wird aber, nachdem ich das jetzt fertig hab noch Upgedatet werden, aber soviele Veränderungen gibt es eh nicht, dass es jetzt unbedingt nötig währe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:43 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