PDA

Ver la Versión Completa : Como convertir un string a un array de byte


K-ba
13-02-2011, 22:28:25
Buenas tardes, les planteo mi problema a ver si me pueden dar alguna ayuda.
La idea es pasar un string, con un formato determinado (valores en Hexadecimal separados por coma) a un array de byte, el string va a estar siempre de la siguiente manera:

miString := '0B;59;70;85;AA;77';

Hoy día yo estoy cargando el array de la siguiente manera:

miArray[0] := Byte(#$0B);
miArray[1] := Byte(#$59);
miArray[2] := Byte(#$70);
miArray[3] := Byte(#$85);
miArray[4] := Byte(#$AA);
miArray[5] := Byte(#$77);

ya que el valor no cambiaba nunca, pero de ahora en más lo necesito asignar dinamicamente ya que este valor va a cambiar y yo recibo el valor de los Bytes en el formato que tiene 'miString' más arriba mencionado.

La parte de recorrer y obtener cada valor por separado dentro de la variable 'miString' ya la tengo resuelta, ahora lo que aun resta por resolver es pasar un valor Hexadecimal dentro de un string a una posicion determinada dentro de un array de byte. Para ser más claro la siguiente linea no compila y es lo que no se como realizar:

procedure Prueba;
var
miArray: array[0..1] of byte;
begin
miArray[0] := '0B';
miArray[1] := '59';
end;

Alguna pista, ayuda y/o sugerencia ¿?
Desde ya muchisimas gracias :)

ecfisa
13-02-2011, 23:01:15
Hola K-ba.



...
var
MiArray: array[0..1] of Byte;
begin
MiArray[0] := StrToInt('$'+'0B');
MiArray[1] := StrToInt('$'+'59');
...


Un saludo.

K-ba
13-02-2011, 23:27:07
Hola ecfisa (http://www.clubdelphi.com/foros/member.php?u=7718)
Muchas gracias por la ayuda, aplique tu solucion y ya puedo completar mi array de bytes con los valores tal como queria.

Muy agradecido :)