Autor Beitrag
CindyN
Hält's aus hier
Beiträge: 9

WinXP
Delphi5
BeitragVerfasst: Mi 08.03.06 21:23 
HalliHallo,

ich hab folgendes Programm mit dem man Dualzahlen in Dezimalzahlen umwandeln kann, soweit so gut, funktioniert auch. Aber wie kann ich den User darauf hinweisen (viell. mittels showMessage) das er eine "falsche" Eingabe getätigt hat wenn er Ziffern wie 5,2,7 etc. benutzt?

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:
procedure TForm1.Abbruch_buttonClick(Sender: TObject);
begin
  close;
end;

procedure TForm1.action_buttonClick(Sender: TObject);
  var dualz : string;
      stellenwert, zahl, position, laenge, ziffernwert : Integer;
      zeichen : char;
begin
  dualz := Ed_Dualz.text;
  stellenwert := 1;
  zahl := 0;
  laenge := length(dualz);
  position := laenge;

     while position > 0
         do begin
            zeichen := Dualz[position];
            position := position-1;
            ziffernwert := StrToInt(zeichen);
            zahl := zahl+ziffernwert*stellenwert;
            stellenwert := stellenwert*2;
         end;
     Ausgabe_Label.caption := IntToStr(zahl);
end;

end.


lg

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
Kroni
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 720

Win 98, Win ME, Win2k, Win XP
D3 Pro
BeitragVerfasst: Mi 08.03.06 21:40 
Indem du den String nach alles anderen außer 0 und 1 durchsuchst und die dann entweder rausschmeißt und dabei ne MEldung ausgibts, wie : NUr 1 und 0 erlaubt oder wie auch immer;)
CindyN Threadstarter
Hält's aus hier
Beiträge: 9

WinXP
Delphi5
BeitragVerfasst: Mi 08.03.06 21:48 
ich wollte mittels if > 1 alles andere ausschliessen, nur bekomm ich da ne fehlermeldung... was für ein befehl nehm ich dann?
Kroni
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 720

Win 98, Win ME, Win2k, Win XP
D3 Pro
BeitragVerfasst: Mi 08.03.06 21:53 
Du wirst wohl eine Fehlermeldung bekommen, weil 1 eine Zahl ist, und du hast dort doch einen String vorliegen oder?
D.h. du müsstest evtl. jeden einzelnen Buchstaben checken, in eine Zahl umforem und dann gucken, ob das größer als eins ist und dann rauswerfen.
Oder du machst eine Menge aus Strings, in der nur die 0 und 1 enthalten ist....also als ZEICHEN, nicht als Zahl, deshalb in Anführungszeichen => ' <= diese musste du dafür benutzen
Und dann kannste Fragen: if zeichen not in menge then rauswerfen;