AGB  ·  Datenschutz  ·  Impressum  







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

Alter Assembler Code

Ein Thema von freimatz · begonnen am 17. Feb 2025 · letzter Beitrag vom 18. Feb 2025
 
freimatz

Registriert seit: 20. Mai 2010
1.490 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Alter Assembler Code

  Alt 17. Feb 2025, 07:46
Das assembler-Schlüsselwort ist zwar seit Jahrzehnten nicht mehr nötig, aber egal,
und sonst funktioniert dieser Code eigentlich immernoch (Delphi 12).
Ja, aber nicht mit Win64
Was heißt fehlt?
Die Funktion selbst ist weg, also im Turbopower, nicht im Delphi, oder wie?
Ja genau. Die ist einfach nicht mehr drin.

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

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.
Ja, verwende ich auch häufig.

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;
Danke. Das hilft.
Geschwindigkeit ist hier sicher kein Problem. Es muss nicht mehr mit 4.77Mhz laufen wie damals.

oder
Delphi-Quellcode:
function LoCase(C: AnsiChar): AnsiChar;
begin
  Result := System.AnsiStrings.LowerCase(C)[1];
end;
Du meinst das ist identisch? Verwendet die auch CharLowerA? Wenn ich es richtig lese konvertiert System.AnsiStrings.LowerCase nur ASCII

Geändert von freimatz (17. Feb 2025 um 07:49 Uhr)
  Mit Zitat antworten Zitat
 


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 00:34 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-2025 by Thomas Breitkreuz