DUVIDA ARRAY
Pessoal estou com uma duvida simples mas não achei a solução ainda.
Eu quero saber como eu faço para verificar se o item atual é o primeiro item do array.
Dim words As String() = strExtensoesProcura.Split(New Char() {[Ô];[Ô]})
Dim word As String
For Each word In words
if words.????=0 then
Else
End if
Next
Eu quero saber como eu faço para verificar se o item atual é o primeiro item do array.
Dim words As String() = strExtensoesProcura.Split(New Char() {[Ô];[Ô]})
Dim word As String
For Each word In words
if words.????=0 then
Else
End if
Next
Sendo que meus item seriam strings
*MP3;*WMA etc...
*MP3;*WMA etc...
Alguem ?? ?
words(0) - é o primeiro item
words(1) - é o segundo
e assim por diante.
Não seria mais ou menos assim:
If words(0) = [Ô]MP3[Ô] then .....
ElseIf words(1) = [Ô]MP4[Ô] then .....
Endif
Até mais.
words(1) - é o segundo
e assim por diante.
Não seria mais ou menos assim:
If words(0) = [Ô]MP3[Ô] then .....
ElseIf words(1) = [Ô]MP4[Ô] then .....
Endif
Até mais.
Na realidade não quero verificar o conteúdo (MP3) somente se o mesmo é o primeiro item, pois a string (MP3) nem sempre vai ser a primeira.
Por isso quero verificar somente se é o primeiro item do array e não em si o seu conteúdo.
Mas vou testar.
Por isso quero verificar somente se é o primeiro item do array e não em si o seu conteúdo.
Mas vou testar.
IF Words(0) = SEUITEM THEN
<SEU COMANDO>...
<SEU COMANDO>...
A questão não é [Ô]SABER O VALOR DO ITEM[Ô]
E sim somente se é o primeiro item do Array sem pegar o valor.
Porque quando for o primeiro item do array eu vou fazer um concatenação quando for os demais não irei.
O problema é que não posso verificar o CONTEUDO do array pois nem sempre vai o mesmo valor para a string, por isso quero pegar somente se é o primeiro index do array.
If words(0)= true then
Comando
Else
Endif
Tentei mas não funcionou...
E sim somente se é o primeiro item do Array sem pegar o valor.
Porque quando for o primeiro item do array eu vou fazer um concatenação quando for os demais não irei.
O problema é que não posso verificar o CONTEUDO do array pois nem sempre vai o mesmo valor para a string, por isso quero pegar somente se é o primeiro index do array.
If words(0)= true then
Comando
Else
Endif
Tentei mas não funcionou...
Alevale,
Acho que entendi sua dúvida. Veja se isso te ajuda:
Private Sub Command1_Click()
Dim words(10) As String
Dim Primeira_Posicao As Integer
Dim Ultima_Posicao As Integer
Dim I As Integer
Primeira_Posicao = LBound(words) [ô]Pega a primeira posicao do vetor
Ultima_Posicao = UBound(words) [ô]Pega a ultima posicao do vetor
For I = -10 To 20 Step 1
If I >= Primeira_Posicao And I <= Ultima_Posicao Then
If I = Primeira_Posicao Then
MsgBox [Ô]Estou na primeira posição do vetor[Ô], vbExclamation
ElseIf I = Ultima_Posicao Then
MsgBox [Ô]Estou na última posição do vetor[Ô], vbExclamation
Else
MsgBox [Ô]Estou em qualquer outra posição do vetor[Ô], vbExclamation
End If
Else
MsgBox [Ô]Estou fora do vetor[Ô], vbExclamation
End If
Next I
End Sub
Acho que entendi sua dúvida. Veja se isso te ajuda:
Private Sub Command1_Click()
Dim words(10) As String
Dim Primeira_Posicao As Integer
Dim Ultima_Posicao As Integer
Dim I As Integer
Primeira_Posicao = LBound(words) [ô]Pega a primeira posicao do vetor
Ultima_Posicao = UBound(words) [ô]Pega a ultima posicao do vetor
For I = -10 To 20 Step 1
If I >= Primeira_Posicao And I <= Ultima_Posicao Then
If I = Primeira_Posicao Then
MsgBox [Ô]Estou na primeira posição do vetor[Ô], vbExclamation
ElseIf I = Ultima_Posicao Then
MsgBox [Ô]Estou na última posição do vetor[Ô], vbExclamation
Else
MsgBox [Ô]Estou em qualquer outra posição do vetor[Ô], vbExclamation
End If
Else
MsgBox [Ô]Estou fora do vetor[Ô], vbExclamation
End If
Next I
End Sub
Até entendi mas eu não consigo fazer algo mais simples, tipo:
If words.index=0 then
Endif
If words.index=0 then
Endif
A função LBound(words) identifica a primeira posição do seu vetor, independente do que esteja nele. Só quis te dar um exemplo mais completo.
Desculpa minha ignorância mas não consegui aplicar no meu projeto, poderia dar uma olhada.
Words=[Ô]*.MP3;*.WMA;*.WMV[Ô] etc...
Dim words As String() = strExtensoesProcura.Split(New Char() {[Ô];[Ô]})
Dim word As String
Dim intArquivos As Integer
Dim dirs() As String = System.IO.Directory.GetLogicalDrives()
Dim i As Long
Dim x As New clsProcuraArquivos()
[ô]ROTINA DE BUSCA DISCO LOCAL
For i = dirs.GetLowerBound(0) To dirs.GetUpperBound(0)
For Each word In words
Dim Primeira_Posicao As Integer
[ô]TIPO DE DISCO FIXO
If (System.IO.DriveInfo.GetDrives(i).DriveType = DriveType.Fixed = True And dirs(i) = [Ô]C:\[Ô]) Then
strEmailNomeArquivosEncontrados = [Ô][Ô]
[ô]FUNÇÃO DE BUSCA
[ô]x.Search(dirs(i), word)
[ô]GRAVA TXT
If LBound(words) = 0 Then
fluxoTexto = New IO.StreamWriter(strDiretorioArmazenamento & [Ô]LOGS\[Ô] & strNomeEstacaoUsuario & [Ô].txt[Ô], True)
fluxoTexto.WriteLine([Ô][DISCO [Ô] & dirs(i) & [Ô]][Ô] & [Ô] [Ô])
fluxoTexto.WriteLine([Ô]ARQUIVOS COM EXTENSÃO [Ô] & word)
Else
fluxoTexto = New IO.StreamWriter(strDiretorioArmazenamento & [Ô]LOGS\[Ô] & strNomeEstacaoUsuario & [Ô].txt[Ô], True)
fluxoTexto.WriteLine([Ô][DISCO [Ô] & dirs(i) & [Ô]][Ô] & [Ô] [Ô])
fluxoTexto.WriteLine([Ô]ARQUIVOS COM EXTENSÃO [Ô] & word)
End If
Next
Next
Ele sempre vai entrar no if porque sempre vai ser verdadeiro.
Words=[Ô]*.MP3;*.WMA;*.WMV[Ô] etc...
Dim words As String() = strExtensoesProcura.Split(New Char() {[Ô];[Ô]})
Dim word As String
Dim intArquivos As Integer
Dim dirs() As String = System.IO.Directory.GetLogicalDrives()
Dim i As Long
Dim x As New clsProcuraArquivos()
[ô]ROTINA DE BUSCA DISCO LOCAL
For i = dirs.GetLowerBound(0) To dirs.GetUpperBound(0)
For Each word In words
Dim Primeira_Posicao As Integer
[ô]TIPO DE DISCO FIXO
If (System.IO.DriveInfo.GetDrives(i).DriveType = DriveType.Fixed = True And dirs(i) = [Ô]C:\[Ô]) Then
strEmailNomeArquivosEncontrados = [Ô][Ô]
[ô]FUNÇÃO DE BUSCA
[ô]x.Search(dirs(i), word)
[ô]GRAVA TXT
If LBound(words) = 0 Then
fluxoTexto = New IO.StreamWriter(strDiretorioArmazenamento & [Ô]LOGS\[Ô] & strNomeEstacaoUsuario & [Ô].txt[Ô], True)
fluxoTexto.WriteLine([Ô][DISCO [Ô] & dirs(i) & [Ô]][Ô] & [Ô] [Ô])
fluxoTexto.WriteLine([Ô]ARQUIVOS COM EXTENSÃO [Ô] & word)
Else
fluxoTexto = New IO.StreamWriter(strDiretorioArmazenamento & [Ô]LOGS\[Ô] & strNomeEstacaoUsuario & [Ô].txt[Ô], True)
fluxoTexto.WriteLine([Ô][DISCO [Ô] & dirs(i) & [Ô]][Ô] & [Ô] [Ô])
fluxoTexto.WriteLine([Ô]ARQUIVOS COM EXTENSÃO [Ô] & word)
End If
Next
Next
Ele sempre vai entrar no if porque sempre vai ser verdadeiro.
Tópico encerrado , respostas não são mais permitidas