unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids, ToolWin,
ComCtrls, ImgList, StdCtrls, ActnList, Menus, DBActns, StdActns;type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
ActionList1: TActionList;
Label1: TLabel;
Button1: TButton;
ImageList1: TImageList;
ToolBar1: TToolBar;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Table1: TTable;
Action1: TAction;
EditCut1: TEditCut;
EditCopy1: TEditCopy;
EditPaste1: TEditPaste;
DataSetFirst1: TDataSetFirst;
DataSetPrior1: TDataSetPrior;
DataSetNext1: TDataSetNext;
DataSetLast1: TDataSetLast;
File1: TMenuItem;
Save1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Edit1: TMenuItem;
Cut1: TMenuItem;
Copy1: TMenuItem;
Paste1: TMenuItem;
Record1: TMenuItem;
DataSetFirst11: TMenuItem;
DataSetPrior11: TMenuItem;
DataSetNext11: TMenuItem;
DataSetLast11: TMenuItem;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
SaveDialog1: TSaveDialog;
procedure Button1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure Save1Click(Sender: TObject);
{ procedure FormCreate(Sender: TObject); }
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Close;
end;procedure TForm1.Exit1Click(Sender: TObject);
begin
close;
end;procedure TForm1.Save1Click(Sender: TObject);
var i:integer;
begin
if SaveDialog1.Execute then
begin
with TStringList.Create do
try
for i:=1 to DBGrid1.FieldCount-3 do
Add(Format('%s:%s',
[DBGrid1.Fields[i].FieldName,
DBGrid1.Fields[i].AsString]));SaveToFile(SaveDialog1.FileName);
finally
Free;
end;
end;end.报错如下:[Error] Unit1.pas(101): ';' expected but '.' found
[Error] Unit1.pas(133): Declaration expected but end of file found
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'谢谢了

解决方案 »

  1.   

    楼主代码风格太差啦。对齐应该是这样:procedure TForm1.Save1Click(Sender: TObject);
    var
        i:integer;
    begin
        if SaveDialog1.Execute then
        begin
            with TStringList.Create do
            try
                for i:=1 to DBGrid1.FieldCount-3 do
                    Add(Format('%s:%s',[DBGrid1.Fields[i].FieldName,DBGrid1.Fields[i].AsString]));            SaveToFile(SaveDialog1.FileName);
            finally
                Free;
            end;
        end;end.//////////一目了然,少了一个end;在end.前面放一个end;就可以。
      

  2.   

    就变成这样:
    procedure TForm1.Save1Click(Sender: TObject);
    var
        i:integer;
    begin
        if SaveDialog1.Execute then
        begin
            with TStringList.Create do
            try
                for i:=1 to DBGrid1.FieldCount-3 do
                    Add(Format('%s:%s',[DBGrid1.Fields[i].FieldName,DBGrid1.Fields[i].AsString]));            SaveToFile(SaveDialog1.FileName);
            finally
                Free;
            end;
        end;
    end;end.