none
excluir pasta

    Frage

  • boa tarde a todos

    pessoal criei um form para excluir pasta dentro da unidade C: mas nao estou conseguindo excluir nada

    veja bem ( A pasta será um nr. registro e contendo dentro um arquivo de txt com a senha armazenada ) representa um usuario que tem acesso ao programa, porem se este usuario esquecer a senha para ficar mais facil  p/ ele acessar novamente é melhor Eu excluir esta pasta e assim o usuario poderá cadastrar novamente.

    mas tem um porem o programa ja tem um form de " Senha Geral " para acesso ao programa só que o codigo deste form nao esta em um Form (module) visto que não sei como utilizar este processo, tbem acredito que seria mais facil colocando a verificaçao de senhas "usuario e administardor" dentro deste (module)

    EX: a pessoa pode entrar como "Usuario " e "Administrador"

    bom Eu preciso que o ( Form de exclusao de senha ) solicite a senha cadastrada como administrador

    detalhe tudo sem bd

    vou enviar o codigo do "Form Exclusao de Senha para analize fico grato pela atençao

    -----------------------------------------------------------------------------------------------------------------------------------------------------

    Public Class ExcSenha

        Private Sub BtnExcluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExcluir.Click
            Dim registro As String = TxtReg.Text

            If My.Computer.FileSystem.DirectoryExists("C:\registros\" & registro & "") = False Then

                MsgBox("O Registro Solicitado não existe!")
            Else
                MsgBox(" Registro Excluído com sucesso!")

                If TxtSenha.Text = ("admin") = False Then
                    If TxtSenha.Text = "" Then
                        MsgBox("Digite a senha do administrador!")
                    End If
                End If
            End If
            TxtReg.Text = ""
            TxtSenha.Text = ""
            TxtReg.Focus()

        End Sub
        Private Sub BtnLimpar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLimpar.Click
            TxtReg.Text = ""
            TxtSenha.Text = ""
            TxtReg.Focus()
        End Sub

        Private Sub ExcSenha_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        End Sub

        Private Sub TxtReg_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtReg.TextChanged
            TxtReg.Focus()

        End Sub
    End Class

    -------------------------------------------------------------------------------------------------------------------------------------------------

    bom nao excluir nada

    quando preencho o campo REGISTRO e deixo vazio o campo SENHA  Ele  mostra a msgbox  SUBLINHADA  e a msgbox em NEGRITO.

    quando preencho o campo REGISTRO e o campo SENHA  ( NÃO IMPORTANDO A SENHA) Ele  mostra a msgbox  SUBLINHADA

    Podem me ajudar?

     


    Antonio Carlos acefeli@hotmail.com
    Samstag, 30. Juli 2011 19:38

Antworten

  • Olá acefel.
    o caso dos campos vazios é que não validei os campos se estiverem vazios.
    Mais agora está validado.
    Essa alteração que você disse que fez é que eu importei algumas referências para facilitar a programação
    como no código abaixo.
    "Imports System.IO.File"
    "Imports System.IO"
    A variável "senha"  já recebe o TextBox referênte a senha digitada.
    Você quer pegar a senha que ele inseriu em outro form? claro da sim e é muito simples.
    uma das maneiras seria você criar uma variavel Global nesse Mesmo código a baixo chamado "SenhaADM" como criei abaixo.
    Ai no seu Form "Acesso Geral" quando ele inserir a senha correta do adm lá você manda a senha que ele digitou no Form "Acesso Geral" para esse form aqui onde se localiza o excluir.
    Bem como fazer isso?
    Meu exemplo abaixo o nome do Form é "Form1".
    Se fosse seguir o meu exemplo no seu Form "Acesso Geral" , quando ele digitar corretamente a senha do adm para entrar no sistema, você ponha esse código.
    Form1.senhaADM=txtsenha.text
    só isso.
    Imports System.IO.File
    Imports System.IO
    Public Class form1
     Public senhaADM As String
     'botão excluir
     Private Sub btnExcluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcluir.Click
     Dim registro As String = txtRegistro.Text
     Dim senha As String = txtSenha.Text
    
     Try
     'verifica se os campos não estão em branco
     If Trim(registro) <> "" And Trim(senha) <> "" Then
     'verifica se o registro existe
     If My.Computer.FileSystem.DirectoryExists("C:\registro\" & registro) = True Then
      If senhaADM = senha Then
      'deleta a pasta e tudo que estiver dentro dela
      Directory.Delete("C:\registro\" & registro & "\", True)
      MsgBox("Registro Excluido com sucesso!")
      Else
      MsgBox("Senha incorreta")
      End If
     Else
      MsgBox("Registro não existe!")
     End If
     Else
     MsgBox("Preencher campo Registro e senha")
     End If
     Catch ex As Exception
     MessageBox.Show(ex.Message)
     Finally
     txtRegistro.Text = ""
     txtSenha.Text = ""
     End Try
    
     End Sub
    End Class
    
    Espero ter ajudado.
    Qualquer dúvida só flar.
    att.

    Adriano M.Mizukoshi


    • Als Antwort markiert acefel Montag, 1. August 2011 19:59
    Sonntag, 31. Juli 2011 20:41

Alle Antworten

  •  

    if(System.IO.Directory.Exists("C:\\registros\\"+registro)) Then
    System.IO.Directory.Delete("C:\\registros\\"+registro)
    End if
    

     


    Samstag, 30. Juli 2011 20:32
  • colega este codigo nao ira excluir a pasta "registro"? veja bem preciso excluir somente a pasta indicada dentro do campo REGISTRO
    Antonio Carlos acefeli@hotmail.com
    Samstag, 30. Juli 2011 20:48
  • colega Vitor fiz igual sua solicitaçao veja  ai

    Public Class ExcSenha

        Private Sub BtnExcluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExcluir.Click
            Dim registro As String = TxtReg.Text
            If (System.IO.Directory.Exists("C:\\registros\\" + registro)) Then
                System.IO.Directory.Delete("C:\\registros\\" + registro)
            Else
                MsgBox(" Registro Excluído com sucesso!")

                MsgBox("O Registro Solicitado não existe!")
                If TxtSenha.Text = ("admin") = False Then
                    If TxtSenha.Text = "" Then
                        MsgBox("Digite a senha do administrador!")
                    End If
                End If
                End If
                TxtReg.Text = ""
                TxtSenha.Text = ""
                TxtReg.Focus()

        End Sub

    porem ele informa que a pasta não esta vazia e nem solicita a senha de autorizaçao


    Antonio Carlos acefeli@hotmail.com
    Samstag, 30. Juli 2011 21:23
  • Olá.

    Não falta um End If após esse teste? Senão sempre falará que o arquivo solicitado não existe.

    Não seria assim:

       Private Sub BtnExcluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExcluir.Click
            Dim registro As String = TxtReg.Text
            If (System.IO.Directory.Exists("C:\\registros\\" + registro)) Then
                System.IO.Directory.Delete("C:\\registros\\" + registro)

     

                MessageBox.Show(" Registro Excluído com sucesso!")

            Else

     

     MesasgeBox.Show("O arquivo soliocitado não existe.")

    End if

      If TxtSenha.Text <> "admin" then
                
     
    End If

       Eu não entendi o que quer fazer depois disso.E nem antes.


    Samstag, 30. Juli 2011 22:41
  • Olá acefel.

    Tenho um código que talvez possa te dar alguma idéia:

    Lembrando que esse código é continuação do mesmo projeto do anterior.

     

     Private Sub btnExcluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcluir.Click
      Dim registro As String = txtRegistro.Text
      Dim permissao As String = ""
      Dim senha As String = ""
      senha = 123
      Try
       'verifica se o registro existe
       If My.Computer.FileSystem.DirectoryExists("C:\registro\" & registro) = True Then
        'solicita Senha do ADM
        permissao = InputBox("Insira Senha do Administrador", "Senha do ADM", "")
        If Trim(permissao) = senha Then
         'deleta a pasta e tudo que estiver dentro dela
         Directory.Delete("C:\registro\" & registro & "\", True)
         MsgBox("Registro Excluido com sucesso!")
        Else
         MsgBox("Senha incorreta")
        End If
       Else
        MsgBox("Registro não existe!")
       End If
      Catch ex As Exception
       MessageBox.Show(ex.Message)
      Finally
       txtRegistro.Text = ""
      End Try
    
     End Sub
    

    Espero que possa te ajudar.

     

    Fico no Aguardo.

    Att.


    Adriano M.Mizukoshi

    Adriano M.Mizukoshi
    Sonntag, 31. Juli 2011 01:21
  • Boa tarde Adriano

    a principio precisei realizar uma pequena alteraçao nesta linha

    IO. Directory.Delete("C:\registro\" & registro & "\", True)

    bom em seguida após os ajustes testei com os campos vazio e mesmo assim ele ativou a msgbox de permissao

    estou quebrando a cabeça p/ ajustar esta linha

     mas veja bem se possivel for Eu  prefiro utilizar a cx txtSenha que esta no form e após inserir a senha ele realiza a açao recomendada .

    será possivel Eu realizar uma conecçao com a senha informada no form de Acesso Geral que Eu criei para acessar o programa?

    sendo assim Eu utilizaria somente um local para alterar a senha do admin.

    Grato pela atençao

     


    Antonio Carlos acefeli@hotmail.com

    Sonntag, 31. Juli 2011 17:56
  • Olá acefel.
    o caso dos campos vazios é que não validei os campos se estiverem vazios.
    Mais agora está validado.
    Essa alteração que você disse que fez é que eu importei algumas referências para facilitar a programação
    como no código abaixo.
    "Imports System.IO.File"
    "Imports System.IO"
    A variável "senha"  já recebe o TextBox referênte a senha digitada.
    Você quer pegar a senha que ele inseriu em outro form? claro da sim e é muito simples.
    uma das maneiras seria você criar uma variavel Global nesse Mesmo código a baixo chamado "SenhaADM" como criei abaixo.
    Ai no seu Form "Acesso Geral" quando ele inserir a senha correta do adm lá você manda a senha que ele digitou no Form "Acesso Geral" para esse form aqui onde se localiza o excluir.
    Bem como fazer isso?
    Meu exemplo abaixo o nome do Form é "Form1".
    Se fosse seguir o meu exemplo no seu Form "Acesso Geral" , quando ele digitar corretamente a senha do adm para entrar no sistema, você ponha esse código.
    Form1.senhaADM=txtsenha.text
    só isso.
    Imports System.IO.File
    Imports System.IO
    Public Class form1
     Public senhaADM As String
     'botão excluir
     Private Sub btnExcluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcluir.Click
     Dim registro As String = txtRegistro.Text
     Dim senha As String = txtSenha.Text
    
     Try
     'verifica se os campos não estão em branco
     If Trim(registro) <> "" And Trim(senha) <> "" Then
     'verifica se o registro existe
     If My.Computer.FileSystem.DirectoryExists("C:\registro\" & registro) = True Then
      If senhaADM = senha Then
      'deleta a pasta e tudo que estiver dentro dela
      Directory.Delete("C:\registro\" & registro & "\", True)
      MsgBox("Registro Excluido com sucesso!")
      Else
      MsgBox("Senha incorreta")
      End If
     Else
      MsgBox("Registro não existe!")
     End If
     Else
     MsgBox("Preencher campo Registro e senha")
     End If
     Catch ex As Exception
     MessageBox.Show(ex.Message)
     Finally
     txtRegistro.Text = ""
     txtSenha.Text = ""
     End Try
    
     End Sub
    End Class
    
    Espero ter ajudado.
    Qualquer dúvida só flar.
    att.

    Adriano M.Mizukoshi


    • Als Antwort markiert acefel Montag, 1. August 2011 19:59
    Sonntag, 31. Juli 2011 20:41