Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Convertir un TString a PWideChar (https://www.clubdelphi.com/foros/showthread.php?t=14801)

bustio 30-09-2004 18:45:50

Convertir un TString a PWideChar
 
Hola!

TEngo una cadena de tipo TSTRING y necesito convertirla a PWIDECHAR, pero el problema esta en que usando el casting(PWIDECHAR(Cad_String)) No me funciona. Alguien tiene idea de por que sera y de como poder hacer ese casting??

GRACIAS!!

yusnerqui 30-09-2004 20:06:32

Hola ;)
Código Delphi [-]
var
 A : String;
 B: PWIDECHAR;
begin
 A := Edit1.Text;
 B := PWIDECHAR(A);
end;

espero te sirva :) saludos

Edito:
No había leido bien, dices que ya intentastes esta vía, yo lo prové con delphi 6 y trabajó, muestra álgo de tu código aquí quizas no sea ese el problema, y te podamos ayudar mejor.

Saludos :cool:

bustio 01-10-2004 00:00:36

No funciona.....
 
Hola.... el codigo que me enviate si compila, pero cuando trato de visualizar la cadena convertida a PWideChar no es lo que se le entro. Esta es la implementacion.
Simplemente puse un edit, un boton y un label. En el edit entro el texto, en el OnClick del boton lo convierto y lo muestro con el label.

Cuando compilo me da este warning:
[Warning] strToPWideChar.pas(34): Suspicious typecast of String to PWideChar.

Supongo que ahi es donde esta el problema.. pero no lo deja hacer. Mi implementacion es esta:

procedure TForm1.Button1Click(Sender: TObject);
Var
Cadena : String;
Resultado : WideChar;
begin
Cadena := edit1.Text;
Resultado := PWideChar(Cadena)^;
Label1.Caption := Resultado;
end;


y cuando le entro la cadena LOLO, lo que me muestra en el label es: ??.

Saben por que es?? Agradezco cualquier sugerencia.

GRACIAS

bustio 01-10-2004 04:50:16

Respuesta a mi Mismo!!!
 
Hola comunidad;

Hasta que al fin pude dar con la solucionami pregunta... Aqui les va por si algun dia hay algun loco perdido que no puede hacerlo..a si se ahorra el trabajoq ue yo pase para dar con las solucion.
En fin.. que este es el codigo:


var
Buffer : Array [0..1000]of WideChar;
Direccion : PWideChar;
Addr : String;

begin
Addr := edtCamino.Text + '\' + Tapiz;
Direccion:= StringToWideChar(Addr,Buffer,Length(Addr)+1);
StatusBar1.Panels[0].Text := WideCharToString(Direccion);
end;

Espero que le sea util a alguien.


La franja horaria es GMT +2. Ahora son las 04:51:22.

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