Nachdem ich mich ein wenig im Vorstellungsthread vorgestellt habe, hier meine Frage.
Ich habe folgendes Konstrukt, welches einem Delphi Projekt entstammt, und nun unter Lazarus laufen soll:
Code: Alles auswählen
function bestcharset(s: string): string;
const
valid = [#32..#127, 'Ä', 'Ü', 'Ö', 'ß', 'ä', 'ü', 'ö', #10, #13];
var
i, j,
invalid: integer;
temp: string;
begin
invalid := 0;
for i := 1 to Length(s) do
if not (s[i] in valid) then Inc(invalid);
for i := 1 to Length(temp) do
if not (temp[i] in valid) then dec(invalid);
if invalid > 0 then { OemToAnsiStr war erfolgreich ... }
else temp := s;
j := 0;
SetLength(Result, Length(temp));
for i := 1 to Length(temp) do
if s[i] in valid then
begin
Inc(j);
Result[j] := s[i];
end;
SetLength(Result, j);
end;
ReadDiskUnit.pas(846,23) Error: Ordinal expression expected
Ich bin trotz der umfangreichen Dokumentation von FP/Lazarus nicht weiter gekommen. Ich habe diverse Konstrukte ausprobiert.
Wie sollte die Aufzählung deklariert werden, damit sie kompiliert?
Wahrscheinlich wird die o.g. Funktion im Zuge der UTF8 Umstellung hinfällig, aber erstmal will ich das ganze Projekt erstmal zum kompilieren bekommen...und mich ärgert es, an solchen Kleinigkeiten zu scheitern.
Danke im Voraus!