Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ASC umwandeln. (https://www.delphipraxis.net/79284-asc-umwandeln.html)

smart 19. Okt 2006 17:35


ASC umwandeln.
 
Hallo Alle!

Ich habe auf einer Form, 2 TEdit. In dem ersten Edit möchte ich den ASC eingeben und im zweiten soll dann das entsprechende Zeichen erscheinen.

Wieso geht dieser Code nicht?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var A: Variant;
begin
A := Edit1.Text;
Edit2.Text := Edit2.Text + Chr(A);
end;

mkinzler 19. Okt 2006 17:46

Re: ASC umwandeln.
 
Ord()

marabu 19. Okt 2006 17:49

Re: ASC umwandeln.
 
Hallo Heike,

wenn ich dich richtig verstanden habe, dann musst du nur etwas mithelfen:

Delphi-Quellcode:
var
  A: Variant;
begin
  A := Edit1.Text;
  Edit2.Text := Edit2.Text + Chr(Integer(A));
end;
Grüße vom marabu

mkinzler 19. Okt 2006 17:51

Re: ASC umwandeln.
 
Man sollte die Frage richtig Lesen! :oops:

Neutral General 19. Okt 2006 17:55

Re: ASC umwandeln.
 
Zitat:

Zitat von mkinzler
Man sollte die Frage richtig Lesen! :oops:

Naja Ord war auch gar nicht so schlecht ;)

Delphi-Quellcode:
 A := Ord(Edit1.Text); // oder ich glaube Ord(Edit1.Text[1]);
 Edit2.Text := Edit2.Text + Chr(A);
Aber wieso unbedingt en Variant ? o.O ich würd einfach nen Byte nehmen.. reicht doch auch...
Oder hab ichs jetzt falsch vestanden ? o.O

smart 19. Okt 2006 17:56

Re: ASC umwandeln.
 
Zitat:

Zitat von marabu
wenn ich dich richtig verstanden habe, dann musst du nur etwas mithelfen:

Ja, fast. So hatte ich das auch schon versucht, aber dann kann man nur bis 99 umwandeln. wenn ich dann z.B. 'A2' darstellen möchte, kommt ne fehlermeldung. Ich mache da irgendwo einen Denkfehler, nur wo? ;-)

Gruß
Heike

3_of_8 19. Okt 2006 17:57

Re: ASC umwandeln.
 
@General:

Lesen!

Delphi-Quellcode:
var int: Integer;
begin
  if TryStrToInt(edit1.text, int) then
    Edit2.Text := Edit2.Text + Chr(int)
  else
    showmessage('Bitte geben sie eine gültige Zahl ein.');
end;
So hätt ichs gemacht.

@smart: Was ist A2? Ein Hexwert? Dann könntest du statt TryStrToInt(edit1.text, int) schreiben TryStrToInt('$'+edit1.text, int).

smart 19. Okt 2006 18:03

Re: ASC umwandeln.
 
Zitat:

Zitat von 3_of_8
@smart: Was ist A2? Ein Hexwert? Dann könntest du statt TryStrToInt(edit1.text, int) schreiben TryStrToInt('$'+edit1.text, int).

Genau, so geht es. Vielen Dank, dass ist nett von Dir.

Auch die Anderen, vielen Dank!
Heike

3_of_8 19. Okt 2006 18:06

Re: ASC umwandeln.
 
Ich muss aber dazu sagen, dass das ein ganz böser und schlampiger Workaround ist. :mrgreen:

Klaus01 19. Okt 2006 18:16

Re: ASC umwandeln.
 
Warum gibst Du, wenn Du eine HexWert eingibst, diesem Wert nicht gleich ein $ Zeichen mit.
Dann weiß auch jemand der das Programm nicht kennt, daß das ein gültiger wert sein kann.

Denn wenn Du
Delphi-Quellcode:
TryStrToInt('$'+edit1.text, int)
nimmst werden auch die 99 als Hexwert
genommen und damit bist Du aus dem Bereich der gültigen Ascii Zeichen heraus.

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz