AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

IN durch CharInSet ersetzen

Ein Thema von franz22 · begonnen am 25. Nov 2015 · letzter Beitrag vom 27. Nov 2015
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: IN durch CharInSet ersetzen

  Alt 27. Nov 2015, 07:35
OK, fünfmal gelesen und doch falsch interpretiert. Wenn nicht dann ... sonst ..., grauenhaft.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.141 Beiträge
 
Delphi 12 Athens
 
#12

AW: IN durch CharInSet ersetzen

  Alt 27. Nov 2015, 07:45
Deswegen bei genauem Hinsehen...
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: IN durch CharInSet ersetzen

  Alt 27. Nov 2015, 09:03
Ich wusste nur noch, daß mir die Meldung dieses Jahr schon paar Mal um die Ohren flog,
aber bei ersterem Hinsehen hatte ich irgendwie IFDEF gelesen.


Nja, genau aus diesem Grund versuche ich keine negativen Bedingungen zu verwenden, zumindestens nicht, wenn ein ELSE im Spiel ist.

Und wenn man crossplattform Bibliotheken erstellen will, darf man nun entweder mit IFNDEFs abreiten, oder muß eben auf CharInSet verzichten.
Warum wird hier nur bei NEXTGEN gemeckert? Ich bekomme in Delphi doch sonst auch alle möglichen sinnlosen Warnungen, wenn was in C++ nicht geht.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.141 Beiträge
 
Delphi 12 Athens
 
#14

AW: IN durch CharInSet ersetzen

  Alt 27. Nov 2015, 09:39
oder muß eben auf CharInSet verzichten.
Wenn man es genau nimmt, ist das die sichere Methode. Ich weiß, es wird viele nicht wirklich betreffen, aber sowohl ein C in [...] als auch ein CharInSet funktioniert so richtig nur dann, wenn die ordinalen Werte unter #128 liegen. Richtiges Unicode geht damit sowieso nicht und bei allem zwischen #128 und #255 spielt die aktuelle Codepage eine Rolle.

Die Verwendung von IsInArray ist zugegebenermaßen etwas umständlich, wenn man Bereiche abfragen will, aber für viele reale Abfragen gibt es eigene Routinen (IsLetter , IsDigit , IsLower , ...), die auch für exotische Umgebungen funktionieren und nebenbei den Code in vielen Fällen lesbarer machen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
SMO

Registriert seit: 20. Jul 2005
178 Beiträge
 
Delphi XE6 Professional
 
#15

AW: IN durch CharInSet ersetzen

  Alt 27. Nov 2015, 13:26
Wenn man es genau nimmt, ist das die sichere Methode. Ich weiß, es wird viele nicht wirklich betreffen, aber sowohl ein C in [...] als auch ein CharInSet funktioniert so richtig nur dann, wenn die ordinalen Werte unter #128 liegen. Richtiges Unicode geht damit sowieso nicht und bei allem zwischen #128 und #255 spielt die aktuelle Codepage eine Rolle.
Genaugenommen spielt die Codepage immer eine Rolle. Die Zeichen zwischen #0 und #127 wären nur dann "sicher", wenn sie in allen Codepages identisch wären - sind sie aber nicht. Siehe z.B. EBCDIC. Hatte gerade erst damit zu tun... habe naiv angenommen, dass CR und LF (zum Erkennen eines Zeilenendes) immer auf #$D und #$A liegen, aber in EBCDIC ist LF #$25.

Geändert von SMO (27. Nov 2015 um 13:37 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:09 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