LISTVIEW COM SIMBOLOS
Boa tarde a esta grande comunidade.
Preciso de ajuda para resolver um problema que me aparece e que ainda não descobri a solução.
O que eu pretendo é o seguinte:
1- tenho no form 1 listview , 1 botão e 1 imageList
2- consigo ver todos os ficheiros de um determinado directorio ou até mesmo apenas os que eu quero especificando a extenção( ex. *.txt)
O que eu pretendia que ele fizesse era algo deste género:
->Se o ficheiro existir no directório aparece
->Se o ficheiro não existir aparece assim:
Será possÃvel fazer isto em VB?? Agradeço desde já toda a ajuda que possam disponiblizar.
Apenas preciso de verificar os ficheiros da BD, ou seja ficheiros especificos, tipo database.accdb, comum.txt,cidades.txt
Código fonte da aplicação até agora:
Preciso de ajuda para resolver um problema que me aparece e que ainda não descobri a solução.
O que eu pretendo é o seguinte:
1- tenho no form 1 listview , 1 botão e 1 imageList
2- consigo ver todos os ficheiros de um determinado directorio ou até mesmo apenas os que eu quero especificando a extenção( ex. *.txt)
O que eu pretendia que ele fizesse era algo deste género:
->Se o ficheiro existir no directório aparece
->Se o ficheiro não existir aparece assim:
Será possÃvel fazer isto em VB?? Agradeço desde já toda a ajuda que possam disponiblizar.
Apenas preciso de verificar os ficheiros da BD, ou seja ficheiros especificos, tipo database.accdb, comum.txt,cidades.txt
Código fonte da aplicação até agora:
Imports System
Imports System.Windows.Forms
Imports System.IO
Public Class Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Try
Dim diretorio As New DirectoryInfo(Application.StartupPath)
Dim arquivos As FileInfo() = diretorio.GetFiles([Ô]Comum.txt[Ô]) [ô]caso queira ver tudo altero para ([Ô]*[Ô])
Dim arquivo As IO.FileInfo
Dim imageListSmall As New ImageList()
If File.Exists(Application.StartupPath) Then
For Each arquivo In arquivos
ListView1.Items.Add(arquivo.Name, 1)
Next
Else
For Each arquivo In arquivos
ListView1.Items.Add(arquivo.Name, 0)
Next
End If
Catch ex As Exception
End Try
End Sub
End Class
Cara,
Não existe a possibilidade do ListView mostrar imagens da segunda coluna em diante.
Ele só mostra imagens em forma de Ãcone na primeira coluna.
Aqui tem um exemplo de como você pode contornar isso:
No exemplo, quando retornar false ele mostra uma caixa vazia. se você quiser modificá-la para uma caixa com um [Ô]x[Ô] dentro, é só trocar [txt-color=#0000f0]Chr(168)[/txt-color] por [txt-color=#0000f0]Chr(120)[/txt-color] dentro do código do Botão.
Não existe a possibilidade do ListView mostrar imagens da segunda coluna em diante.
Ele só mostra imagens em forma de Ãcone na primeira coluna.
Aqui tem um exemplo de como você pode contornar isso:
LISTVIEW - COLUNA COM CHECKBOX
No exemplo, quando retornar false ele mostra uma caixa vazia. se você quiser modificá-la para uma caixa com um [Ô]x[Ô] dentro, é só trocar [txt-color=#0000f0]Chr(168)[/txt-color] por [txt-color=#0000f0]Chr(120)[/txt-color] dentro do código do Botão.
~
Obrigado pelo esclarecimento
Obrigado pelo esclarecimento
Mas é possÃvel com texto certo?
Por exemplo mostrar um X se ele não existir e um visto ou OK se ele existir. Como faço isso para vários ficheiros dentro de um directório?
Por exemplo mostrar um X se ele não existir e um visto ou OK se ele existir. Como faço isso para vários ficheiros dentro de um directório?
Deve ser isto o que procura.
Teste e retorne o resultado no fórum.
Copie o código abaixo e cole no evento Load do Form.
Obs.: Perceba que o nome do controle Listview é ListView1.
Teste e retorne o resultado no fórum.
Copie o código abaixo e cole no evento Load do Form.
Obs.: Perceba que o nome do controle Listview é ListView1.
Dim simbolo As Boolean = False
Dim minhaFonteWingdings As New System.Drawing.Font([Ô]Wingdings 2[Ô], 12, FontStyle.Regular)
With ListView1
For iArq As Integer = 0 To 15
.Items.Add(String.Concat([Ô]Arquivo [Ô], iArq + 1.ToString([Ô]00[Ô]), [Ô].txt[Ô]))
.Items(iArq).UseItemStyleForSubItems = False
If simbolo = True Then
.Items(iArq).SubItems.Add([Ô]P[Ô])
simbolo = False
Else
.Items(iArq).SubItems.Add([Ô]O[Ô])
simbolo = True
End If
.Items(iArq).SubItems.Item(1).Font = minhaFonteWingdings
Next iArq
End With
Obrigado Tecla, mas isso apenas funciona em ficheiros com apenas uma extensão certo?
O problema é que eu queria mostrar não apenas um txt, mas também queria verificar a existência de dll[ô]s e da base de dados accdb.
Formulário onde aparece a lista :
A lista de Ficheiros a mostrar se existem :
O código que tenho até agora é o seguinte:
Como podes ver o teu código funciona bem no meu caso porque a maioria dos ficheiros a verificar são apenas DLL[ô]s, mas ainda tenho a base de dados ( Database.accdb) para verificar.Posso usar a mesma rotina para ela?
Obrigado pela tua ajuda.
O problema é que eu queria mostrar não apenas um txt, mas também queria verificar a existência de dll[ô]s e da base de dados accdb.
Formulário onde aparece a lista :
A lista de Ficheiros a mostrar se existem :
O código que tenho até agora é o seguinte:
Imports System.IO
Public Class FrmConfigs
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim item1 As New ListViewItem([Ô]MyFarmsLibraryFunctions.dll[Ô])
If My.Computer.FileSystem.FileExists(Application.StartupPath & [Ô]/MyFarmsLibraryFunctions.dll[Ô]) = True Then
item1.SubItems.Add([Ô]Usado no controlo e registro das Farms[Ô])
item1.SubItems.Add([Ô]√[Ô])
Else
item1.SubItems.Add([Ô]Usado no controlo e registro das Farms[Ô])
item1.SubItems.Add([Ô]Χ[Ô])
End If
ListView1.Items.Add(item1)
[ô]Χ/√
End Sub
Private Sub FrmConfigs_Load(sender As Object, e As EventArgs) Handles MyBase.Load
[ô]Χ/√
ListView1.View = View.Details
ListView1.Items.Clear()
ListView1.Columns.Clear()
ListView1.Columns.Add([Ô]Ficheiro[Ô], 80, HorizontalAlignment.Left) [ô]CREATE COLOUMS AT RUN TIME
ListView1.Columns.Add([Ô]Utilizado para[Ô], 150, HorizontalAlignment.Center)
ListView1.Columns.Add([Ô]Χ/√[Ô], 60, HorizontalAlignment.Center)
End Sub
End Class
Como podes ver o teu código funciona bem no meu caso porque a maioria dos ficheiros a verificar são apenas DLL[ô]s, mas ainda tenho a base de dados ( Database.accdb) para verificar.Posso usar a mesma rotina para ela?
Obrigado pela tua ajuda.
Tópico encerrado , respostas não são mais permitidas