Autor Beitrag
xxCr4sh3dxx
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Sa 08.07.17 19:50 
Hallo liebe Community, ich habe folgendes Problem:

Habe heute in C++ ein Programm geschrieben welches einen String vom Benutzer abfragt, diesen dann darauf überprüft ob er nur aus Ziffern und Buchstaben besteht und mir dann ggf. einen Text ausgibt ob der String nur aus Ziffern und Buchstaben besteht oder eben nicht. Dieses Programm wollte ich dann auch in Lazarus nachschreiben, bekomme es aber einfach nicht hin.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
uses
SysUtils;

function isAlpha(AString: String): Boolean;
Var
  c : Char;
begin
  if not (c in ['A'..'Z''0'..'9']) then
     begin
       writeln('Die Zeichenkette enthaelt nur Ziffern und Buchstaben!');
     end
  else
      begin
        writeln('Die Zeichenkette enthaelt NICHT nur Ziffern und Buchstaben!');
      end;
  Result := True;
end;
Var
  AString : String;
  AString2 : Boolean;
begin
  writeln('Funktion Zeichenkette');
  writeln('----------------------');
  writeln;
  write('Zeichenkette eingeben: '); readln(AString);
  AString2 := isAlpha(AString);
  writeln(AString2);
  readln;
end.

Aber irgendwie gibt er mir immer nur aus, dass der String nur aus Ziffern und Buchstaben besteht, egal was ich eingebe.

Moderiert von user profile iconNarses: Code- durch Delphi-Tags ersetzt
Gammatester
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 328
Erhaltene Danke: 101



BeitragVerfasst: Sa 08.07.17 20:03 
Du testet nur ein Zeichen (das noch nicht einmal belegt ist). Teste in einer Schleife alle Zeichen, und beende die Funktion mit false, wenn ein nicht Buchstabe/Zahl vorliegt.

Für diesen Beitrag haben gedankt: xxCr4sh3dxx