Autor Beitrag
waldmeister
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 136

Win XP
D7 Enterp
BeitragVerfasst: So 29.09.02 19:27 
Wie kann ich heraus finden ob ein einzelner string en char oder en integer is, also wenn mein string:='1' is, wie frag ich dann ab ob das en Integer is oder wenn mein string:'a' is, wie frag ich dann ab, ob das en Char is??
Das wäre wirklich gut wenn man mir das sagen könnte!!
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 29.09.02 19:37 
Delphi-Hilfe -> Val -> dritten Parameter beachten!
DieHardMan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: So 29.09.02 19:44 
man kann auch das exception handling dazu missbrauchen

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.Button1Click(Sender: TObject);
var
  test: String;
begin
  test := 'a';
  try
    StrToInt(test);
  except
    ShowMessage('Nix Integer');
  end;
end;

_________________
Mahlzeit
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: So 29.09.02 21:00 
Hallo,

oder einfach so:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
function IsZiffer(aLetter : Char) : Boolean;
begin 
  IF (aLetter IN ['0'..'9'] THEN
    Result := TRUE 
  ELSE 
    Result := FALSE;
end;


Gruß
Klabautermann
waldmeister Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 136

Win XP
D7 Enterp
BeitragVerfasst: So 29.09.02 23:07 
ich hab mich für die idee mit dem exception handling entschieden.
Hier ist mein Quelltext:

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

ausblenden volle Höhe 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:
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]