AUXÍLIO EM LÓGICA

LUART 14/12/2015 23:36:48
#455159
Tenho 5 arquivos; a.accdb, b.accdb, c.accdb, d.accdb e e.accdb
Como faço para se a.accdb não for detectado na pasta de instalação File.Exists(Application.StartupPath & [Ô]\a.accdb[Ô]) = false desabilite textboxes: txtb, txtc, txtd, txte (a mesma lógica para b.accdb, c.accdb, d.accdb e e.accdb)
na mesma lógica
como faço se a.accdb e b.accdb não forem detectados desabilite as texboxes txtc, txtd, txte (a lógica se repete com todas as [Ô]não detecções[Ô] de dois elementos).
Em seguida fazer a mesma lógica com [Ô]Não detecções[Ô] de todas as combinações de 3 elementos em 5 elementos e de 4 elementos em 5 elementos.
Se eu for usar if... elseif... endif vai ficar enorme.

Alguém tem alguma ideia de como desenvolver essa lógica sem que o código fique muito extenso?
KURTGU 14/12/2015 23:58:11
#455160
to sem vb aqui mais tenta ai kkkk

if File.Exists(Application.StartupPath & [Ô]\a.accdb[Ô]) = false then
txt1.enabled = false
elseif File.Exists(Application.StartupPath & [Ô]\b.accdb[Ô]) = false
txt2.enabled = false
elseif File.Exists(Application.StartupPath & [Ô]\c.accdb[Ô]) = false
txt3.enabled = false
Endif
JABA 15/12/2015 00:34:28
#455161
Citação:

Tenho 5 arquivos; a.accdb, b.accdb, c.accdb, d.accdb e e.accdb



Serão sempre 5 arquivos ou esse número pode aumentar?

Fiz um projetinho aqui de exemplo usando arquivos textos. Verifique se é isso que está precisando.

NICKOSOFT 15/12/2015 04:16:39
#455163
depende da logica, se o arquivo não for achado o seu text não deve aparecer? pq parece uma coisa qnd for um arquivo não encontrado, e qnd é mais de 1 muda....

se o arquivo esta relacionado ao text, um select case basta
LUART 18/12/2015 14:54:23
#455320
Citação:

:
Tenho 5 arquivos; a.accdb, b.accdb, c.accdb, d.accdb e e.accdb

Serão sempre 5 arquivos ou esse número pode aumentar?

Fiz um projetinho aqui de exemplo usando arquivos textos. Verifique se é isso que está precisando.



No meu enunciado coloquei errado oque eu estava pensando. O Correto é se a.accdb não for detectado (e b.accdb, c.accdb, d.accdb, e.accdb for detectado) então habilite o texbox [Ô]txta[Ô] e botão [Ô]buttona[Ô] com a função commondlg para selecionar arquivo para instalar um novo banco de dados.

Ficou assim:

Dim Diretorio As DirectoryInfo = New DirectoryInfo(Application.StartupPath) [ô]pasta do executável
Dim FileInfoCollection() As FileInfo
Dim FileInfo As FileInfo
Dim lista As New List(Of String)

FileInfoCollection = Diretorio.GetFiles([Ô]*.accdb[Ô])

For i As Integer = 0 To FileInfoCollection.Length() - 1
FileInfo = FileInfoCollection.GetValue(i)
lista.Add(FileInfo.Name)
Next

For i As Integer = 0 To lista.Count - 1
For Each controle As Control In Me.Controls
For Each controle2 As Control In Me.Controls
For Each controle3 As Control In Me.Controls
For Each controle4 As Control In Me.Controls
If TypeOf controle Is TextBox Then
If TypeOf controle2 Is Button Then
If TypeOf controle3 Is CheckBox Then
If TypeOf controle4 Is Label Then
If lista(i) = controle.Tag Then
controle.Enabled = False
If lista(i) = controle2.Tag Then
controle2.Enabled = False
If lista(i) = controle3.Tag Then
controle3.Enabled = False
If lista(i) = controle4.Tag Then
controle4.Enabled = False
End If
End If
End If
End If
End If
End If
End If
End If
Next
Next
Next
Next
Next


Obrigado à todos
JABA 19/12/2015 00:00:37
#455331
Fiz algumas alterações no projeto. Coloquei o nome de cada arquivo na Tag dos controles que serão controlados.
Verifique se era realmente isso que estava precisando.
Faça seu login para responder