Professional Documents
Culture Documents
"
#$ % & '
() *) + , -
. /! 0*) 1 2 3! '
8; 2 3 $ 8 * ; @ 2! ,$ J / ! % -$ Y -# A 2 3 > *) .% 6 X *) 4
M1 > -0 \ ]^ %Z[[ %Z % ,' " % / %9 ;
.J b , - 2% $ __ A ( 2 1 `a 2 1 $ . % *) 4
procedure AssignFile ( var FileHandle : TextFile; const FileName : string ) ;
; (: DE += k: % J 9 Read J b , - 2 String % 2 % / %6 9
M( ; DE @ &0 + ; (: Q % J 9 ReadLn
procedure Read ( var FileHandle : TextFile; var Value) ;
. 6 a20 1 -
procedure CloseFile ( var FileHandle : TextFile) ;
. %; %X !l
.$&
Var F:TextFile;
Temp:String;
Begin
If Not FileExists('C:\Test.txt') Then Exit;/+ ! / 01 21. #
AssignFile(F,'C:\Test.txt');
ReSet(F);// %& '5 $& ' ( 6 7/ 01 ' 8 ! 34
While Not Eof (F) Do// 9 : ; ! <. =$>" '? $ @ '& 8 *
Begin
Read(F,Temp);// Temp ! ' 4! A $&
ShowMessage(Temp);//' B '51$&! 'C & D$4
End;
CloseFile(F);
End;
.*) @ LS 56 7 V L ^- % / ! 92 ! F-'2 1 $ 3Q
. %; %X !l
Registration GJB K>:
{$A-}
Type
MyType = Record// L &8 MIN 1O I?I0 GJB P$4
Name:String[100];//P$U STT R" ' L Q /I8
Age:Byte;// \\\ ] N YZ[ W < X $CN GV
Men:Boolean;// ^_ `4? K3H < O
End;
FRec = File Of MyType;//L &8 MIN a b cd MyType e . ^ N F : $N :V
{Or // {$A-} = Packed Record .// SizeOf(MyType) h$0 / ?$ iJ8 % f" :Cg
Type
MyType = Packed Record
Name:String[100];
Age:Byte;
Men:Boolean;
End;
FRec = File Of MyType;}
4" !
Var Temp:MyType;
F:FRec;
Begin
AssignFile(F,'C :\Test.Rec');// ! / I i9? 2
If FileExists('C:\Test.Rec')Then// '" j 4 1 MA $& *? / 0 ! < O
ReSet(F) Else ReWrite(F);//'" 1. '5 $& ' ( ) ! '&?$Q i9? 2
Temp.Name:='TF6M';// L &k lm ] &
Temp.Age:=20;
Temp.Men:=True;
Write(F,Temp);// GJ L &8 :5n <. I4" Temp GJ
CloseFile(F);
End;
4" @ .$&
Var Temp:MyType;
F:FRec;
Begin
AssignFile(F,'C:\Test.Rec');
If FileExists('C:\Test.Rec')Then
ReSet(F) Else ReWrite(F);
While Not Eof (F) Do
Begin
Read(F,Temp);// GJ .$&
ShowMessage('My Name: '+Temp.Name+#13+
'My Age: '+IntToStr(Temp.Age));// '3 " ' B 'J : D$4
If Temp.Men Then
ShowMessage('I am Men')Else
ShowMessage('I am Women');
End;
CloseFile(F);// ! $-
End;
Var Temp:MyType;
F:FRec;
Begin
AssignFile(F,'C :\Test.Rec');// ! / I i9? 2
If FileExists('C:\Test.Rec')Then// '" j 4 1 MA $& *? / 0 ! < O
ReSet(F) Else ReWrite(F);//'" 1. '5 $& ' ( ) ! '&?$Q i9? 2
Seek(F,0) ;//T p ! ! '? I" $Fq! pf
TrunCate(F) ;//$Fq! p gn3 ! o 1I p r
Temp.Name:='TF6M';// L &k lm ] &
Temp.Age:=20;
Temp.Men:=True;
Write(F,Temp);// GJ L &8 :5n <. I4" Temp GJ
CloseFile(F);
End;
. %; %X !l
{***************************************}
//Open BinaryFile//
{***************************************}
{***************************************}
//Close BinaryFile//
{***************************************}
{***************************************}
//Write String Value//
{***************************************}
Function WriteSBFile(BPath:String;LS:String):Boolean;
Var F:File;
LongWs, NBwrite: Integer;
Begin
If Not OpenBFile (F,BPath) Then Exit;
{$I-}
TrunCate(F);// !
If IoResult <> 0 Then Exit;// ' I v$w K3H x :V < O
LongWs:=Length(LS);// LongWs = LS 9 " I?$ y ' : ' L Q
BlockWrite(F,LongWs,SizeOf(LongWs),NBwrite);//' L Q V ez A F L1.
If (IoResult <> 0) Or (SizeOf(LongWs)<>NBwrite) Then Exit;
BlockWrite(F,LS[1],LongWs,NBwrite);// g z 1 ' L12 P${ '" * ?
} | GJ ?
If (IoResult <> 0) Or (LongWs <> NBwrite) Then Exit;// 'C & 1. K3H / 01 ' 8
} ' I v$w ' 4* iJk ^ N ~ '" !
{$I+}
Result:=CloseBFile(F);
End;
{***************************************}
//Write ShortString Value//
{***************************************}
Function WriteCsBFile(BPath:String;CS:ShortString):Boolean;
Var F:File;
NBwrite: Integer;
Begin
If Not OpenBFile (F,BPath) Then Exit;
{$I-}
TrunCate(F);
If IoResult <> 0 Then Exit;
BlockWrite(F,CS[0],Byte(CS[0])+1,NBwrite);
If (IoResult <> 0) Or (Byte(CS[0])+1 <> NBwrite) Then Exit;
{$I+}
Result:=CloseBFile(F);
End;
// P$U YZ[ 1 T •" M U Es ' L Q G J @ v - 2 :V
//' L Q ^ N c € y CS[0] R '5 $g * ?
//A1$&! ' L Q e GJ Byte f C
{***************************************}
//Read String Value//
{***************************************}
Function ReadSBFile(BPath:String;LS:String):Boolean;
Var F:File;
LongRs, NBwrite :Integer;
Begin
If Not OpenBFile (F,BPath) Then Exit;
{$I-}
If IoResult <> 0 Then Exit;
BlockRead(F,LongRs,4,NBwrite);// 4 = SizeOf (String);
If (IoResult <> 0) Or (4 <> NBwrite) Then Exit;
SetLength(Ls,LongRs);
BlockRead(F,Ls[1],LongRs,NBwrite);
If (IoResult <> 0) Or (LongRs <> NBwrite) Then Exit;
{$I+}
Result:=CloseBFile(F);
End;
{***************************************}
//Read ShortString Value//
{***************************************}
Function ReadCsBFile(BPath:String;CS:ShortString):Boolean;
Var F:File;
LongRc:Byte;
NBwrite: Integer;
Begin
If Not OpenBFile (F,BPath) Then Exit;
{$I-}
If IoResult <> 0 Then Exit;
BlockRead(F,LongRc,1,NBwrite);// 1 = SizeOf (ShortString);
If (IoResult <> 0) Or (1 <> NBwrite) Then Exit;
SetLength(CS,LongRc);
BlockRead(F,CS[1],LongRc,NBwrite);
If (IoResult <> 0) Or (LongRc <> NBwrite) Then Exit;
{$I+}
Result:=CloseBFile(F);
End;
. % -' J 0t D
BlockWrite ( var FileHandle : File; var Buffer; RecordCount : Integer {; var RecordsRead
: Integer} ) ;
FileHandle // %• <1I"
. J 9 J 0t D
BlockRead ( var FileHandle : File; var Buffer; RecordCount : Integer {; var RecordsRead
: Integer} ) ;
FileHandle // %• <1I"
. CreateFile % 4
Function CreateFile(lpFileName: PChar; dwDesiredAccess, dwShareMode: DWORD;
lpSecurityAttributes: PSecurityAttributes; dwCreationDisposition,
dwFlagsAndAttributes: DWORD;
hTemplateFile: THandle): THandle; stdcall;
! " # $
'( ) *+ ( & $ %
0#$# )+ /. ! , - & $ %
") ! *+ ( , - & $ %
'( ! & $ %
1 2 4) , 8) 8) *+ ( 9 ! :;57 $ !% %
1 2 4) , 8) , - 9 ! :;57 $ !% %
1 2 4) , 8) &<) ! :;57 $ !% %
1 2 > 2 4) , 8 , - *+ ( 9 ! 6= :;57 $ !% %
; H# ; # G) 6) " ! != #$# $+ $ $+
# 6 E (, 6" , ; ;) C = J I #$# )+ / %
+K G) #$#L M NO, 7; , - <) $ (, ; ;) C = J I #$# )+ / )! %
#$#L Q !?> Q P
# 6 E ; ;) 8-$ J I (, ; ;) ) & ,- .! %
#$# 8) + $ ; ;) 8-$ J I (, ; ;) ) & ,- )! %
# 6 E ; ;) 8-$ CR (, ; ;) ) & ,- .! %/
I (5<) " #$# E SL$ T J 6" I E !, G! &<) G) (, ; ;) ) & ( .! %0
(5<) ; ;) 8-$ J # 6 E
9 P #$# 1 + '
!?> ) *( %2 %
U O) ) *( % %
V ) *( , # %
'( *+ ( ) *( , )%
HW ) *( !)! # %/
*( ,#- !! 3 *( #-, )% *( , X$ Y B
3 3 # +1 6D) , - *+ ( : Z$ [
. SetFilePointer % 4
Function SetFilePointer(hFile: THandle; lDistanceToMove: Longint;
lpDistanceToMoveHigh: Pointer; dwMoveMethod: DWORD): DWORD; stdcall;
# , \; F5() "
U , - *+ ( ?@) 6( C ; + $#$4
V> ! 2 ) > , ;B 0 , 8) 5= . # !5= C = J Z, < )>5 * $]= H#O <$ + $#$4 % 1"
" 8- $
0 E+ 7. , =
" 8- $
. ( 21 H X v J /A PX l
Var CrFileResult:hwnd;
Buf: Byte;
BytesR: Dword;
Begin
CrFileResult := CreateFile('c:\1.txt', GENERIC_READ, FILE_SHARE_READ, nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, 0);
If CrFileResult <> INVALID_HANDLE_VALUE then
Begin
SetFilePointer(CrFileResult, 2, nil, FILE_BEGIN );
ReadFile(CrFileResult, Buf, 1, BytesR, nil);
MessageBox(0, PChar('$' + IntToHex(Buf,2)), '', $40 + $2000 + $00);
CloseHandle(CrFileResult);
End;
End;