FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con funcion "COPY" (string)
Hola...
Luego de haber utilizado muchas veces la función COPY(string,integer,integer), me encuentro con que no se porqué no la puedo hacer funcionar bien en una parte del programa... Tengo una cadena que levanto de un archivo INI (que la he chequeado y la levanta bien), pero cuando quiero extraer solo un caracter de la cadena no puedo ! Tengo la cadena que es una cadena de numero binarios: cadena:='100101011011' Si pongo copy(cadena,1,1), la funcion entrega un string '1', pero cuando lo hago para el digito 4: copy(cadena,4,4) no me funciona !!! pues me devuelve '1001'... no se porqué !!! me está volviendo loco !!! Si alguien sabe si hay alguna funcion que sustituya a copy o que haga algo similar, o porqué puede ocurrir este problema, por favor, agradecería ayuda ! Muchas gracias desde ahora !!! saludos mArCe
__________________
Marcelo C. |
#2
|
||||
|
||||
NO te preocupes... todos tenemos un día de esos ... pero siempre tenemos a la mano a nuestro fiel amigo F1
Cita:
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
Cita:
|
#4
|
||||
|
||||
Estoy casi seguro que es un error en la redacción del mensaje.
O bien le devuelve '1010', o bien la funcion realmente usada es Copy(cadena, 1, 4). Pero dejemos que sea el mismo emeceuy quien no lo diga... Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
|||
|
|||
Copy(string)
Hola emeceuy.
te explico la sintaxis de la función copy. Copy(cadena,posición a partir de donde quieres copiar,numero de caracteres a copiar) cadena:='100101011011' Copy(cadena,2,1) resultado '0' Copy(cadena,4,1) resultado '1' Copy(cadena,4,4) resultado '1010' espero te sirva, saludos. |
#6
|
||||
|
||||
Cita:
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#7
|
|||
|
|||
Yo usaba mal la funcion
Primero que nada MIL GRACIAS A TODOS POR EL TIEMPO DEDICADO !!! MUCHAS GRACIAS...
Luego les cuento que como ustedes decían el ejemplo que dí tenía un error de redacción, estaban en lo cierto... Lo que también está mal, es la forma en que yo usaba la función... La clave está en el tercer parámetro, como me lo aclaró el amigo KING, el ultimo integer que hay que darle a la función, es el numero de caracteres que se quieren abarcar a partir del segundo parámetro. Yo pensaba que el tercer parametro, era la posición hasta donde se quería copiar, pero no es así... Yo creía que era copy(cadena, posicion inicial, posicion final) y era copy(cadena, posicion inicial, caracteres desde posicion inicial) !!! De cualquier manera, le aclaro para algún otro inexperto usuario como yo, que encontré una manera mejor que no sabía que se podía utilizar. Como yo quería extraer solo un caracter de la cadena, alcanza con utilizar cadena[posicion del caracter (integer)] y listo !!! esa es la mas facil, creo... Igual podría haber usado copy, pero en lugar de utilizar copy(cadena,4,4) para extraer el cuarto caracter, debería haber utilizado copy(cadena,4,1) !!! Lo mas importante de todo, es que entendí y aprendí, y fué gracias a ustedes. Como siempre, la gente de los foros de CLUBDELPHI me ayudan muchisimo muchisimo !!! MUCHAS GRACIAS DENUEVO A TODOS !!! saludos desde Uruguay mArCeLo
__________________
Marcelo C. Última edición por emeceuy fecha: 28-05-2004 a las 23:43:38. Razón: me equivoqué en el ejemplo |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|