git-svn-id: https://svn.code.sf.net/p/kolmck/code@106 91bb2d04-0c0c-4d2d-88a5-bbb6f4c1fa07

This commit is contained in:
dkolmck
2011-08-09 05:08:58 +00:00
parent e0a481375c
commit 27c37729b6
6 changed files with 2668 additions and 6823 deletions

View File

@ -34,7 +34,7 @@ const
DBF_FoxBASE_ = $FB;
DBF_dBaseIIIplus = $03;
DBF_dBaseIIIplusMemo = $83;
DBF_dBaseIV = $04;
DBF_dBaseIV = $03;
DBF_dBaseIVSQLtable = $43;
DBF_dBaseIVSQLsystem = $63;
DBF_dBaseIVSQLtableMemo = $CB;
@ -326,6 +326,8 @@ function NewmdvDBF(AFileName: String; AutoUpdate: Boolean; ReadOnly: Boolean = F
implementation
{$RANGECHECKS OFF}
function NewmdvDBF(AFileName: String; AutoUpdate: Boolean; ReadOnly: Boolean = False): TKOLmdvDBF;
begin
New(Result, Create);
@ -1015,6 +1017,7 @@ end;
procedure TmdvDBF.PackDBF;
var ReadPos, WritePos, Rec, RecCount: DWord;
S:string;
begin
if FReadOnly then Exit;
Post;
@ -1038,7 +1041,9 @@ begin
FDBFHeader.RecordCount := RecCount;
FDBFStream.Seek(0, spBegin);
FDBFStream.Write(FDBFHeader, SizeOf(TDBFHeader));
FDBFStream.Seek(0, spEnd);
S:= #$1A;
FDBFStream.Write(S[1], 1);
CurrentRecord:= 0;
end;
@ -1265,13 +1270,12 @@ begin
NextFree:= 512 div _BlockSize + Ord(512 mod _BlockSize > 0);
BlockSize:= _BlockSize;
end;
Stream:= NewWriteFileStream(ChangeFileExt(AFileName, '.dbt'));
Stream.Size:= 0;
Stream.Write(_DBTHeader , SizeOf(_DBTHeader));
Stream.Size:= _DBTHeader.NextFree*_DBTHeader.BlockSize;
Stream.Free;
end;
Stream:= NewWriteFileStream(ChangeFileExt(AFileName, '.dbt'));
Stream.Size:= 0;
Stream.Write(_DBTHeader , SizeOf(_DBTHeader));
Stream.Size:= _DBTHeader.NextFree*_DBTHeader.BlockSize;
Stream.Free;
finally
FreeMem(_DBFFields);
end;

View File

@ -597,7 +597,9 @@ end;
function TTCPClient.ReceiveLength: Integer;
begin
ioctlsocket(fhandle,FIONREAD,result);
if fhandle<>SOCKET_ERROR then
ioctlsocket(fhandle,FIONREAD,result)
else result:=0;
end;
function TTCPClient.Send(var Buf; const Count: Integer): Integer;