Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   convertir string a pchar (https://www.clubdelphi.com/foros/showthread.php?t=49449)

rzf1983 22-10-2007 13:24:27

convertir string a pchar
 
Hola tengo una funcion que tiene como parámetros de entrada 2 variables de tipo Pchar, entonces el usuario introduce un texto que se le pasa a esa función. La forma que se me a ocurrido es pasar de string a pchar pero no se como.

A ver si me exais una mano o me desis otra forma de aserlo gracias

dec 22-10-2007 13:43:35

Hola,

Algunas funciones, efectivamente, requieren que sus parámetros sean "PChar", pero, si estamos tratando de cadenas... es posible entregar cadenas tal cual:

Código Delphi [-]
// Llamada a Foo()
Foo('parametro1', 'parametro2');

Y, cuando, como en tu caso, cuentes con "strings" que hayas de pasar a una función que requiera parámetros "PChar", basta con lo siguiente:

Código Delphi [-]
// Llamada a Foo()
Foo(PChar(parametro1), PChar(parametro2));

Es decir, las cadenas y los "PChar" son en realidad lo mismo, excepto que el compilador puede quejarse si una función requiere "PChar" y se entrega un "string". Pero, como has visto, basta con "promocionar" el "string" a "PChar".

rzf1983 22-10-2007 17:42:13

concretamente, que hace la funcion foo?

dec 22-10-2007 17:47:25

Hola,

Je, je, je... es un ejemplo, nada más. La función "Foo()" sirve en el mensaje para "ejemplificar" cómo se hace algo... pero en realidad no hay tal función "Foo()" ni existe ni sirve para nada... Bueno, salvo que leas tutoriales y otros textos (no sólo de Delphi), puesto que entonces verás a la función "Foo()" más de una vez, ya lo verás, porque se usa para eso, precisamente, para "ejemplificar".

rzf1983 22-10-2007 19:04:43

jaja, si, ya me di cuenta justo despues de postear , q tonto he estado jaja gracias

dec 22-10-2007 19:17:33

Hola,

No creas... la verdad es que revisando el mensaje veo que la función "Foo()" puede llevar a confusión, como así ha sido. Nadie nace sabiendo, así que, dar por supuesto que la función "Foo()" es conocida... pues como que no. :)


La franja horaria es GMT +2. Ahora son las 22:31:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi