Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#1

Wie aktuell sind die Warnhinweise des Compilers

  Alt 27. Sep 2018, 21:32
[Es gibt hier keine Compiler-Kategorie, daher bei IDE]

1. Bei Erstellung einer FMX-App gibt mir der Compiler einen Warnhinweis für die Verwendung von "FileGettAttr" aus, die Verwendung sei plattformspezifisch.

Wenn man mal in System.Sysutils reinsieht, sieht man aber, dass per IFDEF nach Windows und MAC/Linus-Plattform unterschieden wird. Warum erhalte ich also diesen Hinweis?

2. Für

if s[i] in LongForbiddenChars then begin erhalte ich die Warnung "[dcc32 Warnung] hs_tools_fmx.pas(600): W1050 WideChar in Set-Ausdrücken auf ByteChar verkürzt.
Ziehen Sie die Verwendung der Funktion 'CharInSet' aus der Unit 'SysUtils' in Betracht.

(OK, stimmt, könnte Probleme bei Unicode-Pairs geben)

Bei Charinset steht:

Hinweis: Es wird empfohlen, dass - wenn möglich - die Klasse TCharacter (die Unicode-fähig ist) zur Überprüfung verwendet wird, ob ein Zeichen in eine bestimme Kategorie, wie z.B. Ziffern oder Buchstaben, fällt.

Bei TCharacter steht:

Warnung: TCharacter ist veraltet. Bitte verwenden Sie TCharHelper.

Nur wie verwende ich nun TCharHelper? Die Hilfe ist ziemlich mau

( würde gerne das hier mit TCharhelper realisieren:

Delphi-Quellcode:
function hs_GetValidFilename(const Filename: string): String;
var
  i: Integer; s: String; ch: Char;
begin
  S := FileName;

  for i:=1 to length(s) do begin
    if s[i] in LongForbiddenChars then begin
      s[i] := '_';
    end;
  end;

  Result:= s;
end;
  Mit Zitat antworten Zitat