ich hab mich für die idee mit dem exception handling entschieden.
Hier ist mein Quelltext:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure Tfrmclient.btnaddClick(Sender: TObject); var ipok:boolean; begin try strtoint(edtst1.text) except on EConvertError do ipok:=false; end; |
ich hab das ganze gebraucht um meine Abfrage für die Eingabe der IP-Adresse zu kompletieren.
Die IP-Adressen Eingabekontrolle geht so:
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: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50:
| procedure Tfrmclient.btnaddClick(Sender: TObject); var st1,st2,st3,st4:integer; ipok:boolean; begin try strtoint(edtst1.text) except on EConvertError do ipok:=false; end; try strtoint(edtst2.text) except on EConvertError do ipok:=false; end; try strtoint(edtst3.text) except on EConvertError do ipok:=false; end; try strtoint(edtst4.text) except on EConvertError do ipok:=false; end; if ipok=false then memchat.Lines.add('Please Enter IP in correct format') else begin if (edtst1.text='') or (edtst2.text='') or (edtst3.text='') or (edtst4.text='') then memchat.Lines.add('Please Enter IP in correct format') else begin st1:=Strtoint(edtst1.text); st2:=Strtoint(edtst2.text); st3:=Strtoint(edtst3.text); st4:=Strtoint(edtst4.text); if (st1>255) or (st2>255) or (st3>255) or (st4>255) or (st1=0) then memchat.Lines.add('Please Enter IP in correct format') else begin if lbip.Items.count>=5 then memchat.Lines.Add('You cannot add more than 4 IPs') else lbip.Items.Add(Inttostr(st1)+'.'+Inttostr(st2)+'.'+Inttostr(st3)+'.'+Inttostr(st4)); end; end; end; end; |
st1-st4 sind die stellen vor bzw. hinter den Punkten in der IP-Adresse
edtst1-edtst4 sind die Editfelder in die die IP eingetragen wird
memchat ist ein memo auf dem hinweise zu den aktionen ausgegeben werden
lbip ist eine listbox in der IP-Adressen hinzugefügt und entfernt werden können
Das ganze ist Teil eines Chat-Programms.[/quote]