FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
error de funcion dentro de un stringlist...
Hola a todos, tengo el siguiente problema al utilizar una funcion que encontre en los trucos de clubdelphi, la funcion extrae una subdacena.
(extraida de los trucos de clubdelphi)
Si la utilizo asi sola no tengo problemas, me funciona correctamente, el problema se presenta cuando llamo a la funcion dentro del codigo de un stringlist, me explico:
La funcion anterior la obtube en este foro con la ayuda de la comunidad, su funcion es: - recibe una cadena -abre un archivo que almacena siempre 5 lineas... -compara la ultima linea con la cadena que recibio la funcion, si son iguales no hace nada, si son distintas almacena la cadena al final del archivo y elimina la primera linea, con lo cual siempre el archivo va a mantener 5 lineas. yo le agregue la parte que esta entre //++++++ para a parte de guardar la cadena, tambien me guarde la hora en que recibe la cadena, por ejemplo: 17:45:23|la cadena 17:46:41|otra cadena pero se me presentó un problema, al comparar la cadena que recibe la funcion con la ultima linea almacenada en el archivo, siempre va a detectar que son distintas ya que compara la linea completa, con la hora incluida, una solucion que encontre fue la funcion que puse al principio de este mensaje, la enocntre en los trucos de esta pagina. Lo que hace es separar la cadena por algun caracter especifico, en este caso "|" y me entrega el indice deseado, en mi caso para la siguiente cadena: 17:45:23|la cadena llamaría a la funcion GetText('17:45:23|hola mundo',1) y obtengo 'hola mundo' si lo hago manualmente en un form muevo, me funciona correctamente pero si lo incluyo detro de la funcion anterior me da el siguiente error: "too many actual parameters", pienso yo que debe ser por que esta dentro del codigo del stringlist, no se por que pero se me ocurre que por ahi debe andar el problema (disculpen mi ignorancia). No se como poder solucionarlo. Espero que se haya entendido mi mensaje, cualquier duda estare atento al foro para dar mas detalles. Estaré agradecido a cualquier ayuda Saludos
__________________
Greco - Principiante |
#2
|
||||
|
||||
para completar un poco...
Saludos
__________________
Greco - Principiante |
#3
|
||||
|
||||
Hola Greco, te sale el error porque te falta un parametro cuando llamas a tu función GetTex, también puedes hacerlo utilizando StringList y sus funciones Delimiter y DelimiterText.
Si lo que tienes en las lineas de tus archivos no tiene espacios en blanco, te funcionara bien, pero si lo tubieras necesitas colocar a True la función StrictDelimiter, lo malo es que esta función esta en un Delphi posterior a Delphi 7. Pero tenemos otra función ExtractStrings que lo puedes utilizar en vez del Delimiter y DelimiterText, esa función no te traera problemas y te separara también la linea en el StringList utilizando el delimitador que le pongas. Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. Última edición por Caro fecha: 03-09-2008 a las 04:37:57. |
#4
|
||||
|
||||
Cita:
Cita:
Tambien tengo delphi 7 Cita:
Gracias por tu ayuda
__________________
Greco - Principiante |
#5
|
||||
|
||||
Hola de nuevo, utilizando la función ExtractStrings ya no utilizarias ni delimiter ni delimiterText, te pongo un ejemplo.
las líneas que puse en rojo en mi anterior codigo estarían demas, en vez de ellas utilizas este ultimo codigo. Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#6
|
|||
|
|||
Hola...
Greco, el error que tienes es por que la clase TStringList tiene un método llamado GetText el cual no recibe parámetros y al estar tu código dentro de un with..do, Delphi cree que estás tratando de llamar a ese método y no a tu función... Así que tienes dos opciones, usar lo que te a recomendado Caro o cambiar el nombre de tu función GetText... Saludos... |
#7
|
||||
|
||||
Cita:
También agradecer a caro por la ayuda brindada, aunque me estaba costando adaptar el código a la funcion que ya tenia hecha por la inexperiencia que tengo . Saludos.
__________________
Greco - Principiante |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
llamada a una funcion dentro de una dll | mauqu | Varios | 4 | 16-10-2007 17:47:57 |
Funcion para borrar la cadena que aparesca repetida dentro de otra cadena | flystar | Varios | 1 | 02-07-2007 23:51:10 |
Funcion para buscar cadena dentro de otra cadena y el numero de veces | flystar | Varios | 3 | 02-07-2007 22:48:08 |
TQuery dentro de una funcion Function | jorgito | Varios | 4 | 26-09-2005 15:44:57 |
Crear query dentro de unit y funcion? | alehillebrand | OOP | 3 | 19-07-2005 00:56:59 |
|