Autor Beitrag
Lazarusboy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: So 03.04.11 12:32 
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:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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:

ausblenden 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;

_________________
We are, we were and will not be.

Für diesen Beitrag haben gedankt: Lazarusboy
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 764
Erhaltene Danke: 127



BeitragVerfasst: 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:
ausblenden 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

Für diesen Beitrag haben gedankt: Lazarusboy
Lazarusboy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: So 03.04.11 13:22 
Hey, danke jetzt funktioniert es.