90 Dicas de Visual Basic



Baixar 426,91 Kb.
Página7/14
Encontro03.05.2017
Tamanho426,91 Kb.
1   2   3   4   5   6   7   8   9   10   ...   14

33 - VB4 - Criando senhas para banco de dados


O Jet Engine 3 (exclusivo32 bits) inclui um novo sistema de segurança baseado em senhas de BD mais complexas e mais seguras que o antigo modelo de grupos. Este sistema disponibiliza uma senha para abertura da base de dados . Este sistema é mais simples de ser utilizado mas é facilmente comprometido, pois, todos os usuários possuem a mesma senha. Entretanto, você poderá usar tanto o recurso de DB Password (senha de BD) como o de workgroup (grupos), ao mesmo tempo (isto é, que dará mais segurança).

Manipule uma DB Password no VB, usando o novo método NewPassword (database object), com códigos como este:

Dim wrk As Workspace

Dim db As Database

Set wrk = DBEngine. Workspace(0)

Set db = wrk.OpenDatabase("MYDB.MDB",true)

'note que a base deve ser aberta como exclusiva

'alterando a senha atual (em branco) para "NewPass"

db.NewPassword "","NewPass

Por Paul Litwin*

34 - VB4 - Abrindo bases de dados com senha


Na dica anterior mostrei a definição de senhas para bancos Jet 3 (32 bits). Para abrir o banco é necessário passar a senha no parâmetro Connect. No exemplo abaixo, a senha é "bobo".

Dim wrk As Workspace

Dim db As Database

Set wrk = DBEngine. Workspace(0)

Set db = wrk.OpenDatabase("MYDB.MDB", false, false, ";PWD=bobo")

O parâmetro Connect (4o parâmetro) é case sensitive (diferencia A de a) e - ao contrário do que diz a documentação do VB - os parâmetros exclusive e read-only (2o e 3o parâmetros) devem ser falsos.



Por Paul Litwin*

35 - VB4 - Posicionando uma Common Dialog


Ficou triste ao ler a documentação do VB, que dizia "Note: you cannot specify where a common dialog is displayed" (você não poderá especificar onde é mostrada uma common dialog)? Então tente isto:

Inicie um novo form (que será usado apenas para isto) em vez de chamar a abertura do diálogo diretamente do form principal.

(FrmDummy_OpenSaveAs.Hide)

Defina as propriedades Left e Top conforme desejar e inicie a common dialog deste form. No Windows 95 (VB 4-32 bits) , a common dialog irá aparecer na posição do form que a chamou. Como o form hide (oculto), isto é imperceptível para o usuário.



Por Reinhard Salchner*

36 - VB3/VB4 - Economize memória com uma picture box


Mudar a propriedade AutoRedraw para true consiste em redesenhar forms rapidamente e desperdiçar alguma memória. Se seu form é redimensionável, o desperdício pode ser bem maior, pois, o bitmap persistente criado pelo AutoRedraw é tão grande quanto as dimensões máximas do form para revelar a saída oculta, quando o usuário maximiza ou minimiza a janela. Se o gráfico a ser redimensionado (mantido) for pequeno em relação ao form, você economizará memória se utilizar uma picture box com AutoRedraw = true e BorderStyle = 0, enquanto o AutoRedraw do form será desativado (false).

Por Francesco Balena*

37 - VB3/VB4 - Lembra-se do SWAP?


Fiquei surpreso quando notei que no Visual Basic, o comando SWAP do Qbasic não havia sido implementado. Na rotina abaixo, que usei para ordenar um arquivo, o SWAP é simulado com strings, mas funciona com outros tipos de dado.

Private Sub Form_Load( )

Dim a,b As String * 4

Dim c As String * 4 ' variável para alternação (Swap)

a = "João"

b = "Francisco"

Debug.Print "Antes do swap: " & a & " " & b



c = a

a = b


b = c

Debug.Print "Após o swap: " & a & " " & b



End Sub

Por David Ferber*

38 - VB3/VB4 - Uma história de três beeps


Seus programas não estão executando instruções em VB4 como executavam em VB3? Tente isto , em Qbasic, VB3 e VB4.

BEEP: BEEP: BEEP

Ao depurar com passo (F8), este mui complexo código, você irá ouvir três Beeps, exceto no VB4. No VB4, palavras reservadas seguidas de dois pontos (:) são consideradas labels (rótulos de desvio).

Assim funciona:

Beep

Beep


Beep

E você ouvirá os tão esperados três beeps.



Por David Ferber*

39 - VB3/VB4 - Conversão de Nulos


Em consultas a bancos de dados, o retorno de uma variável, quando nula, poderá não ser 0 (numérico) ou "" (string). Geralmente se resolve assim:

If Not IsNull(myrecordset.myfield) Then

myvar = myrecordset.myfield

Else


myvar = ""

'myvar = 0, no caso de numéricos

End If

Uma forma mais simples é-



myvar = "" & myrecordset.myfield

Ou

myvar = val(0 & myrecordset.myfield) ' para numéricos



Por Garold Minkin* aperf. por Charles A. Müller

40 - VB4 - Determinando a classe de qualquer objeto


No VB4, o comando TypeOf trabalha com qualquer objeto válido. Exemplo:

'Esta rotina imprime informações específicas de objetos

Public Sub PrintObjectInfo (YourObject As Object)

If TypeOf YourObject Is CDesk then

Print "Object Type: Mesa"

Print "Número de pernas: " & YourObject.NumberOfLegs

ElseIf TypeOf YourObject Is CHouse Then

Print "Object Type: Casa"

Print "Número de portas: " & YourObject.NumberOfDoors

End If


'impressão das propriedades de mesmo nome

Print "Data de Venda: " & YourObject.Date

Print "Preço de Venda: " & YourObject.Price

'...


End Sub

Por Hassan Davis*, MicroHelp Inc

41 - VB4 - Identificando um controle genérico


Quando uma rotina pode trabalhar com muitos tipos de controles diferentes, a função TypeOF pode detectar o tipo de controle em tempo de execução:

Function MyFunc (ctl as Control)

If TypeOf ctl Is TextBox Then

'...

ElseIf TypeOf ctl Is CommandButton Then



'...

'...


End If

End Function

Este código funciona em VB3 e VB4. A diferença é que no VB4, além de controles e forms, qualquer objeto válido pode ser identificado. O VB4 adiciona ainda, a função TypeName que indica (numa string) o nome da classe do objeto:



Function MyFunc (ctl as Control)

Dim sClassType As String

'typeName é novidade do VB4

sClassType = TypeName(ctl)

Select Case sClassType

Case "TextBox"

'...

Case "CommandButton"



'...

'case ...

End Select

End Function

Os nomes das classes de controle, no ambiente do VB, aparecem na Properties Window (janela de propriedades, ao lado do nome do controle).



Por Senthil Shanmugham*


1   2   3   4   5   6   7   8   9   10   ...   14


©livred.info 2017
enviar mensagem

    Página principal