Avatar billede klm Nybegynder
06. oktober 2003 - 19:48 Der er 5 kommentarer og
1 løsning

Konvertering af "Single" til 4-byte

Jeg har behov for at få konverteret en variabel af typen Single, til 4 enkelte variabler af typen Byte.
Konverteringen skyldes at data skal sendes over RS232, og den omtalte Single-variabel skal sendes som fire ascii-tegn.
Avatar billede Slettet bruger
06. oktober 2003 - 20:03 #1
Prøv:

type
  PA = ^TA;
  TA = array[0..3] of Byte;

procedure TForm1.Button1Click(Sender: TObject);
var
B: PA;
S: Single;
begin
S := 1.25;
B := @S;
Label1.Caption := IntToStr(B[0]) + ' ' + IntToStr(B[1]) + ' ' + IntToStr(B[2]) + ' ' + IntToStr(B[3]);
end;
Avatar billede Slettet bruger
06. oktober 2003 - 20:18 #2
Eller måske:

type
  PA = ^TA;
  TA = array[0..3] of Byte;

procedure TForm1.Button1Click(Sender: TObject);
var
B: PA;
S: Single;
S1: Single;
begin
S := 1.25;
Move(Pointer(S), Pointer(B), 4);

Move(Pointer(B), Pointer(S1), 4);
Label1.Caption := FloatToStr(S1)
end;
Avatar billede klm Nybegynder
06. oktober 2003 - 21:10 #3
Jeg har afprøvet første løsning, og den virkede. Tak!
Avatar billede Slettet bruger
06. oktober 2003 - 21:10 #4
Lægger lige et svar :-)
Avatar billede Slettet bruger
06. oktober 2003 - 21:11 #5
Hvorfor tager du pointene selv??
Avatar billede athlon-pascal Juniormester
06. oktober 2003 - 21:24 #6
klm -> Man kan vist ikke kalde dig helt ny, selvom du ikke er ret aktiv herinde... du oprettede dig onsdag 13. december 2000 22:30, så du bør kende reglerne (også selvom dit minimum af aktivitet) og god skik.

Læs http://expfaq.1go.dk/?id=24#kan_ikke_give_point
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester