FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Recorrer un pchar
Tengo un buffer de bytes guardado en un pchar (de una aplicación cliente servidor, que envía este buffer como mensajes divididos en trozos y con cabecera). Me gustaria poder recorrerlo, hacer como cuando se hace delete en un string (de una posicion a otra que yo quiera), pero no entiendo el funcionamiento de pchar y me vuelvo loco. Por favor, alguien puede explicarme cómo lo hago? Cómo cojo los bytes que me interesan? (los de la cabecera al recibir) y borrarlos luego para quedarme sólo con el buffer de bytes de datos correspondientes al archivo que he enviado?
Muchas gracias. |
#2
|
||||
|
||||
Un PChar es un puntero a un caracter, se utilizan para manejar cadenas terminadas en caracter nulo como en C. El "truco" esta es mover el puntero por la cadena, adelante o atras segun convenga.
Por ejemplo:
Es solo un ejemplo de como recorrer la cadena, para copiar el contenido de un PChar en un String hay metodos mas eficaces:
Y algo parecido a lo que quieres hacer tu, metemos en una misma porcion de memoria un texto y un integer, y luego los volvemos a separar.
Son varios ejemplos de como tratar con PChar, revisa tanbien la ayuda de delphi, encontraras un monton de funciones para tratar con este tipo de cadenas de texto. Y si no encuentras lo que buscas vuelve por aqui haber que podemos hacer. |
#3
|
||||
|
||||
Quizás fuera más facil pasar el Pchar a String o a un TStringList, mediante TStringList.DelimitedText puedes partir en trozos la cadena (por espacios, por un punto y coma, por una coma, etc).
Al pasarlo a un String, puedes usar la archifamosa función "Pos" o "copy" para copiar los caracteres. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#4
|
||||
|
||||
Si es para un solo caracter te puede valer un índice para recorrer la variable. Si extraes más de uno a la vez, quizás con Copy puedas hacerlo, en cuanto a explicaciones las que te da Seoane y Lepe son amplias y doctas. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#5
|
|||
|
|||
Gracias!!!!
Gracias a todos!!! Ya voy viendo la luz al final del tunel....lo mismo a medio camino debo hacer otra paradita por aqui...
Gracias!!! |
#6
|
||||
|
||||
Ten en cuenta que hemos inaugurado hace poco el Foro "La Taberna", lugar apto para paraditas y lo que salga, en donde te puedes poner de bebida virtual hasta los tuétanos, es gratis y no afecta a la conducción.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#7
|
|||
|
|||
Duda sobre StrCopy
Hola,
no se por qué me da error al poner: StrCopy(bufferAux,(formatFloat('0000',length(bufferAux)) + 't')); Da "incompatible types string and Pchar". |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Recorrer arreglo | Perrero80 | Varios | 3 | 18-05-2006 22:52:27 |
Compatibilidad entre PChar y String | vick | Conexión con bases de datos | 5 | 24-10-2005 21:50:35 |
¿como pasar de String dentro de un PChar? | Moises22 | Varios | 6 | 27-09-2005 15:43:47 |
Pchar y String | superhopi | Varios | 8 | 19-08-2004 09:54:06 |
problemas de compatibilidad de tipos pchar y string | VRO | Varios | 2 | 13-05-2004 10:29:34 |
|