none
Módulo para entrevista de cliente. RRS feed

  • 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.

    quarta-feira, 21 de fevereiro de 2018 13:22

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 else

    2 - 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

    quarta-feira, 21 de fevereiro de 2018 15:11
  • 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.



    quarta-feira, 21 de fevereiro de 2018 17:28

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 else

    2 - 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

    quarta-feira, 21 de fevereiro de 2018 15:11
  • 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.



    quarta-feira, 21 de fevereiro de 2018 17:28
  • 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.


    quarta-feira, 21 de fevereiro de 2018 20:06