AGB  ·  Datenschutz  ·  Impressum  







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

XE5 und "veraltet"

Ein Thema von Mavarik · begonnen am 9. Okt 2013 · letzter Beitrag vom 9. Okt 2013
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.152 Beiträge
 
Delphi 10.3 Rio
 
#1

XE5 und "veraltet"

  Alt 9. Okt 2013, 13:10
noch einen...

Ich "liebe" die neue IDE...

if S[i] in ['0'..'9'] then
Fehler W1050 Widechar in Set-Ausdrücken auf ByteChar verkürtzt. Ziehen Sie die Verwendung der Funktion 'CharInSet' aus der Unit 'Sysutils' in Betracht.

OK... Bin ja folgsam... An gefühlt 100 Stellen geändert...

Neuer Compiler lauf:

Fehler W1000 Symbol 'CharInSet' ist veraltet: 'Use TCharHelper functionality'

na Toll...

Also TCharHelper <F1> "Keine Hilfe für Kontext 1380 gefunden"

Mavarik

PS.: Mal abgesehen von 'Use... Englisch?!
  Mit Zitat antworten Zitat
Benutzerbild von pustekuchen
pustekuchen

Registriert seit: 27. Aug 2010
268 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: XE5 und "veraltet"

  Alt 9. Okt 2013, 13:19
Tja ist schon traurig.

TCharHelper
Delphi programming is awesome.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.190 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: XE5 und "veraltet"

  Alt 9. Okt 2013, 13:26
Verstehe ich jetzt nicht. Wäre es dir lieber gewesen, die hätten die alten Units mit Gewalt entfernt?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: XE5 und "veraltet"

  Alt 9. Okt 2013, 13:33
Verstehe ich jetzt nicht. Wäre es dir lieber gewesen, die hätten die alten Units mit Gewalt entfernt?
Nein, aber wenn die Folgelösung, auf welche verwiesen ist auch schon obolet ist, könnte man gleich auf die Folge-Folgelöosung hinweisen
Markus Kinzler
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.190 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: XE5 und "veraltet"

  Alt 9. Okt 2013, 13:39
Finde ich nicht unbedingt.

Variante 1 wird nicht mehr weiterentwickelt. Deprecated-Kommentar verweist sogar freundlicherweise auf Variante 2.

Jahre später. Variante 2 wird nicht mehr weiterentwickelt, Deprecated-Kommentar verweist sogar freundlicherweise auf Variante 3.

Muss der Entwickler von Variante 3 überhaupt um Variante 1 wissen? Fasst man Variante 1 jetzt wirklich noch einmal an, nur um den Deprecated-Kommentar von auf Variante 2 auf Variante 3 umzubiegen?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: XE5 und "veraltet"

  Alt 9. Okt 2013, 14:18
Leute, habt ihr eigentlich keine wirklichen Probleme?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.152 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: XE5 und "veraltet"

  Alt 9. Okt 2013, 13:33
Verstehe ich jetzt nicht. Wäre es dir lieber gewesen, die hätten die alten Units mit Gewalt entfernt?
Ne aber anstatt der 1. Fehlermeldung man sollte CharInSet nehmen direkt den Hinweis auf TCharHelper und nicht in einer Fehlermeldung noch auf eine Funktion verweisen die "schon" veraltet ist!
  Mit Zitat antworten Zitat
jbg

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

AW: XE5 und "veraltet"

  Alt 9. Okt 2013, 17:43
if S[i] in ['0'..'9'] then Fehler W1050 Widechar in Set-Ausdrücken auf ByteChar verkürtzt. Ziehen Sie die Verwendung der Funktion 'CharInSet' aus der Unit 'Sysutils' in Betracht.
Das ist doch schon der erste Fehler. Der Compiler generiert hierfür korrekten Code der auf WideChar-Basis (2 Byte) arbeitet. Solange das CharSet aus ASCII Zeichen (also "<= #127") besteht, ist die Warnung bzw. der Fehler hinfällig. Und CharInSet() ist eine Performance-Krücke, ganz zu schweigen von TCharHelper.IsInArray, das der totale Abschuss von der Performance her ist, da zum einen ein Array on-the-fly erzeugt und dieses dann auch noch Iterativ (for-Schleife) durchlaufen wird. Und ich finde "C in ['0'..'9']" um einiges lesbarer als C.InArray(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'])"
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: XE5 und "veraltet"

  Alt 9. Okt 2013, 17:49
Und ich finde "C in ['0'..'9']" um einiges lesbarer als C.InArray(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'])"
Du sollst ja auch C.IsDigit schreiben.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.190 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: XE5 und "veraltet"

  Alt 9. Okt 2013, 17:53
Kleine Frage: In diesem Fall doch myChar.isNumber() oder? Digit schließt wohl auch Dinge wie Kommas mit ein, oder?

//Edit:

In der OH für System.Character.IsDigit (ACHTUNG DEPRECATED) findet man:
Zitat:
Die Definition von Digit und die Beziehung zu Number finden Sie unter
http://www.unicode.org/versions/Unic...04.pdf#G124206, The Unicode Standard, Version 5.2
In der empfohlenen Methode des TCharHelper steht davon leider nichts mehr.

Das ist der halbe Punkt meiner nur anderthalb Kritikpunkte an Embarcadero Delphi. Die Hilfe ist wirklich etwas durcheinander und nicht gerade fehlerfrei...

Geändert von Der schöne Günther ( 9. Okt 2013 um 17:56 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:51 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 by Thomas Breitkreuz