Usuário com melhor resposta
Módulo para entrevista de cliente.

Pergunta
-
Boa dia colegas, estou fazendo um programa para gerar declarações de clientes e gostaria de saber qual a melhor forma para isso ser feito pela vasto conhecimento de vocês.
É o seguinte, fiz vários formulários da seguinte forma. frmEntrevTrab1, frmEntrevTrab2, frmEntrevTrab3...
Os formularios são compostos por grupos de radio buttons e alguns textbox.
Eu fiz um módulo para ir alimentando as variáveis conforme a opção for selecionada.
Minhas duvidas são as seguintes.
1 - É melhor eu usar conjuntos de If e Elses ou Select Case para cada formulario individual.
2 - Nesse caso é melhor usar classes ou módulos.
3 - Pra fechar e abrir o próximo formulário (Como uma espécie de instalador de programas, next, next, next, finish) e o programa não consumir muita memoria qual melhor forma para isso?
4 - No final do procedimento é melhor eu fazer o método no botão finalizar ou relacionar algum código ao módulo algo do tipo.
Respostas
-
Bom dia Gilberto.
NA minha opniao:
1 Sempre que as situações são derivadas de um simples 'sim' , 'nao', 'ou',' Se nao' ustilizr else2 - Utilize classes.
3- para abrir uma simples interação, utilize o showDialog()
4 - para finalizar um simples chamada utilize o simples This.close();
Agora para controle de Retorno e bom criar um arquivo de log.Espero ter ajudado
- Marcado como Resposta Filipe B CastroModerator sexta-feira, 23 de fevereiro de 2018 16:07
-
Segue sugestões, lembrando que tudo é relativo e nada é regra ou obrigatório.
1 - É melhor eu usar conjuntos de If e Elses ou Select Case para cada formulario individual.
Utilize If, Elseif, Else quando for poucas opções, por exemplo
Dim X as Int32
X = Cint(txt_opção. text)
If X Mod 2 = True Then
Form2.showdialog
Elseirf X Mod 3 = True Then
Form3.showdialog
Else
Form4.showdialog
End If
Se forem muitas opções correlacionadas, prefira o Select Case, por exemplo:
Dim X as Int32
X = Cint(txt_opção. text)
Select Case X
Case 1
Form2.showdialog
Case 2
Form3.showdialog
Case 3
Form4.showdialog
Case 4
Form5.showdialog
Case 5
Form6.showdialog
Case Else
Form7.showdialog
End Select
2 - Nesse caso é melhor usar classes ou módulos.
Em VB.Net, prefira utilizar classes.
3 - Pra fechar e abrir o próximo formulário (Como uma espécie de instalador de programas, next, next, next, finish) e o programa não consumir muita memoria qual melhor forma para isso?
Private Sub Button_Click
Form_Proximo.show() ou Form_Anterior.Show()
Me.close()
Me.Dispose() ‘veja abaixo
End sub
Caso tenha certeza de não necessitar voltar ao form atual ou utilizar algum dado público do mesmo, complete com Me.Dispose(), caso contrário não utilize, pois o form será limpo da memória e não será mais resgatado anão ser que feche e reabra o programa.
4 - No final do procedimento é melhor eu fazer o método no botão finalizar ou relacionar algum código ao módulo algo do tipo.
Se for algo simples pode ser no botão.
Se for complexo, chame uma classe.
- Editado Mariano1776 quarta-feira, 21 de fevereiro de 2018 17:33 formatação
- Marcado como Resposta Filipe B CastroModerator sexta-feira, 23 de fevereiro de 2018 16:07
Todas as Respostas
-
Bom dia Gilberto.
NA minha opniao:
1 Sempre que as situações são derivadas de um simples 'sim' , 'nao', 'ou',' Se nao' ustilizr else2 - Utilize classes.
3- para abrir uma simples interação, utilize o showDialog()
4 - para finalizar um simples chamada utilize o simples This.close();
Agora para controle de Retorno e bom criar um arquivo de log.Espero ter ajudado
- Marcado como Resposta Filipe B CastroModerator sexta-feira, 23 de fevereiro de 2018 16:07
-
Segue sugestões, lembrando que tudo é relativo e nada é regra ou obrigatório.
1 - É melhor eu usar conjuntos de If e Elses ou Select Case para cada formulario individual.
Utilize If, Elseif, Else quando for poucas opções, por exemplo
Dim X as Int32
X = Cint(txt_opção. text)
If X Mod 2 = True Then
Form2.showdialog
Elseirf X Mod 3 = True Then
Form3.showdialog
Else
Form4.showdialog
End If
Se forem muitas opções correlacionadas, prefira o Select Case, por exemplo:
Dim X as Int32
X = Cint(txt_opção. text)
Select Case X
Case 1
Form2.showdialog
Case 2
Form3.showdialog
Case 3
Form4.showdialog
Case 4
Form5.showdialog
Case 5
Form6.showdialog
Case Else
Form7.showdialog
End Select
2 - Nesse caso é melhor usar classes ou módulos.
Em VB.Net, prefira utilizar classes.
3 - Pra fechar e abrir o próximo formulário (Como uma espécie de instalador de programas, next, next, next, finish) e o programa não consumir muita memoria qual melhor forma para isso?
Private Sub Button_Click
Form_Proximo.show() ou Form_Anterior.Show()
Me.close()
Me.Dispose() ‘veja abaixo
End sub
Caso tenha certeza de não necessitar voltar ao form atual ou utilizar algum dado público do mesmo, complete com Me.Dispose(), caso contrário não utilize, pois o form será limpo da memória e não será mais resgatado anão ser que feche e reabra o programa.
4 - No final do procedimento é melhor eu fazer o método no botão finalizar ou relacionar algum código ao módulo algo do tipo.
Se for algo simples pode ser no botão.
Se for complexo, chame uma classe.
- Editado Mariano1776 quarta-feira, 21 de fevereiro de 2018 17:33 formatação
- Marcado como Resposta Filipe B CastroModerator sexta-feira, 23 de fevereiro de 2018 16:07
-
Eu comecei usando um módulo para armazenar as variáveis de acordo com oque o entrevistado responder e tava conseguindo usar as variáveis publicamente, quando mudei o codigo para uma classe não consegui mais usar as variaveis, tenho que importar algo ou algo assim? (desculpa sou iniciante nisso)
Que oque eu tenho em minha cabeça é gerar uma declaração no word para que o cliente assine e declare que os fatos relatados são verídicos, portanto acho que tem mais de 50 perguntas e respostas, entre elas tem alguns paineis com uma média de 6 alternativas para seleção unica entre elas, consegui usando If e Else nos primeiros, eu creio que vá da uns 15 ou 20 formularios sequenciais.
Acho que o código para gerar o documento do word vai ser bem complexo pois quero tentar declarar somente oque foi relatado e oque não foi será removido o rótulo do word (Ex. No programa vai ter a pergunta se houve acidente de trabalho, caso não haja o rótulo vai ser removido do word. Meu codigo ta mais ou menos assim no FormEntrevTrab1.
Public Class frmEntrevTrab1 Private Sub btnProximo1_Click(sender As Object, e As EventArgs) Handles btnProximo1.Click If rbtescolar1.Checked Then stEscolaridade = "Nenhuma" ElseIf rbtescolar2.Checked Then stEscolaridade = "Ensino Fundamental incompleto" ElseIf rbtescolar3.Checked Then stEscolaridade = "Ensino Fundamental completo" ElseIf rbtescolar4.Checked Then stEscolaridade = "Ensino Médio incompleto" ElseIf rbtescolar5.Checked Then stEscolaridade = "Ensino Médio completo" ElseIf rbtescolar6.Checked Then stEscolaridade = "Ensino Superior incompleto" ElseIf rbtescolar7.Checked Then stEscolaridade = "Ensino Superior completo" Else MsgBox("Selecione a escolaridade", vbInformation) Exit Sub End If stQuanFilhos = txtfilhos.Text If stQuanFilhos = "" Then MsgBox("Selecione a quantidade de filhos") Exit Sub End If If rbtaluguel1.Checked Then stAluguel = "Pago aluguel" ElseIf rbtaluguel2.Checked Then stAluguel = "Não pago aluguel" Else MsgBox("Selecione quadro de alguel", vbInformation) Exit Sub End If If rbtreg1.Checked Then stLocalidade = "Periferia" ElseIf rbtreg2.Checked Then stLocalidade = "Centro" ElseIf rbtreg3.Checked Then stLocalidade = "Comunidade" Else MsgBox("Selecione o local onde mora o cliente") Exit Sub End If Me.Dispose() frmEntrevTrab2.Show() End Sub End Class
Não comecei a parte do word ainda, ainda estou na estrutura dos formularios e no passo a passo para o advogado.
- Editado Gilberto Andre Junior quarta-feira, 21 de fevereiro de 2018 20:08