Einzelnen Beitrag anzeigen

akira1983

Registriert seit: 18. Sep 2003
Ort: http://arbeitsrechner.terra.local
19 Beiträge
 
Delphi 7 Personal
 
#1

Hilfe! Fehler wo eigentlich keiner sein sollte!

  Alt 30. Sep 2003, 09:09
Ich habe folgendes Code in meiner Komponente, die eine IP auf Gültigkeit überprüft:

Delphi-Quellcode:
procedure TIPCheck.PruefeIP(Sender:TObject);
var
  temp1:integer; temp2:integer; // Variablendefinition
  temp3:integer; temp4:integer; // Variablendefinition
  byte1s:string; byte2s:string; // Variablendefinition
  byte3s:string; byte4s:string; // Variablendefinition
  byte1i:integer; byte2i:integer; // Variablendefinition
  byte3i:integer; byte4i:integer; // Variablendefinition
  ok:boolean; // Variablendefinition
begin
  ok:=false; // Initialisierung der Variable
  temp1:=-1; // Initialisierung der Variable
  temp2:=-1; // Initialisierung der Variable
  temp3:=-1; // Initialisierung der Variable
  temp4:=-1; // Initialisierung der Variable
  if copy(text,1,1)='.then temp1:=1; // Feststellung wo Byte endet
  if copy(text,2,1)='.then temp1:=2; // Feststellung wo Byte endet
  if copy(text,3,1)='.then temp1:=3; // Feststellung wo Byte endet
  if copy(text,temp1+3,1)='.then temp2:=1; // Feststellung wo Byte endet
  if copy(text,temp1+4,1)='.then temp2:=2; // Feststellung wo Byte endet
  if copy(text,temp1+5,1)='.then temp2:=3; // Feststellung wo Byte endet
  if copy(text,temp1+temp2+3,1)='.then temp3:=1; // Feststellung wo Byte endet
  if copy(text,temp1+temp2+4,1)='.then temp3:=2; // Feststellung wo Byte endet
  if copy(text,temp1+temp2+5,1)='.then temp3:=3; // Feststellung wo Byte endet
  if copy(text,temp1+temp2+temp3+3,1)='.then temp4:=1; // Feststellung wo Byte endet
  if copy(text,temp1+temp2+temp3+4,1)='.then temp4:=2; // Feststellung wo Byte endet
  if copy(text,temp1+temp2+temp3+5,1)='.then temp4:=3; // Feststellung wo Byte endet
  byte1s:=copy(text,0,temp1); // Umwandlung der gesamten IP-Adresse in Byte
                                          // Speicherung als String
  byte2s:=copy(text,temp1+1,temp2); // Umwandlung der gesamten IP-Adresse in Byte
                                          // Speicherung als String
  byte3s:=copy(text,temp2+1,temp3); // Umwandlung der gesamten IP-Adresse in Byte
                                          // Speicherung als String
  byte4s:=copy(text,temp3+1,temp4); // Umwandlung der gesamten IP-Adresse in Byte
                                          // Speicherung als String
  byte1i:=strtoint(byte1s); // Umwandlung des String in Integer
  byte2i:=strtoint(byte2s); // Umwandlung des String in Integer
  byte3i:=strtoint(byte3s); // Umwandlung des String in Integer
  byte4i:=strtoint(byte4s); // Umwandlung des String in Integer
  if (byte1i<256) then ok:=true; // Prüfung, ob Byte gültig ist (Zahl kleiner als 256)
  if (byte2i<256) then ok:=true; // Prüfung, ob Byte gültig ist (Zahl kleiner als 256)
  if (byte3i<256) then ok:=true; // Prüfung, ob Byte gültig ist (Zahl kleiner als 256)
  if (byte4i<256) then ok:=true; // Prüfung, ob Byte gültig ist (Zahl kleiner als 256)
  if not ok then // Wenn Prüfungen nicht bestanden
    raise TUngueltigeAdresse.Create('IP-Adresse nicht korrekt!'); // Fehlermeldung
end;
wenn ich das ding dann nun in einer testapp teste und nur eine einzige zahl eingebe, meldet mir delphi


Code:
"" ist kein gültiger Integerwert
weiss irgendjemand weiter?

ich habe das komponentenverzeichnis als .zip angehangen

[edit=sakura]BBCode zulassen. Mfg, sakura[/edit]
Angehängte Dateien
Dateityp: zip tools.zip (7,2 KB, 3x aufgerufen)
Gruß aus Krefeld

akira1983
  Mit Zitat antworten Zitat