[fpc-pascal] WORD (2 bytes) to String conversion
Paul Nicholls
paulfnicholls at gmail.com
Sun Oct 25 23:09:04 CET 2009
----- Original Message -----
From: "Graeme Geldenhuys" <graemeg.lists at gmail.com>
To: "FPC-Pascal users discussions" <fpc-pascal at lists.freepascal.org>
Sent: Friday, October 23, 2009 11:10 PM
Subject: [fpc-pascal] WORD (2 bytes) to String conversion
> Hi,
>
> I'm reading in a WORD (2 bytes) from a binary file. I can display the
> Hex format of that value without a problem, but I would also like to
> display the String value of that WORD variable. It's the first 2 bytes
> of a file, which contains the "magic number" of the file.
>
> I would like my program to output the following:
>
> -----------------
> Header Section
> header.ID (5348h = "HS")
> ...
> -----------------
Hi Graeme,
What about something like this (variant records, similar to C unions)?
(untested, ie. from memory, but shoud work)
TMyHeader = Packed Record
Case Integer Of
0 : (ID : Word);
1 : (IDStr : String[2]);
End;
You should then be able to file read/write it identically, and also do this:
Var
Header : TMyHeader;
Begin
WriteLn(Header.ID) ;// as a word
WriteLn(Header.IDStr); // as a 2 byte string
End;
cheers,
Paul
More information about the fpc-pascal
mailing list