IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   Delphi (https://www.ircforumlari.net/delphi/)
-   -   Agdaki MS SQL Server'larin listesini elde etmek (https://www.ircforumlari.net/delphi/689091-agdaki-ms-sql-serverlarin-listesini-elde-etmek.html)

Kaf_Dağı 16 Mart 2015 10:14

Agdaki MS SQL Server'larin listesini elde etmek
 
Kod:

unction NetServerEnum(const ServerName:PWideString;level:DWORD;var Buffer:Pointer;
        PrefMaxLen:DWORD;var EntriesRead:DWORD;var TotalEntries:DWORD;ServerType:DWORD;
        const Domain:PWideChar;var ResumeHandle:DWORD):DWORD;stdcall;external'netapi32.dll';
function NetApiBufferFree(Buffer:Pointer):DWORD;stdcall;external 'netapi32.dll';
function GetSQLServerNames:TStrings;
type
  TServerInfo101=record
  platform_id:DWORD;
  name:PWideChar;
  version_major,version_minor,server_type:DWORD;
  comment:PWideChar;
  end;
  PServerInfo101=^TServerInfo101;
var Buffer:Pointer;
  EntriesRead,i,ErrCode,ResumeHandle,TotalEntries:DWORD;
  PDomainUnicode:PWideChar;
  ServerInfo:PServerInfo101;
begin
  Result:=TStringList.Create;
  ResumeHandle:=0;
  PDomainUnicode:=nil;
  errCode:=NetServerEnum(nil,101,Buffer,DWORD(-1),EntriesRead,TotalEntries,4,PDomainUnicode,ResumeHandle);
  if(errCode<>0)then raise EWin32Error.Create('Can''t enumerate servers');
  try
  ServerInfo:=Buffer;
  for i:=1to EntriesRead do
    begin
    Result.Add(ServerInfo^.name);
    Inc(ServerInfo);
    end;
  finally
  NetApiBufferFree(Buffer);
  end;
end;
 
procedure TForm1.Button1Click(Sender:TObject);
begin
  ComboBox1.Items:=GetSQLServerNames;
end;



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 10:28.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk