Entwickler-Ecke

Sonstiges (Delphi) - ASCII Code


Lazarusboy - So 03.04.11 12:32
Titel: ASCII Code
Hallo Leute, ich möchte gerne , dass der Benutzer eine Startzahl und Endezahl angibt, und dann werden alle Zhalen in den ASCII Code umgewandelt, nur leider gibt mmir das Programm nur die Zeichen von 1-9 aus, egal ob ich 1001 schreibe , es kommen trotzdem nicht mehr Zeichen:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.BStartClick(Sender: TObject);
var A,E:char;
x:char;

Ausgabe:string;
begin
Mausgabe.Lines.Clear;
A:=EA.Text[1];
E:=EE.text[1];
for x:= A to E do
begin
Ausgabe:=  X + '  ->  ' + chr(STRToInt(X));
Mausgabe.Lines.Add(Ausgabe);
end

end;


Gausi - So 03.04.11 12:39

Du benutzt in der for-Schleife den Typ char als Laufvariable. Gib z.B. mal in die Edits 'a' und 'z' ein - dann werden alle Zeichen von a bis z ausgegeben. ;-)

Was du wohl willst, ist die Eingabe als Zahl zu interpretieren. Also so:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.BStartClick(Sender: TObject);
var A,E,x:integer;
    Ausgabe:string;
begin
   A:=StrToInt(EA.Text);
   E:=StrToInt(EE.text);
   for x:= A to E do 
   begin
     Ausgabe :=  IntToStr(X) + '  ->  ' + chr(X);
     Mausgabe.Lines.Add(Ausgabe);
   end
end;


ub60 - So 03.04.11 13:04

user profile iconGausi hat folgendes geschrieben Zum zitierten Posting springen:
Du benutzt in der for-Schleife den Typ char als Laufvariable. Gib z.B. mal in die Edits 'a' und 'z' ein - dann werden alle Zeichen von a bis z ausgegeben. ;-)

Nein, dann erfolgt eine Fehlermeldung, da er ja mit StrToInt die Buchstaben in Werte umwandelt.
Die 'A' bis 'z'-Variante wäre so:

Delphi-Quelltext
1:
2:
3:
4:
5:
  for x:= A to E do
    begin
      Ausgabe:=  IntToStr(ORD(X)) + '  ->  ' + chr(ORD(X));
      Mausgabe.Lines.Add(Ausgabe);
    end

ub60


Lazarusboy - So 03.04.11 13:22

Hey, danke jetzt funktioniert es.