AS INSTRUCOES IF ANINHADAS TORNAM MAIS PODEROSAS

MANCKENNA 15/08/2009 22:15:34
#319945
Pessoal me ajudem a colocar os objetos nestes códigos abaixo:
Obs: Não é abuso mas preciso realmente de um pontapé inicial se não for possível colocar a imagém e/ou enviar o frm [Ô]zipado[Ô] me informém os nomes dos objetos .....grato..


Listagem 6.3 [Ô] As Instruções IF aninhadas tornam mais poderosas as comparações de dados[Ô]

____________________Código______________________________________________________________

If (curSales>10000,00) Then

If (ntHrsWorked>40) Then

curbonus = 750,00

Else

curBonus = 500,00

End If

lblBonus.Caption = [Ô]Good Work![Ô]

End If
TECLA 15/08/2009 23:05:10
#319950
Variáveis
Dim curSales As Currency, ntHrsWorked As Integer, curbonus As Currency


Controles
lblBonus  =  LABEL
MANCKENNA 16/08/2009 14:43:39
#319972
Citação:

TECLA escreveu:
Variáveis

Dim curSales As Currency, ntHrsWorked As Integer, curbonus As Currency


Controles
lblBonus  =  LABEL



Coloquei este código abaixo no lable , mas estou sentido falta de mais controles...


Private Sub lblBonus_Click()

If (curSales > 10000#) Then

If (ntHrsWorked > 40) Then

curbonus = 750,00

Else

curBonus = 500,00

End If

lblBonus.Caption = [Ô]Good Work![Ô]

End If
Dim curSales As Currency, ntHrsWorked As Integer, curbonus As Currency
End Sub
TECLA 16/08/2009 14:58:07
#319974
Mais uma dica sobre programação.

IDENTAÇÃO
Para que as linhas de código se tornem mais compreensíveis, utilize ESPAÇAMENTO (tecla TAB) quando escrever um bloco de instruções IF... END IF, FOR... NEXT, DO WHILE... LOOP, SELECT CASE... END SELECT etc.

Referente ao problema, tente assim e retorne o resultado.:

1. Adicione um LABEL ao FORM e mude o NAME para lblBonus.
2. Copie o código abaixo e cole no projeto.
Private Sub lblBonus_Click()
Dim curSales As Currency, ntHrsWorked As Integer, curBonus As Currency

curSales = 5000
ntHrsWorked = 35

If (curSales > 10000#) Then
If (ntHrsWorked > 40) Then
curBonus = 750,00
Else
curBonus = 500,00
End If
lblBonus.Caption = [Ô]Good Work![Ô]
End If

End Sub


PS. Sugiro que pare de estudar este livro, e comece pelo site www.macoratti.net. Digo isso, porque me parece que o código do livro está incompleto ou você não está lendo TODAS as explicações antes de escrever a rotina.

O site informado será muito útil, desde que saiba utilizá-lo.

Acesse o link, clique em VISUAL BASIC, role a página até o FINAL e comece a leitura dos artigos (de baixo para cima).
Aprenderá muito mais rápido, creio eu!
MANCKENNA 16/08/2009 19:47:47
#319990
Amigo

Fiz exatamente conforme você sugeriu coloquei todo o código no projeto dentro do lable , mas insisto em perguntar , não está faltando um outro controle tipo botão,caixa de texto?

Obs: O autor explica detalhadamente as instruções e os operadores condicionais como funciona , porém eu é que estou colocando os objetos nos mesmos pra verem como funciona no ato......mas confesso que estou tendo dificuldade de saber as vezes quais são os objetos de controles e onde devem ser colocados os códigos.....e esta dificuldade se aplica exatamente aqui:

Você diz :

1. Adicione um LABEL ao FORM e mude o NAME para lblBonus.

2. Copie o código abaixo e cole no projeto.

Eu fiz exatamente isso mas me parece que falta algum objeto a mais......ou estou errado ????
TECLA 16/08/2009 21:50:02
#319998
Poste o projeto aqui.
MANCKENNA 17/08/2009 10:14:34
#320027
OK
MANCKENNA 17/08/2009 22:18:44
#320109
Com Objetos e códigos
TECLA 17/08/2009 23:09:03
#320112
Como exercício, tenta desenhar uma tela semelhante a esta.



Para testar o programa, utilize o código abaixo:
Private Sub Command1_Click()
Dim curSales As Currency, ntHrsWorked As Integer, curBonus As Currency

If Trim(Text1) = [Ô][Ô] Or Trim(Text2) = [Ô][Ô] Then Exit Sub
curSales = CCur(Text1)
ntHrsWorked = CInt(Text2)

If (curSales > 10000) Then
If (ntHrsWorked > 40) Then
curBonus = 750
Else
curBonus = 500
End If
lblBonus.Caption = [Ô]Good Work![Ô]
End If

MsgBox [Ô]CurBonus: [Ô] & curBonus
End Sub


Insira os controles no FORM e não altere a propriedade NAME.
Tópico encerrado , respostas não são mais permitidas