 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
sueleneti Novato

Registrado: Domingo, 13 de Julho de 2014 Mensagens: 23
|
Enviada: Sex Jul 18, 2014 2:12 pm Assunto: Digitar ip do servidor no edit e retornar no combobox |
|
|
| gostaria de saber como faço pra digitar o ip do servidor que tem os bancos em SQL server e ele me retornar no Combobox os bancos disponíveis. |
|
| Voltar ao Topo |
|
 |
informacaoweed Aprendiz


Registrado: Terça-Feira, 1 de Outubro de 2013 Mensagens: 268 Localização: Porto Alegre / RS
|
Enviada: Sex Jul 18, 2014 3:26 pm Assunto: |
|
|
No meu sistema tem essa função que não faz bem exatamente o que vc quer, o que esta função faz é listar os ambientes de rede em uma combo.
Mas pra começar o estudo que vc precisa pra fazer o que quer, é um começo:
| Código: | procedure TConfBancoF.ListaAmbienteRede;
var Plataforma : String;
function VersaoWindows: string;
var PlatformId, CSDVersion: string;
begin
CSDVersion := '';
case Win32Platform of
VER_PLATFORM_WIN32_WINDOWS:
begin
if Win32MajorVersion = 4
then
begin
case Win32MinorVersion of
0: PlatformId := '9x';
10: PlatformId := '9x';
90: PlatformId := 'ME';
end;
end
else PlatformId := '9x';
Result := '9x';
end;
VER_PLATFORM_WIN32_NT:
begin
if Length(Win32CSDVersion) > 0
then CSDVersion := Win32CSDVersion;
if Win32MajorVersion <= 4
then PlatformId := 'NT'
else if Win32MajorVersion = 5
then case Win32MinorVersion of
0: PlatformId := '2000';
1: PlatformId := 'XP';
2: PlatformId := '2003';
else PlatformId := 'Win7';
end
else PlatformId := 'Win7';
Result := PlatformId;
end;
end;
end;
procedure Enumera(Res: PnetResource);
var
Hnd: THandle;
NumeroEntradas: DWord;
Buffer: array[1..255] of TNetResource;
LongBuffer: DWord;
N: Integer;
S: string;
begin
LongBuffer := SizeOf(Buffer);
if WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, Res, Hnd) = No_ERROR then
begin
NumeroEntradas := 255;
WNetEnumResource(Hnd, NumeroEntradas, @Buffer[1], LongBuffer);
for N := 1 to NumeroEntradas do
begin
S := string(Buffer[N].lpRemoteName);
if (Plataforma = 'xp') or
(Plataforma = 'Win7')
then if (Buffer[1].dwType = 0) and
(Copy(S, 1, 2) = '\\')
then Cb_PCRede.Items.Add(Copy(S, 1, Length(S)));
if Plataforma = '9x'
then if (Buffer[1].dwType = 3) and
(Copy(S, 1, 2) = '\\')
then Cb_PCRede.Items.Add(Copy(S, 3, Length(S) - 2));
if (Buffer[N].dwUsage and RESOURCEUSAGE_CONTAINER) = RESOURCEUSAGE_CONTAINER
then Enumera(@Buffer[N]);
Update;
end;
end;
end;
begin
Plataforma := VersaoWindows;
Enumera(nil);
end; |
Não fui eu que escrevi este código, foi outro programador aqui na empresa, e compartilho aqui como objeto de estudo. Espero que possa ajudar alguém.
ABraços! |
|
| Voltar ao Topo |
|
 |
souzacruz001 Aprendiz

Registrado: Quarta-Feira, 11 de Junho de 2014 Mensagens: 273
|
Enviada: Sáb Jul 19, 2014 7:37 pm Assunto: |
|
|
Boa noite.
Procure na documentação do banco, pois lá existe (creio eu) uma forma que detectada os usuários que estão conectados no banco.
Achei isso aqui na internet, não sei se funciona. Execute direto no banco pra ver se dá certo:
|
|
| Voltar ao Topo |
|
 |
sueleneti Novato

Registrado: Domingo, 13 de Julho de 2014 Mensagens: 23
|
Enviada: Ter Jul 22, 2014 11:48 am Assunto: |
|
|
| Precisava mesmo digitar o caminho do servidor 192.168.10.4 (tem outras maquinas com SQL Server na rede) no edit e ele me retornar no Combobox os bancos disponíveis nesse servidor |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|