AGB  ·  Datenschutz  ·  Impressum  







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

Quo vadis Delphi XE8 ?

Ein Thema von Insider2004 · begonnen am 12. Feb 2015 · letzter Beitrag vom 16. Feb 2015
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.650 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Quo vadis Delphi XE8 ?

  Alt 14. Feb 2015, 19:31
Auch wenn ich nicht wirklich verstanden hab, warum man das ANSI/UTF-8 abgeschafft hat.
Weil es leider in vielen Fällen ohne Not einfach so benutzt wird. Oft aus Unkenntnis, oft aus Bequemlichkeit. Selbst in zwei Projekten, die Andreas Unit verwenden, wird es offenbar einfach nur verwendet, damit es Ansi ist, obwohl es dort gar keinen Grund dafür gibt. Nur funktioniert die App nur dadurch nicht z.B. mit chinesischer Sprache (ist aber auch nicht im AppStore).

Deshalb kann ich den Schritt durchaus nachvollziehen...

Es gibt aber natürlich auch seltene Fälle, in denen Ansistrings tatsächlich Sinn machen, auch auf mobilen Plattformen. Zum Beispiel, wenn man mit einem Dienst direkt kommuniziert, der Ansistrings benutzt.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#12

AW: Quo vadis Delphi XE8 ?

  Alt 14. Feb 2015, 19:47
Es gibt aber natürlich auch seltene Fälle, in denen Ansistrings tatsächlich Sinn machen, auch auf mobilen Plattformen. Zum Beispiel, wenn man mit einem Dienst direkt kommuniziert, der Ansistrings benutzt.
Da kann man doch aber problemlos TBytes hin und her ballern und das per TEncoding lösen oder?
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
CHackbart

Registriert seit: 22. Okt 2012
267 Beiträge
 
#13

AW: Quo vadis Delphi XE8 ?

  Alt 14. Feb 2015, 21:01
Wenn jch überlege was für Verrenkungen ich bei Synapse TCP machen musste. Es macht keinen Sinn den Entwickler zu bevormunden. Fast jede Lowlevel API verlangt nach Ansi und da dauernd Verrenkungen einbauen zu müssen ist eher eine Gängelung.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.650 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Quo vadis Delphi XE8 ?

  Alt 14. Feb 2015, 22:07
Da kann man doch aber problemlos TBytes hin und her ballern und das per TEncoding lösen oder?
Das ist auch der bessere Weg, aber besser ist nicht einfacher und deshalb möchten viele den Weg nicht bestreiten.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#15

AW: Quo vadis Delphi XE8 ?

  Alt 14. Feb 2015, 22:33
Für mich persönlich wäre es schön, wenn zumindest UTF8String zur Verfügung stehen würde. Auf den ANSI-String kann ich verzichten. Aber UTF8 ist der Quasi-Standard des Internets. Und laufend mit TBytes herumzuhantieren macht da wenig Spaß.

Was sieht wohl leserlicher aus (und nein, ich werden Byte nicht in WideChar konvertieren was ein unnötiges "MOVZX" einfügen würde):
Delphi-Quellcode:
B[I] in [Ord('A')..Ord('Z'), Ord('a')..Ord('z'), Ord('_'), Ord('0')..Ord('9')]
// oder
S[I] in ['A'..'Z', 'a'..'z', '_', '0'..'9']
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.650 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: Quo vadis Delphi XE8 ?

  Alt 14. Feb 2015, 23:03
Da stimme ich zu, mit UTF-8 sieht das anders aus. Ich wandele allerdings immer zuerst in Unicodestrings um, so dass ich aktuell keine Probleme habe.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#17

AW: Quo vadis Delphi XE8 ?

  Alt 15. Feb 2015, 00:18
