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 1 von 3  1 23      
Nils_13

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

Problem mit HexToDez

  Alt 18. Jan 2007, 15:59
Hi,

ich muss Hex nach Dez umwandeln und habe diese Funktion dafür:
Delphi-Quellcode:
function TfrmMain.HexToDez(s : String) : Integer;
var c : Integer;
    l : Integer;
begin
  Val(s, l, c);
  Result := l;
end;
Problem ist nur, dass diese Funktion $A, $B, $C, $D, $E und $F, statt A, B, C, D, E und F erwartet. Wie kann man in einem String vor die Fundstelle von allen im String vorkommenden Buchstaben ein $ setzen, ohne irgendwelche Zeiche zu löschen ? Beispiel:
9C
wird zu:
9$C

Delphi-Quellcode:
for m := 1 to Length(convert) do
begin
  if (convert[i] = 'A') or (convert[i] = 'B') or (convert[i] = 'C') or (convert[i] = 'D') or (convert[i] = 'E') or (convert[i] = 'F') then
 --> was muss hier hin ? <--
end;
Ich steh gerade total auf dem Schlauch....
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Problem mit HexToDez

  Alt 18. Jan 2007, 16:09
wir wärs damit:
Delphi-Quellcode:
function TfrmMain.HexToDez(s : String) : Integer;
var c : Integer;
    l : Integer;
begin
  Val('$'+s, l, c);
  Result := l;
end;
Edit: Ah, ich verstehe dein Problem.

Hexadezimale Zahlen werden (in Delphi) so geschrieben:
$3F = $3f = 3*16+15 = 63
$6 = 6
$A = 10
$1AF4 = 1*4096 + 10*256 + 15*16 + 4 = 6900

Da gibts nicht for jedem Buchstaben ein "$", nur eins am Anfang.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Nils_13

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

Re: Problem mit HexToDez

  Alt 18. Jan 2007, 16:12
Auf die Idee bin ich auch schon gekommen, aber wenn der String 9C wäre, würde er dann $9C umrechnen. Das geht natürlich nicht.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Problem mit HexToDez

  Alt 18. Jan 2007, 16:14
Wo ist das Problem?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Nils_13

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

Re: Problem mit HexToDez

  Alt 18. Jan 2007, 16:19
@sirius:
Dein Code müsste laut deinem Edit dann doch funktionieren. Er liefert bei 9C aber 0 zurück.

Fehler lag auf meiner Seite, sry.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Problem mit HexToDez

  Alt 18. Jan 2007, 16:22
Zitat von Nils_13:
@sirius:
Dein Code müsste laut deinem Edit dann doch funktionieren. Er liefert bei 9C aber 0 zurück.
funktioniert bei mir einwandfrei:

Delphi-Quellcode:
function hextodez(s:string):integer;
var l,c:integer;
begin
  val('$'+s,l,c);
  result:=l;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  memo1.lines.add(inttostr(hextodez('9C')));
end;
-->156
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Nils_13

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

Re: Problem mit HexToDez

  Alt 18. Jan 2007, 16:23
Sry, hatte da irgendwo einen Fehler drinnen, behoben. Thx.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

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

Re: Problem mit HexToDez

  Alt 18. Jan 2007, 18:10
Moin Nils,

warum nimmst Du nicht

StrToInt
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
 
#9

Re: Problem mit HexToDez

  Alt 18. Jan 2007, 18:25
Das kann es auch, ich weiß.... Ich will aber irgendwie eine Übersicht in meinem großen Projekt und sofort sehen, was was ist. StrToInt macht für mich gedanklich die 1:1-Umstezung von Str zu Int und nicht Hex, deshalb.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

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

Re: Problem mit HexToDez

  Alt 18. Jan 2007, 19:01
Moin Nils,

ja und?
Dann ruf es doch in Deiner Funktion HexToDez auf
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
Antwort Antwort
Seite 1 von 3  1 23      


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 02:15 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