Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Alter Assembler Code

  Alt 17. Feb 2025, 07:52
Das assembler-Schlüsselwort ist zwar seit Jahrzehnten nicht mehr nötig, aber egal,
und sonst funktioniert dieser Code eigentlich immernoch (Delphi 12).

Du weißt, dass man Fehlermeldungen auch kopieren kann,
wenn man selbst nicht in der Lage ist den Fehler zu benennen?
Strg+C

Was heißt fehlt?
Die Funktion selbst ist weg, also im Turbopower, nicht im Delphi, oder wie?

Du hast sie ja noch, also warum nicht einfach kopieren und in eigene Unit?

Seit vielen Jahren gibt es die Unit AnsiStrings, bzw. inzwischen System.AnsiStrings, in welcher sich seit 2009 die ANSI-Versionen vieler Funktionen aus z.B. SysUtils verstecken.


Durch die Variable wird der Code etwas aufgebläht, aber Hauptsache es geht.
Delphi-Quellcode:
// würde auch mit Win64 funktionieren
function LoCase(C: AnsiChar): AnsiChar;
var
  P: array[0..1] of AnsiChar;
begin
  P[0] := C; // PWideChar(@P)^ := WideChar(C {and #$00FF});
  P[1] := #0;
  Result := CharLowerA(@P)[0]; // Result := Winapi.Windows.CharLowerA(@P)[0];
end;
oder
Delphi-Quellcode:
function LoCase(C: AnsiChar): AnsiChar;
begin
  Result := System.AnsiStrings.LowerCase(C)[1];
end;
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (17. Feb 2025 um 08:00 Uhr)
  Mit Zitat antworten Zitat