ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Digitar ip do servidor no edit e retornar no combobox

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
sueleneti
Novato
Novato


Registrado: Domingo, 13 de Julho de 2014
Mensagens: 23

MensagemEnviada: Sex Jul 18, 2014 2:12 pm    Assunto: Digitar ip do servidor no edit e retornar no combobox Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
informacaoweed
Aprendiz
Aprendiz


Registrado: Terça-Feira, 1 de Outubro de 2013
Mensagens: 268
Localização: Porto Alegre / RS

MensagemEnviada: Sex Jul 18, 2014 3:26 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
souzacruz001
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 11 de Junho de 2014
Mensagens: 273

MensagemEnviada: Sáb Jul 19, 2014 7:37 pm    Assunto: Responder com Citação

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:

Código:


show processlist

Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
sueleneti
Novato
Novato


Registrado: Domingo, 13 de Julho de 2014
Mensagens: 23

MensagemEnviada: Ter Jul 22, 2014 11:48 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB