|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Akemati
Páginas: [1]
1
« en: Viernes 25 de Marzo de 2011, 15:10 »
Hola a todos!
Tan sólo me gustaría presentarme, y primero diculparme por el retraso ya que me he adelantado un poquito y he posteado un par de preguntas por ahí, pero no quería dejar pasar más tiempo sin presentarme y darles mis saludos, soy de México y aunque ya he dejado hace años atrás la universidad, recién estoy interesándome en la programación, así que de antemano ofrezco mis disculpas por el status de principiante, pero si en algo pudiera ayudar sin duda lo haré!
Pues nuevamente les envío un saludo, y de paso les agradezco por el espacio que me permiten por aquí!
Nos vemos en los foros!
2
« en: Viernes 25 de Marzo de 2011, 14:02 »
Bueno, aquí posteo una solución que no resuelve exactamente mi problema inicial pero que me ayudó para resolver un problema similar, el código busca entre los elementos de un Listbox la cadena de caracteres introducida desde un TEdit a partir de una posición específica (función substring) dentro de las líneas del Listbox. for(int i=0;i<ListBox1->Items->Count;i++) { if(ListBox1->Items->Strings[i].SubString(0,Edit1->Text.Length()) == Edit1->Text) { ListBox1->ItemIndex = i; } }
3
« en: Martes 22 de Marzo de 2011, 14:53 »
Hola rfog,
Agradezco mucho tu orientación, tendrías un ejemplo a la mano? sería de mucha ayuda!!
Gracias!
4
« en: Viernes 18 de Marzo de 2011, 18:02 »
Hola,
Alguien podría ayudarme, necesito un método para buscar un string dentro de un listbox, pero que dicha búsqueda no sólo encuentre coincidencias en el inicio de los ítems (encontré que existen LB_FINDSTRING, LB_SELECTSTRING o LB_FINDSTRINGEXACT pero sólo encuentran el primer string), pero mi ejemplo es el siguiente:
Búsqueda: Perez
Ricardo Hernandez Sanchez ... Alejandro Perez Reyes <- Seleccione este ítem.
Muchas gracias!
5
« en: Martes 7 de Diciembre de 2010, 14:17 »
Hola, Un amigo pudo ayudarme a resolver mi problema y por aquí voy a postear el código por si a alguien le es de utilidad. Se necesita un TEdit para escribir una palabra a buscar, un TButton para lanzar la búsqueda y las coincidencias junto con la ruta del archivo(s) encontrado(s) se despliegan en un TListBox. Esto en el header: #include<stdio.h> #include<stdlib.h> #include<string> #include<windows.h>
Después poner el siguiente código en el evento Onclick del Botón: AnsiString Texto; AnsiString Texto2; char Pbuscar[255]; char linea[255]; char *coincidenciast[255]; char frase[255]; int contador; int longitud; char c; FILE *archivo; WIN32_FIND_DATA findFileData; HANDLE hFind; char dirtmp[255]; char exttmp[255]; char dir[255]; char filename[255]; char ruta[255]; std::string str; Texto = Edit1->Text; //Recuperar el texto desde el TEdit strcpy(Pbuscar,Texto.c_str()); strcpy(dirtmp, "c:\MiCarpeta\"); //Aquí el directorio conteniendo los archivos a buscar strcpy(dir, dirtmp); strcat(dir,"\"); strcat(dirtmp,"*.txt"); //Esta es la extensión de archivos en dónde realiza la búsqueda hFind = FindFirstFile(dirtmp, &findFileData); if(hFind == INVALID_HANDLE_VALUE) { printf("Directorio no existe o es incorrecto"); } else { strcpy(ruta,""); str = (std::string)findFileData.cFileName; longitud = str.length(); if(longitud >12) { str = (std::string)findFileData.cAlternateFileName; } for(int i=0; i < longitud;i++) { filename[i] = str[i]; } filename[longitud] = ' '; strcpy(ruta, dir); strncat(ruta, filename, strlen(filename)); contador = 0; if((archivo = fopen(ruta,"r")) != NULL) { while ((fscanf(archivo, "%s%c", linea, &c)) != EOF) { if(strcmp(linea, Pbuscar) == 0 && *linea != ' ') { contador++; } } if(contador>0) { } fclose(archivo); } else { printf("Error al abrir archivo - %s n", ruta); getchar(); } fflush(stdin); } while(FindNextFile(hFind, &findFileData) != 0) { strcpy(ruta,""); contador = 0; str = (std::string)findFileData.cFileName; longitud = str.length(); if(longitud>12) { str = (std::string)findFileData.cAlternateFileName; } for(int i=0; i < longitud;i++) { filename[i] = str[i]; } filename[longitud] = ' '; strcpy(ruta, dir); strncat(ruta, filename, strlen(filename)); if((archivo = fopen(ruta,"r")) != NULL) { while ((fscanf(archivo, "%s%c", linea, &c)) != EOF) { if(strcmp(linea,Pbuscar) == 0 && *linea != ' ') { contador++; } } if(contador>0) { strcpy(frase, " coincidencias en "); itoa(contador, *coincidenciast, 10); strncat(*coincidenciast, frase, strlen(frase)); strncat(*coincidenciast, ruta, strlen(ruta)); lstData->Items->Add(*coincidenciast); //Enviar búsqueda a TListBox } fclose(archivo); } else { printf("Error al abrir archivo - %s n", ruta); getchar(); //exit(1); } fflush(stdin); }
Una disculpa ya que el código no está ni bien comentado ni optimizado pero a mi me ayudó en mi problema.
6
« en: Jueves 18 de Noviembre de 2010, 11:48 »
Hola,
Existe por allí algo que se llama Case Based Reasoning o Razonamiento Basado en Casos, no existe mucha bibliografía pero pienso que puedes encontrar algo que tal vez te interese.
7
« en: Jueves 18 de Noviembre de 2010, 11:38 »
Estoy tratando de convertir el código para utilizar el TFileinFilesX como componente C++ Builder pero me marca error en los parámetros de GetFileData, alguién podría ayudarme a traducir el siguiente código para el Builder C++, está escrito en VB: Private Sub FiFx1_ScanCompleted() Dim ii As Long Dim sData As String Dim sFileName As String Dim lLine As Long, lColumn As Long, sFound As String cmdAbort.Visible = False lstData.Clear ' Clear List box ' Add data from the FindInFilesX control on the main form For ii = 0 To FifX1.SearchCount - 1 If (FifX1.GetFileData(ii, sFileName, lLine, lColumn, sFound) = True) Then sData = sFileName & " --- " & _ CStr(lLine) & " --- " & _ CStr(lColumn) & " --- " & _ CStr(sFound) Call lstData.AddItem(sData) End If Next ii Caption = CStr(lstData.ListCount) & " items found from FifX1" End Sub
8
« en: Lunes 15 de Noviembre de 2010, 14:08 »
Hola,
Muchas gracias por tu sugerencia, aunque lo que necesito parece un poco más complicado, dado que soy principiante estoy tratando de solucionar mi problema con lo que encuentro en la red. Por allí encontre un componente ActiveX, realizado por el desarrollador SoftInterface, llamado FindInFilesX (no pude poner URL pero se encuentra facilmente en Google) que propone un buscador para insertar en cualquier aplicación y realizar este tipo de consultas, es gratuito y provee además el código pero en VB, viene en el manual un ejemplo sencillo pero no pude aplicarlo pues desconozco este lenguaje. Sería de mucha ayuda si alguien pudiera revisarlo y postear por aquí el código para C++ Builder!
Muchas gracias!
9
« en: Miércoles 10 de Noviembre de 2010, 14:35 »
Hola,
Estoy realizando una aplicación en la que quisiera incluir un sencillo motor de búsqueda que permita, al introducir texto o palabras clave en un TEdit por ejemplo, recuperar la ubicación del archivo de texto .txt que más coincida con mi búsqueda (para posteriormenete utilizarlo), dicho archivo estará ubicado en alguna carpeta que reagrupa varios ficheros .txt almacenados previamente.
Mucho les agradezco su ayuda!
Páginas: [1]
|
|
|