USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Arquivo Texto para Abrir Conexao c/ BD????
Rafael F
não registrado
Postada em 25/08/2004 22:16 hs   
Boa noite pessoal,
 
Uma vez vi um amigo, criar um arquivo TXT onde ele colocava como parametro dentro dele onde ficava a base de dados "C:sistemas     este.mdb"
 
Entao o formulario lia esse arquivo e dependendo do que estava dentro abria a Base de Dados de acordo com o arquivo.
 
Muito Bem gostaria de refazer isso, porem queria ver se tem algum jeito de eu criar uma rotina em algum modulo para que eu nao precisa-se ficar programando Form por Form. Alguem poderia me ajudar????
     
Rochª
Pontos: 2843 Pontos: 2843 Pontos: 2843
RIO DE JANEIRO
RJ - BRASIL
Postada em 25/08/2004 22:28 hs            
Crie um modulo com a rotina de abertura e leitura do arquivo texto. Coloque em uma variavel global para aguardar o caminho do banco e todos os form vao saber onde esta o banco. Assim
 
Crie um modulo. Crie uma rotina chamada LE_ONDE_ESTA_O_BANCO.
 
Global local_banco as string
 
Sub LE_ONDE_ESTA_O_BANCO
   Open "c:local_do_banco.txt" For Input As #1
   Line Input #1, local_banco
   close #1
end if
 
Basta agora voce usar a variavel (global) LOCAL_BANCO em qualquer form que ele conte o local do seu banco. Deve existir um arquivo texto (tem que ser somente texto não pode ser word ou rtf) no raiz com o nome local_do_banco.txt que vai conter o local do seu banco.
 
Escrevi o codigo direto na web de uma boa olhada pois pode ter erros. Emoções

__________________________________________________________________________
Qualquer coisa post
 
Emoções
Rochª
     
caco
Pontos: 2843

SP - BRASIL
Postada em 26/08/2004 00:34 hs            
Olá! Utilize arquivos .INI que são mais amigáveis. Ex:
 
Crie um arquivo chamado config.ini no diretório da sua aplicação. Adicione o seguinte conteúdo nele:
 
 
[Database]
Path=c:Projectdatabase.mbd
 
 
Depois pra ler e gravar o valor no arquivo utilize o código abaixo.
 
 
Dim buf As String * 256
Dim Length As Long
 
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long

Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
 
Private Sub Command1_Click()
 
    ' Obtém o valor da chave
    Length = GetPrivateProfileString("Database", "Path", "", buf, Len(buf), _
            App.Path & "config.ini")
 
    MsgBox (Left$(buf, Length))

End Sub
 
Private Sub Command2_Click()
 
    ' Grava o novo valor
    WritePrivateProfileString "Database", "Path", "c:NewPathdatabase.mdb", App.Path & "config.ini"
 
End Sub
 
 
Se tiver dificuldade de entender a lógica é só perguntar. Abraço!
     
Burro
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
Postada em 26/08/2004 00:46 hs            
Desculpe-me a intromissão, eu já usei o que nosso amigo esta querendo fazer, parei por alguns motivos que não vem ao caso, + na epoca tambem me falaram que arquivos INI eram melhores, etc....
Eu praticamente não vi diferença alguma, ambos eram arquivos texto, a unica diferença era a extensão.
Tirando a estetica, apesar que num arquivo texto vc pode tambem fazer tudo organizadinho, qual a real vantagem do uso de arquivos INI ?
Pois eu não vi nenhum na época, e analisando os dois codigos aqui postados, da pra ver que com o INI é até + "complicado" de pegar as informações....
Alguem poderia me esclarecer? Obrigado.
     
caco
Pontos: 2843

SP - BRASIL
Postada em 26/08/2004 01:40 hs            
Olá! Não precisa de desculpar, fique a vontade!
 
A questão não é se o arquivo é .ini ou .txt. A rotina que passei funciona com qualquer extensão. As APIs GetPrivateProfileString e WritePrivateProfileString trazem a funcionalidade de leitura e gravação das chaves nos arquivos sem ter que ficar manipulando-os.
 
Uma facilidade da função WritePrivateProfileString por exemplo, é de criar as chaves ou até mesmo o arquivo automaticamente se os mesmos não existirem.
 
Pelo menos pra mim não vejo dificuldade de usá-las, a rotina está pronta, basta chamar as funções passando os parâmetros como em qualquer procedimento.
 
Arquivo:
[Seção]
Chave=
 
GetPrivateProfileString "Seção", "Chave", "Valor padrão se nada for encontrado", "Buffer", "Tamanho do Buffer", "Arquivo INI"
 
WritePrivateProfileString "Seção", "Chave", "Valor", "Arquivo INI"
 
Bem, eu prefiro fazer assim do que manipular arquivos, é uma questão de preferência, pra mim pelo menos é mais amigável.
 
OK? Flw!
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2026   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página