Hallo zusammen,
beim Öffnen eines, mit Delphi2007 erstellten Programms, mit Delphi XE7 bekomme ich folgende Meldung angezeigt:
[dcc32 Warnung] Unit1.pas(4190): W1050 WideChar in Set-Ausdrücken auf ByteChar verkürzt. Ziehen Sie die Verwendung der Funktion 'CharInSet' aus der
Unit 'SysUtils' in Betracht.
Die beanstandete Quelltextzeile dazu ist:
if not (Key in ['0'..'9', ',', '-', Char(VK_BACK), Char(VK_DELETE)]) then Key:= #0;
Diese Konstruktion stammt übrigens aus dem Easy Delphi Helper.
Nun habe ich das nach CharInSet() umgeformt, aber der Quelltext erstreckt sich jetzt über mehrere Zeilen:
Delphi-Quellcode:
if not CharInSet(Key,['0'..'9']) then
if not CharInSet(Key,[',']) then
if not CharInSet(Key,['-']) then
if not CharInSet(Key,[Char(VK_BACK)]) then
if not CharInSet(Key,[Char(VK_DELETE)]) then Key:= #0;
Hat jemand eine Idee, wie es noch kürzer geht (Ja, ich weiß, das alles passt auch in eine Zeile), eventuell mit anderen Methoden?
Vielen Dank das Ihr Euch diesen Thread angeschaut habt.
Grüße
Franz