1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Guardar Configurações VB 6 ????

Discussão em 'Programação' iniciada por RPortela, 7 de Outubro de 2006. (Respostas: 12; Visualizações: 1493)

  1. RPortela

    RPortela Power Member

    boas, queria saber como guardar as opções de configurações/definições no visual basic, alguem me sabe ajudar?

    eu vo explicar melhor, eu tenho várias opções num programa que estou a fazer, entre elas a lingua, e as opções de ver/ocultar barra de estado/barra de ferramentas, etc, e queria saber como guardar essas configurações para que o utilizador nao tenha que voltar a alterar tudo de novo, ou seja, as configurações so seriam alteradas se o utilizador assim o deseja-se.

    ajudem-me plz

    cumprimentos,
     
  2. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Portanto,


    MostrarBarraDeEstado = True/False (booleano)
    MostrarBarraDeFerramentas = True/False (booleano)
    Lingua =
    - Portugues/Ingles/Frances/Alemao (strings) (evitar usar acentos ;) )
    - 1/2/3/4 (integers)


    Podes gravar num ficheiro à parte; config.txt

    MostrarBarraDeEstado=True
    MostrarBarraDeFerramentas=False
    Lingua=1 (aconselho-te a usar esta forma ;) )


    Usando o próprio I/O do Visual Basic; ou podes gravar num INI. No último tens duas hipóteses:
    1) Usas o I/O do Visual Basic exactamente da mesma forma e gravas em INI
    2) Usas as APIs GetPrivateProfileString/WritePrivateProfileString

    Se não tens por hábito usar APIs, podes usar o I/O do VB, mas se é para a tal PAT, aconselho-te a usar a API.
    Sempre mostra mais algum conhecimento da tua parte ;)

    Se precisares de exemplos em como usar o PrivateProfileString, diz ;)

    Espero ter ajudado

    Cumps [[[[[[[[[]]]]]]]]]
    angelofwisdom
     
    Última edição: 8 de Outubro de 2006
  3. RPortela

    RPortela Power Member

    boas,

    ja usei varias api´s noutros trabalhos,

    se me pudesses mostrar alguns exemplos dessa api era bom, ja peskisei por ela, e nao encontro nada :'(

    ja tinha pensado nessa opção de utilizar variaveis booleanas, mas nao a tinha aplicado na pratica porque nao sabia onde guardar essas variaveis.

    cumprimentos,
     
  4. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Infelizmente não te consigo fazer agora funções para Ler/Alterar INI's, mas deixo-te assim:
    1) Ler: GETPrivateProfileString
    2) Alterar: WRITEPrivateProfileString (eu tinha dito SetPrivateProfileString... está errado =X ja editei)
    3) Exemplo de como usar estas APIs: INI Files

    Espero que te ajude

    edit - se esperares, posso fazer-te as funções ReadINI/SaveINI, mas vai ter de ficar para durante a semana, porque eu tenho escola e pouco tempo e não consigo usar o computador à noite =X

    Cumprimentos [[[[[[[[[]]]]]]]]]
    angelofwisdom
     
    Última edição: 8 de Outubro de 2006
  5. HecKel

    HecKel The WORM

    Usando ficheiros, é relativamente fácil.

    Basta usares os eventos OnClose e Load (já não me lembro bem de VB, corrijam-me se estiver errado nos eventos).

    No Load carregas as variáveis tal e qual como no ficheiro INI (toma em consideração que o ficheiro PODE NÃO existir, verifica isto antes de carregares "nada" para dentro de variáveis..., senão dá porcaria). E no OnClose gravas novamente as configurações para dentro do ficheiro.

    A unica coisa que necessitas saber, é trabalhar com ficheiros :)

    Pessoalmente eu não gosto muito dessa técnica..., mas é uma forma de fazer isso :)

    abraços, HecKel
     
  6. Gaminger

    Gaminger Power Member

    Eu ando com um problema rídiculo...não consigo criar executáveis no Visual Basic 2005 Express Edition...alguem me ajuda?

    Ja agora. Eu tenho uma textbox, e quero que sempre que eu carregue no "botton1" apareça um "1" nessa textobox...

    eu fiz:

    button1.click

    textbox.text = "1"

    mas isso faz tipo reset e mete o numero lá...mas eu quero que vão aparecendo mais números...

    e o executável?
     
  7. RPortela

    RPortela Power Member

    boas,

    obrigado a todos pela vossa ajuda, vou ver melhor esses sites e tentar resolver este pequeno problema na imensidao dos problemas que ainda vou ter que resolver para a PAT,

    uma vez mais..thanks

    cumprimentos,
     
  8. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Exacto. Os eventos são QueryUnload e Load ;) e é practicamente como o HecKel disse.

    No Load, verificas se o ficheiro existir. Se não existir, aplica as configurações default.
    Se existir, abre o INI, lê cada linha a aplica-a às variáveis. Se porventura existir alguma variável que não conste do INI, aplica a configuração default a essa variável.

    No QueryUnload, simplesmente grava o INI (a menos que o queiras fazer a pedido do utilizador).

    Gaminger, era preferível abrires uma nova thread, uma vez que esta é sobre VB6 e o teu Visual Basic é .NET.

    No entanto, logicamente, parece-me que o teu erro está em
    textbox.text = textbox.text + "1"

    Em relação aos executáveis, não te posso ajudar porque não dizes ... nada! Não os consegues criar porquê? (não respondas nesta thread; acrescenta essa informação à nova thread quando a fizeres ;) )

    edit - pois, notei agora que uma das tuas perguntas está resolvida noutra thread :D espero ter resolvido a outra ;)

    Quando puderes, diz qualquer coisa. Já sabes, sempre que precisares... ;)

    Cumps [[[[[[[[]]]]]]]]
    angelofwisdom
     
    Última edição: 9 de Outubro de 2006
  9. RPortela

    RPortela Power Member

    boas,

    ja andei a ver de como se usam os ficheiros .ini e nao consegui por isto a funcionar, consegui po-lo a ler o tal ficheiro (com apenas uma linha :'() mas nem sequer consegui gravar as configuracoes no ficheiro antes de encerrar o programa.

    se me pude-ses arranjar os codigo para por isto a ler e a gravar em varias linhas era fixe ;)

    ja agora, sabem de algum site onde eu possa fazer o download de "source codes" de vb para tirar ideias e ver se aprendo mais alguma coisa?

    cumprimentos,
     
  10. HecKel

    HecKel The WORM

  11. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Para download de source-codes, aconselho vivamente o www.planet-source-code.com. Foi a minha ajuda durante alguns anos :)

    Podes não gravar como INI, mas sim como CFG (um formato não standardizado).
    Portanto, em vez de gravares nome_da_variavel=valor, gravas simplesmente o valor (o programa tem de "saber" a ordem)

    Assim seria fácil:

    ordem actual:
    - Linha 1 contém o booleano "MostrarBarraDeEstado"
    - Linha 2 contém o booleano "MostrarBarraDeFerramentas"
    - Linha 3 contém a integer "Lingua"

    Antes de tudo:
    Código:
    Dim MostrarBarraDeEstado As Boolean
    Dim MostrarBarraDeFerramentas As Boolean
    Dim Lingua As Integer
    
    Gravar:

    Código:
    Open "configuracoes.cfg" For Output as #1
    Print #1, MostrarBarraDeEstado
    Print #1, MostrarBarraDeFerramentas
    Print #1, Lingua
    Close #1
    Ler
    Código:
    Open "configuracoes.cfg" For Input as #1
    Line Input #1, MostrarBarraDeEstado
    Line Input #1, MostrarBarraDeFerramentas
    Line Input #1, Lingua
    Close #1
    Não aconselho muito, mas assim é facílimo :D
    Se quiseres doutra forma; ou tiveres um formato próprio que queiras aplicar, diz qualquer coisa ;)

    O código foi escrito à mão aqui mesmo. Se encontrares algum erro (eu pelo menos não vi nenhum =X ) avisa sff ^^

    Cumps [[[[[[[[]]]]]]]]
    angelofwisdom
     
  12. RPortela

    RPortela Power Member


    boas,

    desculpem a minha ingnorancia em relação á manipulação de ficheiro,

    vo tentar explicar melhor o que quero e de um forma um pouco mais detalhada:
    -quero que ao ser aberto o formulario principal (form_load) ele verifique as configurações anteriores e consoante essas configurações mostre as barras ou nao.

    -tenho 2 menus para ver/ou nao as barras, onde sao definidas essas opções, os menus sao: mnu_statusbar e mnu_toolbar e quero que aqui seja feito o seguinte:ao ser pressionado o menu (ser activado) ele vai verificar a visibilidade actual da barra correspondente e consoante esse estado de visibilidade ele altera para o seu estado contrario (se esta visivel passa para invisivel ou vice-versa) e guarda essas configurações.

    isto tudo de maneira a que da proxima vez que o programa seja executado mantenha essas configurações.


    nota: da para fazer isto atraves de base de dados? como? se der posso aproveitar que ja tou a trabalhar numa bd..e so acrescentar os campos.


    cumprimentos,
     
  13. RPortela

    RPortela Power Member

    boas,

    já consegui adaptar esse codigo e ja esta tudo a bombar :)

    obrigado a todos pela vossa ajuda ;)
     

Partilhar esta Página