Autor Beitrag
Bomania
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 139

Win XP

BeitragVerfasst: Sa 15.02.03 22:02 
ausblenden Quelltext
1:
IntToHex(strAkt,2)					


Fehlermeldung: "Es gibt keine überladene Version von 'IntToHex', die man mit diesen Argumenten aufrufen kann"

Was hab ich da falsch gemacht? Die Hilfe hilft mir nicht...

Edit: Bei der Variablen handelt es sich um ein String mit einer Länge von einem Zeichen.
Bomania Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 139

Win XP

BeitragVerfasst: Sa 15.02.03 22:08 
Ah, diesmal habe ich zu schnell aufgegeben...habe den Fehler gefunden...
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 15.02.03 22:08 
Ist die gleiche Fehlermeldung wie bei dem Beispiel zu IntToHex, welches sich in meiner Delpi-Hilfe befindet: da ist der erste Parameter ein String, was aber nicht sein darf. Ich nehme an, das ist auch Dein Fehler, oder?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Bomania Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 139

Win XP

BeitragVerfasst: Sa 15.02.03 22:18 
Genau dieses :idea:
Bomania Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 139

Win XP

BeitragVerfasst: So 16.02.03 11:26 
Wie aber konvertiert man Hex zu Int?
BungeeBug
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 901



BeitragVerfasst: So 16.02.03 12:00 
Also eine Möglichkeit die mir Google offengelegt hat ist
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
Einen Hex-String in Integer umwandeln

function HexStrToInt(HexStr: String): LongInt; // Hexadezimale Strings werden in Integer verwandelt
var x : Byte; // FOR-Schleife
y : Byte; // Exponenten-Zähler (da letzte Ziffer = 16^0, davor 16^1 ..)
begin
Result := 0;
y := 0;
for x := Length(HexStr) downto 1 do
begin
case StrToIntDef(HexStr[x], 99) of
0..9: Result := Result + Trunc(SqrX(16, y)) * StrToInt(HexStr[x]);
end;
case HexStr[x] of
'A', 'a' : Result := Result + Trunc(SqrX(16, y)) * 10;
'B', 'b' : Result := Result + Trunc(SqrX(16, y)) * 11;
'C', 'c' : Result := Result + Trunc(SqrX(16, y)) * 12;
'D', 'd' : Result := Result + Trunc(SqrX(16, y)) * 13;
'E', 'e' : Result := Result + Trunc(SqrX(16, y)) * 14;
'F', 'f' : Result := Result + Trunc(SqrX(16, y)) * 15;
'0'..'9' : // Dummy-Anweisung, damit 0..9 nicht als unzulässige Zeichen zählen
else
begin // HexStr enthält unzulässiges Zeichen (A..F, 0..9)
Result := -1;
exit;
end; // else
end; // case
Inc(y);
end; // for
end; // Prozedur

der Code ist NICHT getestet!

MfG BungeeBug
Brueggendiek
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 304

Win 98, Win98SE, Win XP Home
D5 Std
BeitragVerfasst: Mo 17.02.03 04:09 
Hallo!

Um einen Hex-String in einen Interger umzuwandeln, kann man ganz einfach StrToInt benutzten. Allerdings darf man nicht vergessen, der Funktion mitzuteilen, dass es sich um einen Hex-String handelt. Dazu wird einfach ein '$' vor den String gesetzt - genauso wie man auch Hex-Zahlen im Source angeben kann!
ausblenden Quelltext
1:
zahl:=StrToInt('$'+satz);					

Mit TRY_EXCEPT kann man auch noch ungültige Eingaben abfangen bzw. mit StrToIntDef einen Ersatzwert festlegen.
Alternative: Mit Val arbeiten, da erhält man sogar die Position des ungültigen Zeichens im String!

Gruß

Dietmar Brüggendiek