[fpc-pascal] FPC Advanced Records
    Ludo Brands 
    ludo.brands at free.fr
       
    Sat Mar 10 15:53:25 CET 2012
    
    
  
> >
> > where by the time ThisSize is accessed any disparity has been 
> > corrected?
> >
> 
> Not sure if this will be of any use.
> 
> but you can always define an assignment incompatible type
>     WordLE = record data: Word; end;
> 
> and define all required overloaded operators 
Or an endian independant implementation:
type
  wordLE=packed record
    L1,L2:byte;
  end;
operator := (w1:word) w2:wordLE;
  begin
    w2.L2:=(w1 shr 8) and $FF;
    w2.L1:=w1 and $FF;
  end;
operator := (w1:wordLE) w2:word;
  begin
    w2:=((w1.L2 shl 8) and $FF00 ) or word(w1.L1);
  end;
Ludo
    
    
More information about the fpc-pascal
mailing list