Was sieht wohl leserlicher aus (und nein, ich werden Byte nicht in WideChar konvertieren was ein unnötiges "MOVZX" einfügen würde):
Delphi-Quellcode:
B[I] in [Ord('A')..Ord('Z'), Ord('a')..Ord('z'), Ord('_'), Ord('0')..Ord('9')]
// oder
S[I] in ['A'..'Z', 'a'..'z', '_', '0'..'9']
Ich denke dafür kann man auch eine überladene Version von CharInSet definieren um sowas zu verstecken
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#18

AW: Quo vadis Delphi XE8 ?

  Alt 15. Feb 2015, 00:20
Da stimme ich zu, mit UTF-8 sieht das anders aus. Ich wandele allerdings immer zuerst in Unicodestrings um, so dass ich aktuell keine Probleme habe.
Man sollte seine Anwendung so gestallten das nur an den "Außenkontaktstellen" in die nötige Charset/Codepage/Codierung gewandelt wird und intern 100% mit UnicodStrings gearbeitet wird.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#19

AW: Quo vadis Delphi XE8 ?

  Alt 15. Feb 2015, 00:42
Man sollte seine Anwendung so gestallten das nur an den "Außenkontaktstellen" in die nötige Charset/Codepage/Codierung gewandelt wird und intern 100% mit UnicodStrings gearbeitet wird.
Und was macht ein JSON Parser der UTF8 "on the fly" bekommt? Einfach mal zwischen einer multi-byte UTF8-Sequence in UTF16 konvertieren dürfte interessante Ergebnisse liefern. Am Ende spuckt er schon einen UTF16-"Baum" aus, aber zum Parsen nutzt er UTF8.

Zitat:
Ich denke dafür kann man auch eine überladene Version von CharInSet definieren um sowas zu verstecken
Pfui. CharInSet ist für einen Parser der letzte Unsinn. Der Compiler generiert für CharSets mit nur ASCII-Zeichen den korrekten Code. Da muss man nicht aus einer optimierten "Set-Abfrage" die komplett in den CPU Registern abläuft, einen Funtionsaufruf und Bit-Operationen auf RAM durchführen. Wenn ich bei Embarcadero arbeiten würde, wäre CharInSet sicherlich meine erste Wahl, da dort "langsam und schlecht" seit ein paar Jahren vorherrscht.

Geändert von jbg (15. Feb 2015 um 00:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#20

AW: Quo vadis Delphi XE8 ?

  Alt 15. Feb 2015, 09:49
Und was macht ein JSON Parser der UTF8 "on the fly" bekommt? Einfach mal zwischen einer multi-byte UTF8-Sequence in UTF16 konvertieren dürfte interessante Ergebnisse liefern. Am Ende spuckt er schon einen UTF16-"Baum" aus, aber zum Parsen nutzt er UTF8.
Die JSON-Schnittstelle ist für mich Außenschnittstelle. Und dieser liefert ja mittlerweile Emba. Und sobald ich die Wert einlese habe ich ja normale Unicodestrings.
Zitat:
Ich denke dafür kann man auch eine überladene Version von CharInSet definieren um sowas zu verstecken
Pfui. CharInSet ist für einen Parser der letzte Unsinn. Der Compiler generiert für CharSets mit nur ASCII-Zeichen den korrekten Code. Da muss man nicht aus einer optimierten "Set-Abfrage" die komplett in den CPU Registern abläuft, einen Funtionsaufruf und Bit-Operationen auf RAM durchführen. Wenn ich bei Embarcadero arbeiten würde, wäre CharInSet sicherlich meine erste Wahl, da dort "langsam und schlecht" seit ein paar Jahren vorherrscht.
Den Quellcode habe ich mir hier noch nicht angesehen um das zu beurteilen. Da ich aber keine Zeitkritische Operation mit viele CharInSet-Abfragen habe ist mir hier auch nix aufgefallen.
Windows Vista - Eine neue Erfahrung in Fehlern.

Geändert von TBx (15. Feb 2015 um 17:54 Uhr) Grund: Fehlendes Quote-Tag ergänzt
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 21:20 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