Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida Chatinha


Burn Killer

Pergunta

Fala galera

to montando um programa aki q quando eu clico nun option button ele roda pelo getsettings todas as opcoes de check box contindas na ultima utilizacao, porem eu to com um pequeno problema, quando eu mudo do option 1 pro dois o programa não faz a atualizacao no form, e eu to usando um for porque tenho 30 variaveis de memoria (de 1 a 30) , ai o codigo ficou assim:

code:

Private Sub Option1_Click()

For i = 1 To 30

ac(i) = GetSetting(App.EXEName, "opt1", "ac(i)", 0)

Select Case ac(i)

Case ac(1)

Check1.Value = ac(1)

Case ac(2)

Check2.Value = ac(2)

Case ac(3)

Check3.Value = ac(3)

Case ac(4)

Check4.Value = ac(4)

Case ac(5)

Check5.Value = ac(5)

Case ac(6)

Check6.Value = ac(6)

Case ac(7)

Check7.Value = ac(7)

Case ac(8)

Check8.Value = ac(8)

Case ac(9)

Check9.Value = ac(9)

Case ac(10)

Check10.Value = ac(10)

Case ac(11)

Check11.Value = ac(11)

Case ac(12)

Check12.Value = ac(12)

Case ac(13)

Check13.Value = ac(13)

Case ac(14)

Check14.Value = ac(14)

Case ac(15)

Check15.Value = ac(15)

Case ac(16)

Check16.Value = ac(16)

Case ac(17)

Check17.Value = ac(17)

Case ac(18)

Check18.Value = ac(18)

Case ac(19)

Check19.Value = ac(19)

Case ac(19)

Check19.Value = ac(19)

Case ac(20)

Check20.Value = ac(20)

Case ac(21)

Check21.Value = ac(21)

Case ac(22)

Check22.Value = ac(22)

Case ac(23)

Check23.Value = ac(23)

Case ac(24)

Check24.Value = ac(24)

Case ac(25)

Check25.Value = ac(25)

Case ac(26)

Check26.Value = ac(26)

Case ac(27)

Check27.Value = ac(27)

Case ac(28)

Check28.Value = ac(28)

Case ac(29)

Check29.Value = ac(29)

Case ac(30)

Check30.Value = ac(30)

End Select

Next

End Sub

o option2 é igual so q invés de ac é bc, vlww

[]'s

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Bem, qual a sua dúvida? No post você não a descreveu. E, já parou para pensar que deve haver uma maneira muito mais prática de se fazer isso? Colocando os 30 optionbuttons com o mesmo nome, porém com a propriedade Index variando de 1 até 30, você estará criando um vetor de controles. Dessa maneira, o seu código se resumiria apenas a:

For i = 1 To 30
  Check1(i).Value = GetSetting(App.EXEName, "opt1", i, 0)
Next i

Porém, o nome da chave é realmente "ac(i)" e não o valor correspondente?

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

e aii

boom td bemm colocando em index facilitaria minha vida, masss tem um porem como eu posso manipular a selecao do check já q quando for clicado ele mudara as configuracoes do form principal, tendo em vista q cada check tem uma alteracao diferente para o form principal

Essa dúvida já passou por aqui... De qualquer forma, a idéia seria ter uma rotina que faria todas as verificações das checkboxes (ou optionbuttons) e que decidiria o que seria feito OU que todas as ações (antes de serem executadas propriamente) verificassem se a tal checkbox está marcada ou não. Exemplo do primeiro caso:

public sub AltOpções()
  if check1.value = vbchecked then 'faça algo
  if check2.value = vbchecked then 'faça outro algo
  if check3.value = vbchecked then 'faça mais outro algo
end sub
Exemplo do segundo caso:
public sub Opção1()
  if check1.value = vbchecked then
    'faça algo
  endif
end sub

public sub Opção2()
  if check2.value = vbchecked then
    'faça algo
  endif
end sub

public sub Opção3()
  if check3.value = vbchecked then
    'faça algo
  endif
end sub

É claro que isso é apenas um exemplo e que, na prática, você deveria pegar os valores através do GetSetting() ao invés de pegar direto das checkboxes.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Uma pergunta:

quando eu separo em index os check boxes, como eu o utilizaria no option ou na propria function check click:

tipo fikaria

Sub Check1_Click()

Index 1

faça

Index2

faça

.

.

.

Indexn

faça

porque quando eu ponho a indexacao eu faco com q o check tenha uma rotina pra tudo, precisando separar as rotinas de cada checkbox

é so vlww

Link para o comentário
Compartilhar em outros sites

  • 0

e ai

bom ta td otimo so tem um porem, quando eu mudo de option tipo de 1 pra 2 o form não está fazendo o getsettings() e atualizando os check boxes value, alguém sabe se tem erro? ai vai o codigo

Private Sub Option1_Click()
 For i = 1 To 30
  Check1(i).Value = GetSetting(App.EXEName, "opt1", "i", 0)
  Next i
End Sub

Private Sub Option2_Click()
 For j = 1 To 30
 Check1(j).Value = GetSetting(App.EXEName, "opt2", "j", 0)
 Next j
 End Sub

Link para o comentário
Compartilhar em outros sites

  • 0

Quando você coloca "i" ou "j" no GetSettings() você não está pegando os valores correspondentes a estas variáveis e sim as strings "i" e "j". Por isso que o segundo option não funciona. Todos as configurações foram gravadas com "i"s e não os valores correspondentes.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

humm entaum como eu faria pra rodar as 30variaveis salvas? uma por uma?

Private Option1_Click()
 Check1(1).Value = GetSetting(App.EXEName, "opt2", "1", 0)
   . 
   .
   .
End sub

porem se eu colocar assim ele so roda o primeiro, como eu posso fazer q elas rodem todas as 30 nun so click, colocá-los em uma function?? mas como ela so le o primeiro entaum como fazer para ela ler todos os 30?? HELPP

[]'s

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...