[fpc-pascal] Tdbf Memo Field Issue, 2.6.2 vs 2.6.4
David Copeland
david.copeland at jsidata.ca
Fri Jun 13 13:25:26 CEST 2014
Oops, I have now uploaded the program source to the Bug tracker. Also
reproduced here ...
program dbftest;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes, SysUtils, dbf, db;
{ you can add units after this }
var
dbase: Tdbf;
s: string;
dbname: string;
cwd: string;
out_filename: string = 'test.csv';
outfile: Text;
header: boolean = false;
buf: string;
sep: string;
rec_count: integer = 0;
field_count: integer;
fieldname: string;
i, x: integer;
begin
Assign(outfile,out_filename);
Rewrite(outfile);
buf := '';
dbase := TDbf.Create(nil);
GetDir(0,cwd);
dbase.FilePathFull := cwd;
dbase.TableName := 'BOX78.dbf';
dbase.ReadOnly := true;
dbase.Open;
field_count := dbase.FieldCount;
writeln('Table level is ', dbase.TableLevel, '. Number of fields is
', field_count);
sep := '';
for i := 0 to field_count - 1 do begin
writeln(dbase.Fielddefs[i].Name, ', ', dbase.FieldDefs[i].DataType);
buf := buf + sep + trim(dbase.Fielddefs[i].Name);
sep := ',';
end;
if header then writeln(outfile,buf);
while not dbase.EOF do begin
inc(rec_count);
buf := '';
sep := '';
for i := 0 to field_count - 1 do begin
fieldname := trim(dbase.Fielddefs[i].Name);
case dbase.FieldDefs[i].DataType of
ftString, ftMemo:
buf := buf + sep + '"' +
trim(dbase.FieldByName(fieldname).AsString) + '"';
ftInteger, ftSmallInt:
buf := buf + sep +
trim(dbase.FieldByName(fieldname).AsString);
end;
sep := ',';
end;
writeln(outfile,buf);
dbase.Next;
end;
writeln(inttostr(rec_count) + ' records read.');
dbase.Close;
dbase.Destroy;
Close(outfile);
end.
Dave.
On 06/13/2014 04:42 AM, Reinier Olislagers wrote:
> On 12/06/2014 20:37, David Copeland wrote:
>> Added to the Bug tracker as Issue 26332.
> Hi Dave,
>
> Although you wrote in the bug report that the attached zip contains test
> source code, it doesn't. Could you attach a simple (FPC) test program to
> the bug report that demonstrates the problem?
>
> Thanks,
> Reinier
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
More information about the fpc-pascal
mailing list