Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Al Abrir Un Archivo Me Multiplica Por 121 Los Datos.
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Al Abrir Un Archivo Me Multiplica Por 121 Los Datos. 
 
Hola a todos, en mi aplicacion al importar un archivo me tomo la libertad de dividirlo en varias partes para que asi pueda cargarlo en los 2 listbox independientes, en cada uno su dato correspondiente, pero no se como el echo de importar me multiplica por 121 los datos, en un principio lo hacia por 404, luego por 202, y ahora por 121, pero ya no logro que no me cree tantas veces los mismos datos.

Este es mi codigo, el boton 8 es importar y el 9 el de guardar, por si os ayuda.

Uso el gambas 2.20.2 en ubuntu karmic y uso los QT pero con GTK pasa lo mismo.

Aqui el codigo:
PUBLIC SUB Button8_Click()

  DIM content AS String[]
  DIM index AS Integer
  DIM index2 AS String
  DIM index3 AS String
  DIM index4 AS String

  IF ListBox1.Count > 0 THEN
  Message.Info("Aun hay " & ListBox1.Count & " preguntas en la lista." & Chr$(13) & "Vaciala primero.")
  ELSE
  Dialog.Title = "Escoje el archivo"
  Dialog.Filter = ["*.faq", "Archivo FAQ", "*", "Todos los archivos"]
  IF Dialog.OpenFile() THEN RETURN
  content = Split(File.Load(Dialog.Path), Chr$(13), "", TRUE)

  FOR index = 0 TO 200
  index2 = index
  index3 = index & ". "
  index4 = index & ". "
  FOR EACH index2 IN content
    FOR EACH index3 IN content
    ListBox1.Add(index3)
    NEXT
    FOR EACH index4 IN content
    ListBox2.Add(index4)
    NEXT
  NEXT
  index += 1
  NEXT
  MComun.Valor = ListBox1.Count
  ValueBox1.Value = MComun.Valor
  ProgressBar1.Value = MComun.Valor / 200
  TextArea1.SetFocus
  TextArea1.Text = ListBox1[1].Text
  TextArea2.Text = ListBox2[1].Text
  CATCH
  Message.Info("No se pudo importar:\n" & Dialog.Path & "\n" & Error.Text)
  ENDIF

END

PUBLIC SUB Button9_Click()

  DIM content AS String
  DIM index AS Integer

  IF ListBox1.Count > 0 THEN

  FOR index = 0 TO ListBox1.Count - 1

  content = content & index & ". "
  content = content & ListBox1.List[index]
  content = content & Chr$(13)
  content = content & index & ". "
  content = content & listbox2.List[index]
  content = content & Chr$(13)

  NEXT

  Dialog.Title = "Guardar la FAQ (*.txt)"
  Dialog.Filter = ["*.faq", "Archivo FAQ"]
  IF Dialog.SaveFile() THEN RETURN
  File.Save(Dialog.Path & ".faq", content)
  TextArea1.SetFocus
  CATCH
  Message.Info("No se pudo guardar:\n" & Dialog.Path & "\n" & Error.Text)
  ELSE
  Message.Info("No hay contenido a guardar")
  ENDIF

END


Esto es todo el codigo de ambos botones, y supone casi el 25% de la aplicacion. Si sabeis decirme como corregir para que me liste bien los datos, al numero de elementos exactos, yo corregire unos aspectos.
 




===================
The best open source software in CaosG
 
última edición por Emmet el Lunes, 28 Junio 2010, 21:01; editado 1 vez 
Emmet - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Al Abrir Un Archivo Me Multiplica Por 121 Los Datos. 
 
Bueno ya resolvi las gigantescas multiplicaciones, ahora simplemente los duplica, y creo que lograre terminar de corregir ese aspecto.

Aqui el codigo ya "arreglado":

PUBLIC SUB Button8_Click()

  DIM content AS String[]
  DIM index AS Integer
  DIM index2 AS String
  DIM index3 AS String
  DIM index4 AS String

  IF ListBox1.Count > 0 THEN
  Message.Info("Aun hay " & ListBox1.Count & " preguntas en la lista." & Chr$(13) & "Vaciala primero.")
  ELSE
  Dialog.Title = "Escoje el archivo"
  Dialog.Filter = ["*.faq", "Archivo FAQ", "*", "Todos los archivos"]
  IF Dialog.OpenFile() THEN RETURN
  content = Split(File.Load(Dialog.Path), Chr$(13), "", TRUE)

  FOR index = 0 TO 200
  index2 = index
  index3 = index & ". "
  index4 = index + 200
  IF index < 200 THEN
    FOR EACH index3 IN content
    IF ListBox1.Find(index3) = -1 THEN
    ListBox1.Add(index3)
    ENDIF
    NEXT
    FOR EACH index4 IN content
    IF ListBox2.Find(index4) = -1 THEN
    ListBox2.Add(index4)
    ENDIF
    NEXT
  ENDIF
  NEXT
  MComun.Valor = ListBox1.Count
  ValueBox1.Value = MComun.Valor
  ProgressBar1.Value = MComun.Valor / 200
  TextArea1.SetFocus
  TextArea1.Text = ListBox1[1].Text
  TextArea2.Text = ListBox2[1].Text
  CATCH
  Message.Info("No se pudo importar:\n" & Dialog.Path & "\n" & Error.Text)
  ENDIF

END

PUBLIC SUB Button9_Click()

  DIM content AS String
  DIM index AS Integer
  DIM index2 AS Integer

  IF ListBox1.Count > 0 THEN

  FOR index = 0 TO ListBox1.Count - 1

  index2 = index + 200

  content = content & index & ". "
  content = content & ListBox1.List[index]
  content = content & Chr$(13)
  content = content & index2
  content = content & listbox2.List[index]
  content = content & Chr$(13)

  NEXT

  Dialog.Title = "Guardar la FAQ (*.txt)"
  Dialog.Filter = ["*.faq", "Archivo FAQ"]
  IF Dialog.SaveFile() THEN RETURN
  File.Save(Dialog.Path & ".faq", content)
  TextArea1.SetFocus
  CATCH
  Message.Info("No se pudo guardar:\n" & Dialog.Path & "\n" & Error.Text)
  ELSE
  Message.Info("No hay contenido a guardar")
  ENDIF

END
 

 




===================
The best open source software in CaosG
 
Emmet - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Abrir Un Archivo Con Programa Predeterminado 4octavio4 General 2 Domingo, 07 Febrero 2010, 23:15 Ver último mensaje
4octavio4
No hay nuevos mensajes Abrir Archivo Desde Gambas BrunoIV General 5 Domingo, 28 Febrero 2010, 21:14 Ver último mensaje
Invitado
No hay nuevos mensajes Abrir Archivo De Texto Plano marcosg General 14 Jueves, 09 Diciembre 2010, 23:36 Ver último mensaje
marcosg
No hay nuevos mensajes Abrir Archivo Con Gambas MSAN Instalación 1 Miercoles, 07 Agosto 2013, 07:11 Ver último mensaje
jguardon
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron