GURUS - OTIMIZACAO DE CODIGO II O RETORNO

Boa Tarde estou reabrindo novamente o tópico "[txt-color=#0000ff]Gurus Otimização de Código[/txt-color]", para continuar a grande tarefa de repartir informações sobre otimização do código em VB, conto com todos os Feras que nos AJUDARAM (ILUMINARAM) no tópico passado, para continuar a luta voltada ao melhor aproveitamento de processos e tarefas! Convido a Todos os amigos de VBMANIA a participarem!, Todos estão autorizados a questionar, indicar, discutir sobre quaisquer assuntos relacionados ao Tema! Conto com a ajuda de vocês! Com certeza a comunidade será mais uma vez beneficiada pela boa e saudosa compreensão e atenção dos nossos queridos Feras em VB.
[txt-color=#008000]Está aberto então![/txt-color]
Citação:Saiba a importancia de Declarar as VARIÃ ÂVEIS
Interessante!
Use o código abaixo para fazer os testes, veja que é o mesmo código porem num momento não estou usando um variáveis declaradas e não outro sim.
Dim dDeclarada1 As Double, dDeclarada2 As Double
Dim dTest As Double
'Teste sem váriaveis declaradas
vTempoGasto = Timer
Screen.MousePointer = vbHourglass
For vTest = 1 To 999999
vVariant1 = Rnd() * 100
vVariant2 = vVariant1 ^ vVariant2
vVariant2 = Cos(Sin(vVariant1) * Log(vTest))
vVariant2 = vVariant1 ^ vVariant2
vVariant2 = Sin(Sin(vVariant1) * Log(vTest))
Next
vtime = Timer - vTempoGasto
MsgBox "Tempo " & Format(vtime, "###.0000")
Screen.MousePointer = vbDefault
Segundo codigo
vTempoGasto = Timer
'Teste com váriaveis declaradas
Screen.MousePointer = vbHourglass
For dTest = 1 To 999999
dDeclarada1 = Rnd() * 100
dDeclarada2 = dDeclarada1 ^ dDeclarada2
dDeclarada2 = Cos(Sin(dDeclarada1) * Log(dTest))
dDeclarada2 = dDeclarada1 ^ dDeclarada2
dDeclarada2 = Sin(Sin(dDeclarada1) * Log(dTest))
Next
vtime = Timer - vTempoGasto
MsgBox "Tempo " & Format(vtime, "###.0000")
Screen.MousePointer = vbDefault
Observe os resultados :
Micro usado : P IV 1.6 Mhz com 128 de DDR
Tempo Gasto com variáveis não declaradas : 3,53
Tempo Gasto com variáveis declaradas : 2,54
Micro usado : K6-2 500 Mhz com 64 de DIMM
Tempo Gasto com variáveis não declaradas : 11,488
Tempo Gasto com variáveis declaradas : 8,133
Os testes foram feitos dentro do IDE do VB. Estas diferenças de tempo ocorrem porque quando o tipo é Variant o VB terá de converter a variável para receber de forma correta o valor inserido.
OBS:
Dim I, J as Integer
Neste caso só a variável J é integer a outra é do tipo Variant, faça o teste.
I = "A"
J = "A"
Na primeira variável o Visual Basic irá preparará a variável para receber o valor pois é do tipo Variant e isto faz com que seja gasto algum tempo. Na segunda variável terá o seguinte erro : "Type mismatch" pois por ser numérica não poderá receber uma String.
Até mais!!!
Se a resposta for sim ou não, ta aà minha dica:
Citação:USANDO AS FLAGS NO COMMONDIALOG
Flags no site: http://www.thecoffeeplace.com/om/aaaaaacv.html
As flags no CommonDialog é muito bom de usar, pois eles são instruções auxiliares. Umas flags desse site mostra como: Abrir mais de um arquivo, dar um aviiso de que o arquivo existe e perguntar se vai substituir, etc...
Exemplos abaixo:
Citação:PERMITIR MULTISELECT:
&H200 | dlOFNAllowMultiselect
Permite selecionar + de um arquivo
CommonDialog1.flags = &H200
Citação:AVISAR SE O ARQUIVO JA EXISTE E PERGUNTAR SE VAI SUBSTITUI-LA:
&H2000 | cdlOFNCreatePrompt
Aparece um aviso avisando que o arquivo existe e pergunta se deseja substituir - UTIL
CommonDialog1.flags = &H2000
Entre outras...


Legal FelipeA, dica interessante!
Fique a vontade! o tópico é seu...
rsrsrsr.
Citação:Aposto que todos já sofreram ao ter que adicionar inúmeros arquivos (Forms, módulos e classes) a um projeto, da maneira trradicional .
Mas existe uma forma mais prática !
Com o projeto aberto, abra o Windows Explorer, selecione os arquivos desejados e arraste-os para o VB e solte-os no Project Explorer.
Todos serão adicionados ao projeto automaticamente.
Até +++
DICA PARA "FACILITAR SUA VIDA"
Private Sub MinhaFunction()
'**********************************************************
'Ponha isto em cada função, mudando o nome ali no tratamento de erro Ok!
On Error GoTo GlobalErrorTreat:
GlobalErrorTreat:
If Err <> 0 Then
Call GlobalErros("MinhaFunction") ' vc pode criar uma constante com o mome de cada form para te facilitar a vida
Exit Sub ' ou exit function
End If
'**********************************************************
Dim x As Integer
Dim a As String
Dim r As Boolean
a = "a"
x = 1
r = a * x 'gera um erro
MsgBox r
End Sub
'Em um MODULE
Public Sub GlobalErros(Optional LocaldoErro As String = "Desconhecido")
MsgBox "Houve um erro interno:" & vbCrLf & vbCrLf & _
"Número do erro:" & Err.Number & vbCrLf & _
"Descrição :" & Err.Description & vbCrLf & _
"Origem :" & Err.Source & " / " & LocaldoErro
Err.Clear
Exit Sub
End Sub
Principalmente aquele artigo sobre direitos e etc...