convertir de 'TCaption' para usar su valor en 'PAnsiChar'
Ante todo disculparme por si lo que expongo a continuacion es una supina estupidez, pero solo proguntando se aprende.
Vengo del mundo Clipper y alli el manejo de variables no es tan estrixto como en Delphi. Mi problema es el siguiente.: procedure TForm1.cVisorHexChange(Sender: TObject); var i:integer; Var Buffer:array[0..15] of char; begin { esta es la funcion que pretendo usar.: function HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer Si entiendo bien Text := a la cadena de caracteres a convertir Buffer := Puntero al inicio del array donde queremos salvar el resultado BufSize := Tamaño del Buffer El problema viene al usar form1.cVisorHex.Text que es la cadena que contiene el valor a convertir pero que es de tipo TCaption y me da el siguiente error .: [Error] Fecha.pas(202): Incompatible types: 'TCaption' and 'PAnsiChar' La pregunta es.: como paso de un tipo a otro, con que funcion????? } i := HexToBin( form1.cVisorHex.Text, Buffer; Sizeof( Buffer ) ) end; Agradezco vuestra ayuda por adelantado. |
Un TCaption no es mas que un simple string
Código:
TCaption = type string; Código:
HexToBin(PChar(form1.cVisorHex.Text), Buffer, Sizeof(Buffer)); |
Gracias DELPHI.COM.AR tu respuesta a sido perfecta, pero parece que sigo sin entender bien el funcionamiento de
{function HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer} el resultado Binario lo almacena en buffer??? en tipo char ??? lo que yo deseo es el resultado en formato cadena alfanumerica de pasar un Hex a Binario, esta funcion sirve o tengo que usar otra??? Disculpa por la torpeza |
Cita:
Saludos! |
Erre que Erre!!!!!!!!!!!
Imposible no consigo que el Buffer contenga la cadena alfanumerica con la representacion Binaria del Hex en cadena alfanumerica que le paso, podeis poner un ejemplo que funcione.
Gracias y disculpar por mi cerrazon mental. :) |
Esta es una de las tantas formas de hacerlo:
Código:
function HexToBinStr(Value: string) : string; Código:
function HexToBinStr(Value: string) : string; |
La franja horaria es GMT +2. Ahora son las 15:47:31. |
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