Announcement

Collapse
No announcement yet.

Zwei edit compos mit ip´s vergleichen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zwei edit compos mit ip´s vergleichen

    Moin!
    Ich hoffe ihr könnt mir helfen.

    Also: ich benutze 2 edit compos, in der ersten steht eine ip range z.b. 173.55.0.20
    In der zweiten wird alle 30sekunden eine neue ip angezeigt.

    Nun mächte ich, das per timer die beiden IP adressen verglichen
    werden ob in beiden Edit die gleichen ips vorhanden sind.
    so weit habe ich es schon aber...

    Nun möchte ich:
    Das z.b. nur 173.55.0.x identisch sein muß (die ersten 3 bereiche)
    und die letzte nummer der ip irgendeinen wert zwischen 0-255 enthalten
    darf. als bestätigung soll die form-caption nur den text "gültige ip"
    anzeigen. bei einem wert von z.b. 173.15.0.14 "ungültige ip".

    so ich hoffe ihr habt verstanden was mein problem ist und könnt mir dabei helfen =)

    bye

  • #2
    Moin octron,<br>versuchs mal so<pre>
    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls;

    type
    TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
    private
    { Private-Deklarationen }
    function ReverseString(const Value: String): String;
    public
    { Public-Deklarationen }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.DFM}

    function TForm1.ReverseString(const Value: String): String;
    {Quelle : Hagen Reddmann}
    var I: Integer;
    P: PChar;
    begin
    SetLength(Result, Length(Value));
    P := PChar(Result);
    for I := Length(value) Downto 1 do
    begin
    P^ := Value[I];
    Inc(P);
    end;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    {
    Kopiere aus den String den Anteil bis zum dritten Punkt.
    Wenn beide Strigs gleich, dann ist IP gültig.
    Problem : Pos liefert die Position, an der der SubString das erstemal vorkommt
    Lösung drehe den String um und kopiere dann ab dem ersten Punkt den Rest.
    Wenn das gleich ist, dann ist die IP gültig
    }
    var
    IP1 : String;
    IP2 : String;
    begin
    IP1:=ReverseString(Edit1.TExt);
    IP1:=Copy(IP1,Pos('.',IP1)+1,Length(IP1));
    Label1.Caption:=IP1;
    IP2:=ReverseString(Edit2.TExt);
    IP2:=Copy(IP2,Pos('.',IP2)+1,Length(IP2));
    Label2.Caption:=IP2;
    If IP1=IP2 then
    ShowMessage('Gültig')
    else
    ShowMessage('Ungültig');
    end;

    end.</pre>Jens Schuman

    Comment


    • #3
      Hallo,<BR>
      Es gibt die function StrLIComp(str1,str2:PCHAR;MaxLen:Cardinal):Integer ; <BR>
      <BR>
      In der Delphi Hilfe ist ein Beispiel.<BR>
      Gruß<BR>
      Matthia

      Comment

      Working...
      X