Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/09/2008, 07:28
Avatar de moradazo
moradazo
 
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 18 años, 4 meses
Puntos: 2
Visual Basic 2005: bucle FOR

Hola:

Tengo un problema al usar este bucle en una condición que tengo:

Resulta ser que tengo un listbox y un textbox. Los items del listbox al darle doble clic se agregaran en el textbox, pero para esto hay unas condiciones:

- Se agregara siempre y cuando no este repetido en el textbox.
- Siempre se agregara primero dos brincos de lineas mas el item del listbox
- Si es la primera vez que se agrega item, o sea si el textbox es NULL, se agregara el item sin los saltos de linea.

Un resultado de estas condiciones seria asi:

Código:
Foros del web, Temas generales de computación, programación, Visual Basic

San José, Costa Rica.

Martes 23 de setiembre de 2008
Tengo este código:

Código PHP:
 Private Sub agregar_enter()
        
Dim impar As String 'Indice del listbox'
        
Dim cadena As String 'Auxiliar para comparar cadena'
        
impar = ListBox.SelectedIndices.Item(0) 'Obtiene el número de fila'
        
If TextBox.Text = "" Then
         
'Primera condicion para saber si el textbox esta vacio'

            
cadena = ListBox.Items(impar) 
            
Dim a As Integer
            a 
= TextBox.Lines.Length 'Cantidad actual de líneas del textbox'
            
For i As Integer = 0 To a

            
'Esta condicion supone decir que desde el indice i hasta el maximo'
            'de lineas a, compare si cadena es diferente a la linea actual de texto'

                
If cadena <> TextBox.Lines(i) Then
            
'si es asi, pase el texto al textbox'

                    
TextBox.AppendText(cadena)
                Else
            
'si no, salga del sub'
                    
Exit Sub
                End 
If
            
Next
        
Else
               
cadena = ListBox.Items(impar)
            
Dim a As Integer
            a 
= TextBox.Lines.Length
            
For i As Integer = 0 To a
                
If cadena <> TextBox.Lines(i) Then
            
'Lo mismo que el anterior pero agregando lineas'

                    
TextBox.AppendText(vbnewline & vbnewline & cadena)
                Else
                    Exit 
Sub
                End 
If
            
Next
        End 
If
    
End Sub 
Si yo le quito el for y el if, si funciona pero omite repeticiones, para mi que el For es el que me está fallando, a ver si me pueden dar una mano en este problema que tengo, muchas gracias!