Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   ASM y Microcontroladores (https://www.clubdelphi.com/foros/forumdisplay.php?f=44)
-   -   Convertir Binario a Hexadecimal. (https://www.clubdelphi.com/foros/showthread.php?t=61098)

JoseFco 25-10-2008 22:56:22

Convertir Binario a Hexadecimal.
 
"Tolomeo se mudo al Polo Norte"


Un Saludo.

Caral 25-10-2008 23:00:25

Hola
Yo de esto no entiendo, pero estas seguro de que esto es asi:
Código Delphi [-]
begin
  BinStr := 'Edit1.Text';
Revisa el codigo, me parece raro, no se.
Saludos

JoseFco 25-10-2008 23:10:21

"Tolomeo se mudo al Polo Norte"

Caral 25-10-2008 23:15:43

Hola
Pero amigo no deberia de ser asi:
Código Delphi [-]
begin
  BinStr := Edit1.Text;
No se, pero me parece que cuando se declara un edit, el text es el string y no la palabra completa, ve la diferencia:
Esto:
Código Delphi [-]
begin
  BinStr := 'Edit1.Text';
o esto:
Código Delphi [-]
begin
  BinStr := Edit1.Text;
Asi declara que el TEXTO que esta dentro del edit es el que me interesa y no la Palabra edit1.text como tal.
No se amigo, seguro me equivoco.
Saludos

seoane 25-10-2008 23:24:06

Creo que ya hay una función para convertir de binario a hexadecimal, pero tardo mas en buscarla que en hacerla :p
Código Delphi [-]
function BinToHex(Hex: String): String;
var
  i,j: Integer;
  Str: String;
begin
  Result:= EmptyStr;
  for i:= Length(Hex)  downto 1 do
    if not (Hex[i] in ['0','1']) then
      Delete(Hex,i,1);
  while Length(Hex) mod 4 <> 0 do
     Hex:= '0' + Hex;
  while Length(Hex) > 0 do
  begin
    Str:= Copy(Hex,1,4);
    Delete(Hex,1,4);
    j:= 0;
    for i:= 1 to Length(Str) do
      j:= (j * 2) + StrToInt(Str[i]);
    Result:= Result + IntToHex(j,1);
  end;
end;
Por ejemplo si tenemos varios edit, por ejemplo edit0..7, con los bits y uno, llamemosle edit8, donde queremos poner el resultado:
Código Delphi [-]
  Edit8.Text:= BinToHex(Edit0.Text + Edit1.Text + Edit2.Text + Edit3.Text +
    Edit4.Text + Edit5.Text + Edit6.Text + Edit7.Text)
Edit0 tendria el bit mas significativo y el Edit7 el menos

JoseFco 25-10-2008 23:25:07

"Tolomeo se mudo al Polo Norte"

seoane 25-10-2008 23:29:00

Cita:

Empezado por JoseFco (Mensaje 322341)
Si amigo te entiendo.Pero no se deja, me da error ( dice que no esta declarado Edit1.Text;:confused:

Y no lo esta, por lo menos no lo esta fuera del formulario. Para que la función, que esta declarada fuera del formulario, lo encuentre tienes que darle su nombre completo Form1.Edit1.Text

JoseFco 25-10-2008 23:47:43

"Tolomeo se mudo al Polo Norte"

seoane 25-10-2008 23:50:02

Prueba asi :D
Código Delphi [-]
 function BinToHex(Hex: String): String;
var
  i,j: Integer;
  Str: String;
begin
  Result:= EmptyStr;
  for i:= Length(Hex)  downto 1 do
    if not (Hex[i] in ['0','1']) then
      Delete(Hex,i,1);
  while Length(Hex) mod 4 <> 0 do
     Hex:= '0' + Hex;
  while Length(Hex) > 0 do
  begin
    Str:= Copy(Hex,1,4);
    Delete(Hex,1,4);
    j:= 0;
    for i:= 1 to Length(Str) do
      j:= (j * 2) + StrToInt(Str[i]);
    Result:= Result + IntToHex(j,1);
  end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
   Edit1.Text:= BinToHex(ACC7.Caption + ACC6.Caption + ACC5.Caption + ACC4.Caption + ACC3.Caption
  + ACC2.Caption + ACC1.Caption + ACC0.Caption);
end;

Caral 25-10-2008 23:57:25

Hola
A mi me compilo, el que sabe, sabe.:D:D
Saludos

JoseFco 26-10-2008 00:02:22

"Tolomeo se mudo al Polo Norte"

JoseFco 26-10-2008 00:03:46

"Tolomeo se mudo al Polo Norte"

Caral 26-10-2008 00:05:04

Hola
Bueno, el apoyo moral también cuenta.:D
Gracias por el reconocimiento.
Saludos

seoane 26-10-2008 00:09:50

Me parece JoseFco que estas queriendo correr antes de andar :)

Lo primero que te recomiendo es que para trabajar con bytes uses bytes y no texto. Una vez que tengamos los datos como bytes delphi ya dispone de todas las operaciones que necesites swap, shift, etc ...

PD: Mira que hace años que no programo un 8051, ya casi no me acuerdo de como se usaba la ALU :(

JoseFco 26-10-2008 00:23:21

"Tolomeo se mudo al Polo Norte"

JoseFco 26-10-2008 00:36:14

"Tolomeo se mudo al Polo Norte"

seoane 26-10-2008 00:40:41

Cita:

Empezado por JoseFco (Mensaje 322359)
PD:Creo que el maestro seoane me a regañao

Si, pero con una sonrisa :D

JoseFco 26-10-2008 00:49:39

"Tolomeo se mudo al Polo Norte"

JoseFco 26-10-2008 01:05:08

"Tolomeo se mudo al Polo Norte"

JoseFco 26-10-2008 01:38:51

"Tolomeo se mudo al Polo Norte"


La franja horaria es GMT +2. Ahora son las 22:47:11.

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