GURUS - OTIMIZACAO DE CODIGO II O RETORNO

USUARIO.EXCLUIDOS 08/03/2005 18:38:16
#71782


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]
USUARIO.EXCLUIDOS 08/03/2005 18:41:17
#71783
1Âê Dica
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!!!
FELIPEA 08/03/2005 19:17:44
#71794
Resposta escolhida
Eu não sou guru, mas posso dar dicas, né???????

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...
USUARIO.EXCLUIDOS 09/03/2005 10:14:49
#71861

Legal FelipeA, dica interessante!
Fique a vontade! o tópico é seu...
rsrsrsr.
USUARIO.EXCLUIDOS 09/03/2005 10:26:48
#71864
2Âê
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é +++
FELIPEA 09/03/2005 10:55:27
#71881
Acho q a metade do site ja viu, mas tá ai:
DICA PARA "FACILITAR SUA VIDA"
USUARIO.EXCLUIDOS 10/03/2005 09:02:43
#72085
Rotina Global para tratar erros em seus aplicativos

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

FELIPEA 10/03/2005 18:47:15
#72234
Gostei das suas dicas, Germanir
Principalmente aquele artigo sobre direitos e etc...
Tópico encerrado , respostas não são mais permitidas