![]() |
ord problem
ich habe ein kleines problemchen....
und zwar: wenn ich die funktion ord so aufrufe mit ner zahl wird sie mir als bin zurückgeben aber das möchte ich garnicht ich möchte von dieser zahl den assci code haben und kann sie leider nicht in '' setzen, weil der wert den ich ord gebe ist ein char wert der zurlaufzeit betzimmt wird..... das problem liegt einfach nur bei ORD, wer kann mir helfen ???? |
Re: ord problem
der ASCII code für die ziffern 0 bis 9 ist einfach die betreffende zahl + 48
|
Re: ord problem
Delphi-Quellcode:
und wo ist da nun das problem? ich bekomme 53 raus und keine bin zahl...
procedure TForm1.Button1Click(Sender: TObject);
var c: char; begin c := '5'; showmessage(inttostr(ord(c))); end; |
Re: ord problem
ok, also:
Edit2.Text:=Edit2.Text + ascci[ Ord(Edit1.Text[i+1]) ] ; so sieht meine zeile aus.... |
Re: ord problem
ich glaube er hat/meint richtige zahlen wie 5 nicht '5', möchte aber dann den ASCII code von '5' haben. und dazu bräuchte er dann wie gesagt kein Ord(). es würde reichen die 5 zu nehmen und 48 zu addieren => voila der ascii code von '5'
|
Re: ord problem
Du musst die Zahl auch als String angeben:
Delphi-Quellcode:
ShowMessage(IntToStr(ord('5')));
|
Re: ord problem
das kann ich nicht, hier der qullcode ich hoffe dann versteht ihr was ich meine:
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var ascci:array[0..255] of char; i:Integer; begin Edit2.Text:=''; RandSeed:=StrToInt(Edit3.Text); CreateRandomValues(ascci); for i:=0 to Length(Edit1.Text) do begin if not 0..9 in Edit1.Text[i+1] then Edit2.Text:=Edit2.Text + ascci[ Ord(Edit1.Text[i+1]) ] ; end; // ArrayToFile(ascci); end; procedure TForm1.BitBtn2Click(Sender: TObject); var ascci:array[0..255] of char; i:Integer; begin Edit4.Text:=''; RandSeed:=StrToInt(Edit3.Text); CreateRandomValues(ascci); for i:=0 to Length(Edit2.Text) do begin Edit4.Text:=Edit4.Text + chr(GetArrayIndex(edit2.text[i+1],ascci)) ; end; end; |
Re: ord problem
Warum kannst du das nicht? Du kannst doch jeden Integer in einen String umwandeln. Wo ist da das Problem? Natürlich macht das nur Sinn bei den Ziffern 0 bis 9.
|
Re: ord problem
das habe ich alles versucht mit intToStr und so, er liefert mir immer nur #zahlen zurück und ich weiß einfach nicht warum...
|
Re: ord problem
#zahlen sind doch auch richtig? ich denk du wllst ascii?
Edit.. |
Re: ord problem
Geht vieleicht
Delphi-Quellcode:
Ratte
Edit2.Text:=Edit2.Text + ascci[ strtoint(Edit1.Text[i+1])+48];
|
Re: ord problem
ne, das ist nicht mein ziel mein ziel ist es das ich einfach ein zeichen angebe und er er den RICHTIGEN asccicode zurück gibt und das tut er nich bei zahlen... leider ich habe noch ein problem gemerkt, was ich auch noch nicht so recht verstehen:
ich habe items:array[0..255] of boolean; und da speicher ich jeden tasten druck danach wird eine funktion ausgelöst da habe ich z.b. drinen stehen: if items[ord'+')] then tueetwas; stehen dann wird das nicht ausgefürht grund: in der funktion onKeyDown des foums wird eine ander zahl zurück geben als in meiner TGame class warum ???? gibst vileicht noch eine andre möglichkeit an den asscicode schnell ranzukommen ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:32 Uhr. |
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-2025 by Thomas Breitkreuz