Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Hex Wert aus Editfeld an eine integer Variable übergeben (https://www.delphipraxis.net/65248-hex-wert-aus-editfeld-eine-integer-variable-uebergeben.html)

mmfembr 14. Mär 2006 09:59


Hex Wert aus Editfeld an eine integer Variable übergeben
 
Hallo zusammen

Hab folgendes Problem :coder2: : Ich möchte gerne einen vierstelligen Hexwert, welcher der User über ein Editfeld eingibt, in eine Integer Variable schreiben damit ich mit dem Wert Rechnen kann. Hierzu kann ich noch ein wenig Quellcode zur Verfügung stellen. Hab's zuerst mit "Val(...)" versucht.

Delphi-Quellcode:
procedure THauptformular.sbtnKonvertierenClick(Sender: TObject);
var
  hexarray           : array[0..7] of String;
  ihexzaehler, code  : integer;

begin
//Schreiben der Arraydaten in ein Textfile
  Assignfile(Tfile,'C:\Dokumente und Einstellungen\mmfembr\Desktop\test.txt');
  Rewrite(Tfile);
  Val(edit1.Text,ihexzaehler,code);
  For y := 0 to 7 do
    begin
      ihexzaehler := ihexzaehler + $1;
      Writeln(Tfile, inttohex(ihexzaehler,4) + ':' + hexarray[y]);
    end;
  CloseFile(Tfile);
end;
end.
Wäre froh wenn ihr mir da vielleicht helfen könnt! :roll:

Bernhard Geyer 14. Mär 2006 10:02

Re: Hex Wert aus Editfeld an eine integer Variable übergeben
 
Gug mal in dieser Diskussion.
StrToInt kann nämlich auch mit Hex-Codierten Zahlen umgehen.

Angel4585 14. Mär 2006 10:02

Re: Hex Wert aus Editfeld an eine integer Variable übergeben
 
ein paar Themen vor dir: Deine Lösung

lies mal komplett durch

mmfembr 14. Mär 2006 10:37

Re: Hex Wert aus Editfeld an eine integer Variable übergeben
 
hallo zusammen leider hat auch dies nicht funktioniert, es entsteht immer eine fehlermeldung beim durchlaufen des punktes. die software bricht ab!

Bernhard Geyer 14. Mär 2006 10:47

Re: Hex Wert aus Editfeld an eine integer Variable übergeben
 
Zitat:

Zitat von mmfembr
hallo zusammen leider hat auch dies nicht funktioniert, es entsteht immer eine fehlermeldung beim durchlaufen des punktes. die software bricht ab!

Welches Punktes? Welche Fehlermeldung kommt genau?

mmfembr 14. Mär 2006 10:51

Re: Hex Wert aus Editfeld an eine integer Variable übergeben
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn ich nun den "Val(edit1.Text,ihexzaehler,code)" durch "ihexzaehler := StrtoInt(edit1.Text);" ersetze erscheint eine exception. (Im Anhang als *.doc)

Delphi-Quellcode:
procedure THauptformular.sbtnKonvertierenClick(Sender: TObject);
var
  hexarray           : array[0..7] of String;
  ihexzaehler, code  : integer;

begin
//Schreiben der Arraydaten in ein Textfile
  Assignfile(Tfile,'C:\Dokumente und Einstellungen\mmfembr\Desktop\test.txt');
  Rewrite(Tfile);
  Val(edit1.Text,ihexzaehler,code);
  For y := 0 to 7 do
    begin
      ihexzaehler := ihexzaehler + $1;
      Writeln(Tfile, inttohex(ihexzaehler,4) + ':' + hexarray[y]);
    end;
  CloseFile(Tfile);
end;
end.

Klaus01 14. Mär 2006 11:00

Re: Hex Wert aus Editfeld an eine integer Variable übergeben
 
bin mir jetzt nicht sicher ob der
Prefix x nun eine Hex oder Oktalzahl definiert

Wenn hex kannst Du es ja mal so versuchen
und in Dein Editfeld diese Zeichenfolge eingibst: xe00

Um es ein wenig überischtlicher zu machen, solltest
Du dem HexString aber ein $ voranstellen, dann erkennt
man eher das es ein HexWert ist.

Delphi-Quellcode:
   i:=StrToInt('$e00');
Grüße
Klaus

Bernhard Geyer 14. Mär 2006 11:01

Re: Hex Wert aus Editfeld an eine integer Variable übergeben
 
1, Ich denke Doc ist als Anhang unpassend. Nich jeder hat ein passendes Word/WordViewer. PNG/JPEG ist hier viel besser.

2, Willst Du Hex-Codierte Strings umwandlen mußt Du (wie auch in der Diskussion auf die ich verwiesen habe) diese um ein x ergänzen

Delphi-Quellcode:
StrToInt('x12bf');

mmfembr 14. Mär 2006 11:07

Re: Hex Wert aus Editfeld an eine integer Variable übergeben
 
Besten Dank es hat funktioniert!

Gruss mmfembr :dance:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:45 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