Contributor: TRYGVE GUDMUNDSEN 
{
TH> Apparently this contains the filepositions of the records (and also the
TH> conference numbers?) but the numbers are not in normal format. Can somebody
TH> please explain the format of this file and how to convert these numbers to
TH> and from something TP can work with?
There is supposed to be at least two doc's explaining the QWK format. I have
here a unit that converts the integer to basicreal (i guess it's what you
need..) I'm sorry I can't remember the of the doc's..
------------------- 8< } Unit BasConv; Interface Function BasicReal2Long(InValue: LongInt): LongInt; {Convert Basic Short Reals to LongInts} Function Long2BasicReal(InValue: LongInt): LongInt; {Convert LongInts to Basic Short Reals} Implementation Function BasicReal2Long(InValue: LongInt): LongInt; Var Temp: LongInt; Expon: Integer; Begin Expon := ((InValue shr 24) and $ff) - 152; Temp := (InValue and 007ドルFFFFF) or 00800000ドル; If Expon < 0 Then Temp := Temp shr Abs(Expon) Else Temp := Temp shl Expon; If (InValue and 00800000ドル)  0 Then
 BasicReal2Long := -Temp
 Else
 BasicReal2Long := Temp;
 If Expon = 0 Then
 BasicReal2Long := 0;
 End;
Function Long2BasicReal(InValue: LongInt): LongInt;
 Var
 Negative: Boolean;
 Expon: LongInt;
 Begin
 If InValue = 0 Then
 Long2BasicReal := 0
 Else
 Begin
 If InValue < 0 Then Begin Negative := True; InValue := Abs(InValue); End Else Negative := False; Expon := 152; If InValue < 007ドルFFFFF Then While ((InValue and 00800000ドル) = 0) Do Begin InValue := InValue shl 1; Dec(Expon); End Else While ((InValue And $FF000000)  0) Do
 Begin
 InValue := InValue shr 1;
 Inc(Expon);
 End;
 InValue := InValue And 007ドルFFFFF;
 If Negative Then
 InValue := InValue Or 00800000ドル;
 Long2BasicReal := InValue + (Expon shl 24);
 End;
 End;
End.
 

AltStyle によって変換されたページ (->オリジナル) /