NuGuN Posted July 17, 2006 at 04:23 PM Report #38667 Posted July 17, 2006 at 04:23 PM Boas, desde já quero agradecer ao Tyagus por disponibilizar as funções por ele desenvolvidas (http://www.portugal-a-programar.pt/index.php?showtopic=3578). Parto do principio do que o leitor sabo o que é e como funciona uma Class Module Neste pequeno tut vou esplicar como se pode fazer um Template no VB6 neste caso com Class Module's. Eu apenas vou esplicar como fazer com Class Module's mas, tambem dá para fazer com Forms, Projects, etc. O funcionamento é o mesmo, apenas se alteram os directórios. Para quem não sabe o que é um Template em VB6, passo a explicar. Quando abrem o VB6 aparece aquela pequena janela com vários tipos de projecto, issu são Template's. Quando adicionam uma nova Form ou um novo Module ao projecto, tambem vos aparece essa janela com os vários tipos de Forms ou de Modules, issu tambem são Templates. Istu tem bastante utilidade, imaginem que nos vossos programas precisão constantemente de trabalhar com ficheiros(Copiar, apagar, mover, etc..). Sem a utilização de uma Class Module teriam que escrever o código a cada vez que precisassem dele, utilizando uma Class Module o mesmo não sucede. Vamos ao que intereça 🙂 Abrimos um novo projecto(Standard Project). Remove-se a Form1 que o VB cria automaticamente Adiciona-se uma Class Module No nome da Class Module Meter clsFuncitons Dentro da nova Class Module insiram as funções a utilizar neste caso são as que o Tyagus disponibilizou, e com umas pequenas alterações minhas : Option Explicit Public Sub SelectFuntion(Flag, Dir1 As String, Dir2 As String, Options As Boolean) Select Case Flag Case "MakeDir" MakeDir Dir1 Case "DeleteDir" DeleteDir Dir1 Case "DelFilesInDir" DelFilesInDir Dir1, Options Case "MoveFile" MoveFile Dir1, Dir2 Case "CopyFile" CopyFile Dir1, Dir2 Case "DeleteFile" DeleteFile Dir1 Case "ExecuteFile" ExecuteFile Dir1 End Select End Sub Private Sub MakeDir(DirPath As String) 'Criar directorio On Error GoTo error MkDir DirPath$ Exit Sub error: MsgBox Err.Description, vbExclamation, "Erro" End Sub Private Sub DeleteDir(DirPath As String) 'Apagar um directorio On Error GoTo error RmDir DirPath$ Exit Sub error: MsgBox Err.Description, vbExclamation, "Erro" End Sub Private Sub DelFilesInDir(DirPath As String, DelDir As Boolean) 'Apagar todos os ficheiros de um directorio e (opcional) também apagar o directorio On Error GoTo error Kill DirPath$ & "*.*" If DelDir = True Then RmDir DirPath$ End If Exit Sub error: MsgBox Err.Description, vbExclamation, "Erro" End Sub Private Sub MoveFile(StartPath As String, EndPath As String) 'Mover um ficheiro On Error GoTo error FileCopy StartPath$, EndPath$ Kill StartPath$ Exit Sub error: MsgBox Err.Description, vbExclamation, "Erro" End Sub Private Sub CopyFile(StartPath As String, EndPath As String) 'Copiar um ficheiro On Error GoTo error FileCopy StartPath$, EndPath$ Exit Sub error: MsgBox Err.Description, vbExclamation, "Erro" End Sub Private Sub DeleteFile(FilePath As String) 'Apagar um ficheiro On Error GoTo error Kill FilePath$ Exit Sub error: MsgBox Err.Description, vbExclamation, "Erro" End Sub Private Sub ExecuteFile(FilePath As String) 'Executar um ficheiro On Error GoTo error Dim ret As Long ret = Shell("rundll32.exe url.dll,FileProtocolHandler " & (FilePath)) Exit Sub error: MsgBox Err.Description, vbExclamation, "Erro" End Sub Em seguida guardem APENAS A Class Module(File->Save clsFunctions As) neste directório Directório_Do_Visual Studio\Microsoft Visual Studio\VB98\Template\Classes. E ja temos o Template da Class Module feito 🙂 Agora vamos-lhe dar uzo 🙂 Abrir um novo projecto no VB6(Standard EXE) Adicionar uma nova Class Module, e se tudo estiver bem, na janela que nos mostra os varios tipos de Class Module's vai nos aparecer a que criamos(clsFuntions) Adiciona mula ao nosso Projecto Para utilizar esta Class Module basta a seguinte linha de código(sem contar com a declaração das variaveis que são mais 2 linhas): varFuntions.SelectFuntion cmbFlags.Text, txtDir1.Text, txtDir2.Text, varOptions Onde: varFuntions é a variavel que se declarou As clsFunction cmbFlags.Text é a Flag a utilizar ou seja, serve para escolher a função(copiar um ficheiro, criar um directório, etc..) txtDir1.Text e txtDir2.Text são dois directórios utilizados para licalizar os ficheiros ou pastas a ciar, apagar, mover ou copiar. varOptions serve apenas para a função DelFilesInDir e que dependendo so seu valor apaga ou não o directório onde se encontram os ficheiros. E é só istu, podia estar melhor organizado mas eu tambem não tenho muito geito 🙂 Vou deixar o programa completo para analizarem melhor 😄 Alguma duvida.. é só perguntarem 🙂
Tyagus Posted July 28, 2006 at 01:09 PM Report #40734 Posted July 28, 2006 at 01:09 PM Muito bom... Bom trabalho... assim fica muito mais completa... 👍
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now