AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit HexToDez

Ein Thema von Nils_13 · begonnen am 18. Jan 2007 · letzter Beitrag vom 20. Jan 2007
Antwort Antwort
Seite 2 von 3     12 3      
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#11

Re: Problem mit HexToDez

  Alt 19. Jan 2007, 20:27
Ich habe ein riesen Problem:
4C --> 76 korrekt
21 --> 0 falsch
0C --> 0 falsch

Der Code hat sich nicht geändert:
Delphi-Quellcode:
function TfrmMain.HexToDez(s : String) : Integer;
var c : Integer;
    l : Integer;
begin
  Val('$'+s, l, c);
  Result := l;
end;
Der Aufruf von HexToDez sieht so aus:
Delphi-Quellcode:
if Copy(line, j, 4) = 'int then
begin
  tmp := Trim(Copy(line, j+4, MaxInt)) + ' ';
  k := 1;
  while tmp[k] in ['0'..'9', 'A'..'F', 'a'..'f'] do
    inc(k);
  line := Copy(line, 1, j+3) + Copy(Tmp, 1, k-1);
  asd := HexToDez(line);
  A.Lines[i] := IntToStr(asd);
end;
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#12

Re: Problem mit HexToDez

  Alt 19. Jan 2007, 21:08
Hi,

schon mal ausgegeben, was reingeht nach hextodex ?

Diese "line" sieht mir etwas komisch in der Zusammenstellung aus.
Aus diesem Code-Fragment ist nicht vollständig zu entnehmen, was du da zusammenkopierst, insbesondere der erste Teil.

Gruss
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#13

Re: Problem mit HexToDez

  Alt 19. Jan 2007, 21:18
In line steht (kA warum) int 21. Vlt. liegt es daran, aber ich weiß nicht, warum die Konvertierung trotzdem schiefläuft, denn i, n und t gibt es in Hex nicht.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#14

Re: Problem mit HexToDez

  Alt 19. Jan 2007, 21:29
Hallo Nils,

die Funktion HexToDez ist fehlertoleranter als du denkst. Versuche es mal mit diesem Aufruf:

Delphi-Quellcode:
if (Copy(line, j, 4) = 'int ') then
  begin
    asd := HexToDez(Copy(line, 5, MaxInt));
    A.Lines[i] := IntToStr(asd);
  end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#15

Re: Problem mit HexToDez

  Alt 19. Jan 2007, 21:33
Danke, es funktioniert endlich
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#16

Re: Problem mit HexToDez

  Alt 20. Jan 2007, 17:02
Hi,

da es immer noch um die selbe Funktion geht, poste ich einfach wieder hier ein (leider ).
Ich habe jetzt das Problem, dass mir die obengenannte Funktion 09 (Hex) in 9 (Dez) verwandelt. Wie kann man das verhinden ? Ich habe bisher versucht, einfach alle Nullen durch irgendein Zeichen, außer A-F oder 0-9 zu ersetzen und diese verwandelte Nullen am Ende wieder zu Nullen zu machen, hat nicht funktioniert, da l leider Integer sein muss und die Zurückwandlung nicht funktionieren kann (auch mit IntToStr oder StrToInt nicht). Wer sie nochmal sehen will:
Delphi-Quellcode:
 
function TfrmMain.HexToDez(s : String) : Integer;
var c : Integer;
    l : Integer;
begin
  Val('$'+s, l, c);
  Result := l;
end;
Das sollte dann endlich mein letztes Problem mit dieser Funktion gewesen sein .
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Problem mit HexToDez

  Alt 20. Jan 2007, 17:06
Moin Nils,

Zitat:
Ich habe jetzt das Problem, dass mir die obengenannte Funktion 09 (Hex) in 9 (Dez) verwandelt. Wie kann man das verhinden ?
Wozu, ist doch korrekt...
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#18

Re: Problem mit HexToDez

  Alt 20. Jan 2007, 17:08
Natürlich ist das korrekt, aber wenn ich das weiter nach Binär konvertieren würde, würde dann die 0 schwer ins Gewicht fallen, weil diese dann dort einfach fehlt. Mag heißen:
9 = 1001
09 = 00001001
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#19

Re: Problem mit HexToDez

  Alt 20. Jan 2007, 17:21
Zitat von Nils_13:
Natürlich ist das korrekt, aber wenn ich das weiter nach Binär konvertieren würde, würde dann die 0 schwer ins Gewicht fallen, weil diese dann dort einfach fehlt. Mag heißen:
9 = 1001
09 = 00001001
Schreibst du die 1 auch als 000001?? Links stehende Nullen werden normalerweise weggelassen...
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#20

Re: Problem mit HexToDez

  Alt 20. Jan 2007, 17:32
Du hast es nicht verstanden: das ist 8-bit, nicht 4-Bit.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 04:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz