procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
RichEdit1.Lines.Clear;
Table1.Active:=false;
Table1.TableName:='日记表.DB';
Table1.Active:=true;
with Table1 do
begin
SetKey;
FieldByName('日期').AsString:=DateToStr(DateTimePicker1.Date);
if GotoKey then
begin
diarypath:=FieldByName('路径').AsString;
AssignFile(f2,diarypath);
Reset(f2);
while not eof(f2) do //编译器提示出错地方
begin
readln(f2,bufferStr);
RichEdit1.Lines.Add(bufferStr);
end;
CloseFile(f2);
end;
end;
end;
此段代码的作用为:在DateTimePicker组件里面选择日期,提取所选日期在数据库的'日记表'中查找当天日记的系统路径,然后利用路径进行文件读取操作,将日记内容显示于RichEdit组件中.读取文件时判断文件是否末尾用EOF(F1),否则读取文件一行内容写入RichEdit.
结果编译器报错,提示错误如下:
[Error] Unit1.pas(656): Missing operator or semicolon
[Fatal Error] Project2.dpr(6): Could not compile used unit 'Unit1.pas'
小弟愚钝,未能解决错误,各位大虾指教~
begin
RichEdit1.Lines.Clear;
Table1.Active:=false;
Table1.TableName:='日记表.DB';
Table1.Active:=true;
with Table1 do
begin
SetKey;
FieldByName('日期').AsString:=DateToStr(DateTimePicker1.Date);
if GotoKey then
begin
diarypath:=FieldByName('路径').AsString;
AssignFile(f2,diarypath);
Reset(f2);
while not eof(f2) do //编译器提示出错地方
begin
readln(f2,bufferStr);
RichEdit1.Lines.Add(bufferStr);
end;
CloseFile(f2);
end;
end;
end;
此段代码的作用为:在DateTimePicker组件里面选择日期,提取所选日期在数据库的'日记表'中查找当天日记的系统路径,然后利用路径进行文件读取操作,将日记内容显示于RichEdit组件中.读取文件时判断文件是否末尾用EOF(F1),否则读取文件一行内容写入RichEdit.
结果编译器报错,提示错误如下:
[Error] Unit1.pas(656): Missing operator or semicolon
[Fatal Error] Project2.dpr(6): Could not compile used unit 'Unit1.pas'
小弟愚钝,未能解决错误,各位大虾指教~
解决方案 »
- delphi字符串拼接
- 在webbrowser中执行js语句,不能进行 多行文本的赋值,如何解决?
- delphi 7.0中 的SYSDATE 提示 在此上下文中不允许使用'SYSDATE'此处只允许使用常量 表达式 或者变量 不允许使用列名
- 如何使主窗口的关闭按钮失效
- 将StringGrid的数据发到fastReport中发现的怪现象。。。。
- 请教一些小问题
- QuickRep1.Units:=?这个属性怎么设?
- 有谁做过仓库管理系统
- 我们单位让我们参加NIIT的培训,大家给点建议?
- 为什么这段代码有时会执行两遍呢?
- 请问 dll如何加入版本信息
- [Error] TEditEx.PAS(16): Identifier redeclared: 'TEditEx'???
一般是少了个分号
table对象也有eof函数,它是被优先使用的
你要用system.eof(f2)才能调用文件函数eof少用with
[Fatal Error] Project2.dpr(6): Could not compile used unit 'Unit1.pas'
这些了。。没看代码。。with有好处,也有坏处,嵌套使用的时候,要注意。