DUVIDA ARRAY

ALEVALE 20/03/2013 14:59:12
#420793
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
ALEVALE 20/03/2013 15:34:05
#420798
Sendo que meus item seriam strings
*MP3;*WMA etc...
ALEVALE 21/03/2013 12:51:10
#420865
Alguem ?? ?
PERCIFILHO 22/03/2013 07:50:50
#420896
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.
ALEVALE 22/03/2013 07:58:45
#420897
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.
ANTONIOBSJ 22/03/2013 09:05:17
#420902
IF Words(0) = SEUITEM THEN
<SEU COMANDO>...
ALEVALE 22/03/2013 10:28:15
#420909
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...
ANTONIOBSJ 22/03/2013 10:58:47
#420911
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
ALEVALE 22/03/2013 11:10:09
#420912
Até entendi mas eu não consigo fazer algo mais simples, tipo:

If words.index=0 then
Endif
ANTONIOBSJ 22/03/2013 13:16:52
#420914
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.
ALEVALE 22/03/2013 13:53:05
#420917
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.
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas