Phần mềm tìm kiếm IP đang hoạt động trong Mạng LAN

Liên hệ QC

Kiều Mạnh

I don't program, I beat code into submission!!!
Tham gia
9/6/12
Bài viết
5,421
Được thích
4,033
Giới tính
Nam
Tôi đang phát triển thêm các hàm bổ sung cho Web Server để tự động hoá và hổ trợ tốt hơn

trong đó có tìm kiếm IP đang hoạt động trong Mạng LAN ...

lang thang thấy mã sau khá hay ... chạy đa luồng trong tìm kiến và tuỳ chỉnh tham số luồng khi truyền vào hàm ...


1/ nguồn viết trên Delphi 7 nhưng vẫn sử dụng tốt trên Delphi 11

2/ khi tải về sử dụng trên Delphi 11 sẻ lỗi vặt khai báo biến ... thong thả dò đi là ra

3/ phương thức và cách viết đa luồng rất hay với tôi ... còn ai đó chưa biết ?!

4/ Từ Exe đó ta có thể xem và viết lại chút là có 1 hàm cho DLL

....
Úp đó cho ai thích Delphi dò xem khả năng tuỳ chỉnh của chính Mình tới đâu ????????!!!!!!!!!!!!!
 
Nếu có khả năng thì loại bỏ các hàm dài dòng đó đi viết lại chút ngắn gọn hơn và hiệu quả hơn như

Hàm Gốc
Mã:
{Checks Whether Ip Address for each byte
is in range of 0-255 and misplace of '.' character}
Function TForm1.IpAddrValidation(Ip : String):Boolean;
Var
  str        :  String;
  Posn,Count :  Integer;
Begin
    Count :=0;
    Result := False;
    if (Ip <> '') then
    Begin
      if ((Length(Ip) > 15) or (Ip[1] = '.') or (Ip[Length(Ip)] = '.')) then
        Exit
      Else
      Begin
        Posn := Pos('.',IP);
        While (Posn > 0 ) Do
        Begin
          Str := Copy(Ip,1,Posn-1);
          if (StrToInt(Str) > 255) or (Length(Str) > 3) then
            Exit;
          Ip := Copy(Ip,Posn+1,Length(Ip));
          Inc(Count);
          Posn := Pos('.',IP);
          If ((Posn = 0)And ((StrToInt(Ip) > 255) or (Length(Ip) > 3))) then
            Exit;
        End;
        If(Count <>3) Then
          Exit;
      End;
    End;
    Result :=True;
End;

Viết lại chỉ cần 1 dòng mã thôi ... xx là tái sử dụng lại hàm có sẳn trong Delphi _+)(9

Mã:
function TForm1.IpAddrValidation(Ip: String): Boolean;
begin
  Result :=xx(Trim(Ip));
end;

dựa vào mã bài số 1 Tôi chỉnh sửa và cải tiến lại trên Delphi 11 chạy đa luồng rất nhanh

Tìm kiếm từ IP = 192.168.1.1 đến IP = 192.168.1.255 với số luồng tuỳ chỉnh là 20 hay 30 tuỳ thích ...

Giao diện như sau

1703510030667.png
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom