https://foro.gambas-es.org/viewtopic.php?f=5&t=5542
-----------------------------------
tincho
Viernes, 10 Junio 2016, 21:55

Ejercicio Con String[]
-----------------------------------
Hola.
Hace tiempo que utilizo listas string[] para diferentes usos dentro del codigo y la verdad que son muy útiles.
El post este los pongo para presentar un tema practico que es el de quitar ítems de la lista.
El caso 1 es para quitar texto igual al parametro pasado y el caso 2 es para texto que contenga la cadena que se le pase como parametro.
El caso 1 (=) logre hacerlo funcionar sin problemas, pero el caso 2 (inStr) se resiste.

Dejo el código adjuntado.

Saludos.


-----------------------------------
Shell
Sabado, 11 Junio 2016, 09:22

Re: Ejercicio Con String[]
-----------------------------------
Hola Tincho.

Yo usaría dos listas.

Ingresa los que son similares en una lista de eliminados.
Luego busca cada elemento de la lista de eliminados en stxList y entones elimina los que son iguales.
De esa forma no tendrás problemas. 

No se pude cambiar el contenido de una lista mientras iteras sobre ella.

Proponte este ejercicio. Tienes una lista de números y quieres eliminar los que son impares.
Con el mismo método que has hecho al principio, realiza el ejercicio y comprobaras que tienes el mismo problema.

Saludos


-----------------------------------
Shell
Sabado, 11 Junio 2016, 09:25

Re: Ejercicio Con String[]
-----------------------------------
Por cierto Tincho, yo he usado 0, no -1 para instr.  :???: 

[code linenumbers=false syntax=gambas]
Public Sub btnRemove2_Click()
  ''Quita de la lista los textos que tengan la cadena de texto del txtbox

  Dim strItem As String
  Dim strFind As String
   
  Dim listaeliminados As New String[]

  strFind = txoString.Text

  For Each strItem In stxList
    If InStr(Trim(strItem), Trim(strFind)) <> 0 Then   
      listaeliminados.Add(strItem)
    Endif
  Next
 
  For Each strItem In listaeliminados
    If stxList.Find(strItem) <> 0 Then
      stxList.Remove(stxList.Find(strItem))
    Endif
  Next

  txoString.Text = ""

  Lista()

End
[/code]

Saludos


-----------------------------------
tincho
Sabado, 11 Junio 2016, 17:58

Re: Ejercicio Con String[]
-----------------------------------
[quote user="Shell" post="32824"]Por cierto Tincho, yo he usado 0, no -1 para instr.  :???:[/quote]
Si la pifie ahi, jaja. :roll: 
Bueno acá el código de como quedo, funciona todo.
Quitar duplicados
Quitar =
Quitar los que contienen una cadena

Saludos.


