Autor
|
Tema: Alguna forma de optimizar el codigo? (Leído 2,888 veces)
|
demoniox12
Desconectado
Mensajes: 204
El conocimiento es poder
|
Wenas.. estuve intentando hacer un pekeño programa para que responder rapidamente las trivias... pero lo que sucede es que al buscar las preguntas tarda muchisimo al ser tan grande donde busca (11mb) Private Sub Command1_Click() Dim buskeda As Integer If pregunta = "" Then buskeda = InStr(1, RichTextBox1.Text, Text1.Text) If buskeda > 0 Then pregunta = Mid(RichTextBox1.Text, buskeda) terminarespuesta = InStr(1, pregunta, vbCrLf) - 1 respuesta = Left(pregunta, terminarespuesta) empiezarespuesta = InStr(1, respuesta, "*") + 1 respuesta = Mid(respuesta, empiezarespuesta) Text2.Text = respuesta End If Else buskeda = InStr(1, pregunta, Text1.Text) If buskeda > 0 Then pregunta = Mid(pregunta, buskeda) terminarespuesta = InStr(1, pregunta, vbCrLf) respuesta = Left(pregunta, terminarespuesta) empiezarespuesta = InStr(1, respuesta, "*") respuesta = Mid(respuesta, empiezarespuesta) Text2.Text = respuesta End If End If End Sub
Private Sub Command2_Click() respuesta = "" Text1.Text = "" Text2.Text = "" End Sub
Private Sub Form_Load() Path = App.Path & "\preguntas.txt" Dim Extraido As String Open (Path) For Binary As #1 Extraido = Space(LOF(1)) Get #1, , Extraido Close #1 RichTextBox1.Text = Extraido End Sub ahi esta el code.. pero el instr es lo que hace que tarde muchisimo... alguna solucion para que sea rapido?? salu2!
|
|
|
En línea
|
By Demoniox
|
|
|
Chefito
|
Para eso utiliza base de datos que contengan las preguntas y respuestas....y si quieres mas campos, y sentecias sql. Es enormemente mas rapido. Saludos.
|
|
|
En línea
|
Moderador del foro oficial de AutoIt en español: www.AutoIt.es.Todos tenemos inteligencia, lo malo es que algunos no nos acordamos donde la dejamos guardada
|
|
|
demoniox12
Desconectado
Mensajes: 204
El conocimiento es poder
|
Para eso utiliza base de datos que contengan las preguntas y respuestas....y si quieres mas campos, y sentecias sql. Es enormemente mas rapido. Saludos.
gracias, muy buena solucion ^^ pero hmm entonces tendria que crear la tabla y agregarle todos los valores.. y no me veo haciendolo a 80.000 lineas a menos que me ponga a reemplazar las cosas haciendo un programa rapido que lo haga... alguna otra solucion?? salu2!
|
|
|
En línea
|
By Demoniox
|
|
|
byebye
Desconectado
Mensajes: 5.093
|
hay otra solucion pero te va a dar el mismo trabajo que hacer la tabla (aunque puedes automatizar todo con un programa). por ejemplo cada linea:
pregunta*respuesta
tu lanzas la pregunta pero ya tienes tb la respuesta asi que no vas a tardar en buscarla. esto te lo digo si es para un trivial de esos tipo los del irc.
|
|
|
En línea
|
|
|
|
demoniox12
Desconectado
Mensajes: 204
El conocimiento es poder
|
exacto.. si asi esta.. pero lo como ya dije tarda muchisimo al buskar la pregunta osea yo lo que hago es copiar del irc la pregunta y pegarla en el programa y que el programa me devuelva la respuesta.. esta hecho.. funciona.. PERO el instr tarda muchisimo para cuando me da la respuesta ya termino la pregunta y hasta 3 preguntas mas xDD nose xq es tan lento... si kieren les dejo el archivo .txt asi si kieren hacen pruebas salu2! PD: un ejemplo de como estan las preguntas: Biologia©-«"Al nacer las crías de tigre son ciegas, a qué edad abren los ojos: a los 3, 7, 14, 25, ó 30 días.*14 Biologia©-«"La Mantis Religiosa hembra inicia el acto sexual arrancando la...".*cabeza del macho Biologia©-«"Pterigotos": Subclase de insectos que característicamente tienen...*alas
|
|
|
En línea
|
By Demoniox
|
|
|
Chefito
|
Haber haber y no seamos animales .Si yo fuese tu, lo que haria es cogeria el notepad o cualquier procesador de texto y cargaría tu txt. Luego reemplazaría los ©-« por comas(,)....poniendo claro reemplazar todo....no los reemplaces uno a uno que con tu respuesta de antes te veo capaz . Despues reemplazaría los * por comas también (,). Así tienes todos tus campos diferenciados por comas, ok? Vale...pues te vas al Access por ejem, y carga ese fichero creado .txt, y seguramente te saldrá un asistenten que te indicara que si quieres crear los campos por las comas separadas....le dices que sí. Luego te los separara en tu caso en 3 campos...y te dirá que como quieres llamarlos.....por ejem. 1º Tema, 2º Pregunta,3º Respuesta.....y siges con el asistente hasta crear la bbdd. Ya teniendo la bbdd pues la atacas en vb y velocidad solucionada. Espero haberte ayudado. Saludos.
|
|
|
En línea
|
Moderador del foro oficial de AutoIt en español: www.AutoIt.es.Todos tenemos inteligencia, lo malo es que algunos no nos acordamos donde la dejamos guardada
|
|
|
byebye
Desconectado
Mensajes: 5.093
|
yo recuerdo que existian scripts para contestar las preguntas automaticamente, y lo que tenian era las respuestas separadas en ficheros por temas, de la misma forma que las tiene el programa que las lanza. de esta forma es mas rapido buscar.
|
|
|
En línea
|
|
|
|
Chefito
|
Si haber, hay formas de acelerar las busqueda. Un ejem. sería cargar por temas y preguntas por ejem en un array de dos dimensiones.......la primera para los temas, y la segunda para la pregunta y respuesta juntas, separandolas luego con el instr. Esa sería otra solución. Pero sigo pensando que donde esté una base de datos que se quite todo, y más en situaciones de tantos datos Saludos.
|
|
|
En línea
|
Moderador del foro oficial de AutoIt en español: www.AutoIt.es.Todos tenemos inteligencia, lo malo es que algunos no nos acordamos donde la dejamos guardada
|
|
|
demoniox12
Desconectado
Mensajes: 204
El conocimiento es poder
|
Haber haber y no seamos animales .Si yo fuese tu, lo que haria es cogeria el notepad o cualquier procesador de texto y cargaría tu txt. Luego reemplazaría los ©-« por comas(,)....poniendo claro reemplazar todo....no los reemplaces uno a uno que con tu respuesta de antes te veo capaz . Despues reemplazaría los * por comas también (,). Así tienes todos tus campos diferenciados por comas, ok? Vale...pues te vas al Access por ejem, y carga ese fichero creado .txt, y seguramente te saldrá un asistenten que te indicara que si quieres crear los campos por las comas separadas....le dices que sí. Luego te los separara en tu caso en 3 campos...y te dirá que como quieres llamarlos.....por ejem. 1º Tema, 2º Pregunta,3º Respuesta.....y siges con el asistente hasta crear la bbdd. Ya teniendo la bbdd pues la atacas en vb y velocidad solucionada. Espero haberte ayudado. Saludos. muchisimas gracias a todos... la respuesta que me sirvio fue esta.. salu2!!
|
|
|
En línea
|
By Demoniox
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Optimizar Codigo
PHP
|
FFFenix
|
0
|
1,487
|
9 Septiembre 2011, 03:18 am
por FFFenix
|
|
|
Optimizar código sobrecargado en c++
Programación C/C++
|
angoav98
|
1
|
2,405
|
21 Febrero 2012, 14:50 pm
por Xandrete
|
|
|
¿Optimizar código?
ASM
|
paulagarcum
|
2
|
2,635
|
4 Abril 2013, 13:46 pm
por paulagarcum
|
|
|
¿Conocen alguna forma de poder volver a la normalidad este código?
Ingeniería Inversa
|
theluigy13etv
|
1
|
2,470
|
2 Junio 2016, 23:04 pm
por engel lex
|
|
|
Alguna guía de optimizar windows 10?
« 1 2 3 »
Dudas Generales
|
Shester1996
|
23
|
7,599
|
10 Abril 2020, 15:07 pm
por Shester1996
|
|