[Error] jzzk.pas(192): Missing operator or semicolon
   if OpenDialog.execute then
   begin
      Assignfile(zkfile,OpenDialog.Filename);
      FileMode := 0;
      Reset(zkfile); //这里报错,注释掉就好了,可是读文件就报I/O错误了。
      Readln(zkfile,tmpstr) ;
      CloseFile(zkfile);
   end;

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      F: TextFile;
      Str: string;
    begin
      if OpenDialog1.Execute then
      begin
        AssignFile(F, OpenDialog1.FileName);
        Reset(F);
        while not Eoln(F) do
        begin
          Readln(F, Str);
          Memo1.Lines.Add(Str);
        end;
        CloseFile(F)
      end;
    end;
      

  2.   

    zkfile 文件类型的问题,你定义的是什么 file?textfile?file of type?
      

  3.   

    procedure TMainForm.openTBClick(Sender: TObject);
    var
       zkfile:Textfile;
       tmpstr:string;
    begin
       if OpenDialog.execute then
       begin
          Assignfile(zkfile,OpenDialog.Filename);
          FileMode := 0;
          Reset(zkfile);
          Readln(zkfile,tmpstr);
          Number.Text:=tmpstr;    
          CloseFile(zkfile);
       end;end;
      

  4.   

    更加简单的方法,
    var
      s :TStrings;
    begn
      s :=TStringList.Create;
      s.LoadFromFile('C:\123.txt');  //必须保证C盘下有123.txt这个文件
      //现在s里面就保存了123.txt的全部内容
    end;
      

  5.   

    [Error] jzzk.pas(192): Missing operator or semicolon
    提示错误是缺少操作符或者是分号;
    不是reset的问题,我照你的代码打了一遍,根本就没问题,你把这一过程单独放到一工程里试一下,我想应该不是这里的问题
      

  6.   

    放进别的工程就没问题了,不知为何?var
       zkfile,F:Textfile;
       tmpstr:string;
    begin
       if PageControl.ActivePage<>makecard then
           PageControl.ActivePage:=makecard;
       OpenDialog.InitialDir:='c:\';
       OpenDialog.Filter:='(*.zk)|*.zk';
       if OpenDialog.execute then
       begin
          tmpstr:='';
          Assignfile(zkfile,OpenDialog.Filename);
          FileMode:=0;
          Reset(zkfile);
          Readln(zkfile,tmpstr);
          OrderFrom.Text:=tmpstr;  
          Readln(zkfile,tmpstr);
          BeginNum.Text:=tmpstr;  
          Readln(zkfile,tmpstr);
          EndNum.Text:=tmpstr;    
          Readln(zkfile,tmpstr);
          CardType.Text:=tmpstr; 
          Readln(zkfile,tmpstr);
          Number.Text:=tmpstr;    
          CloseFile(zkfile);
      end;end;
      

  7.   

    unit jzzk;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Menus, XPMenu, ToolWin, ComCtrls, Buttons, ExtCtrls, StdCtrls,
      TFlatEditUnit, TFlatButtonUnit, dxCore, dxButton, ImgList, jpeg, DB,
      ADODB;type
      TMainForm = class(TForm)
        MainMenu1: TMainMenu;
        XPMenu1: TXPMenu;
        File1: TMenuItem;
        Save1: TMenuItem;
        Open1: TMenuItem;
        report: TMenuItem;
        dysz: TMenuItem;
        dybb: TMenuItem;
        scbb: TMenuItem;
        N5: TMenuItem;
        ddgl: TMenuItem;
        ddzt: TMenuItem;
        ddcx: TMenuItem;
        other: TMenuItem;
        shuoming: TMenuItem;
        about: TMenuItem;
        passwd: TMenuItem;
        N12: TMenuItem;
        OpenDialog: TOpenDialog;
        SaveDialog: TSaveDialog;
        PrintDialog: TPrintDialog;
        PrinterSetupDialog: TPrinterSetupDialog;
        ImageList1: TImageList;
        Timer1: TTimer;
        StatusBar1: TStatusBar;
        PageControl: TPageControl;
        makecard: TTabSheet;
        reportpage: TTabSheet;
        orderadmin: TTabSheet;
        BeginNum: TFlatEdit;
        EndNum: TFlatEdit;
        CardType: TFlatEdit;
        Number: TFlatEdit;
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        Label4: TLabel;
        Label5: TLabel;
        check: TFlatButton;
        CoolBar1: TCoolBar;
        ToolBar1: TToolBar;
        ToolButton4: TToolButton;
        openTB: TToolButton;
        makeTB: TToolButton;
        ToolButton3: TToolButton;
        reportTB: TToolButton;
        passwdTB: TToolButton;
        ToolButton7: TToolButton;
        printTB: TToolButton;
        ExitTB: TToolButton;
        makefile: TdxButton;
        openfile: TdxButton;
        otherpage: TTabSheet;
        ToolButton1: TToolButton;
        ToolButton2: TToolButton;
        Label6: TLabel;
        oldpasswd: TFlatEdit;
        newpasswd: TFlatEdit;
        newpasswd2: TFlatEdit;
        Label7: TLabel;
        Label8: TLabel;
        Label9: TLabel;
        reset: TdxButton;
        ok: TdxButton;
        Label10: TLabel;
        OrderFrom: TFlatEdit;
        E1: TMenuItem;
        E2: TMenuItem;
        ADOConnection1: TADOConnection;
        ADOQuery1: TADOQuery;
        procedure openSBClick(Sender: TObject);
        procedure saveasSBClick(Sender: TObject);
        procedure printClick(Sender: TObject);
        procedure exitSBClick(Sender: TObject);
        procedure Open1Click(Sender: TObject);
        procedure Save1Click(Sender: TObject);
        procedure dybbClick(Sender: TObject);
        procedure Exit1Click(Sender: TObject);
        procedure Timer1Timer(Sender: TObject);
        procedure openTBClick(Sender: TObject);
        procedure makeTBClick(Sender: TObject);
        procedure reportTBClick(Sender: TObject);
        procedure printTBClick(Sender: TObject);
        procedure passwdTBClick(Sender: TObject);
        procedure ExitTBClick(Sender: TObject);
        procedure ToolButton1Click(Sender: TObject);
        procedure passwdClick(Sender: TObject);
        procedure ddcxClick(Sender: TObject);
        procedure ddztClick(Sender: TObject);
        procedure resetClick(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      MainForm: TMainForm;implementationuses login;{$R *.dfm}procedure TMainForm.openSBClick(Sender: TObject);
    begin
    if OpenDialog.Execute then
      begin
        { Add code to open OpenDialog.FileName }
      end;
    end;procedure TMainForm.saveasSBClick(Sender: TObject);
    begin
     if SaveDialog.Execute then
      begin
        { Add code to save current file under SaveDialog.FileName }
      end;
    end;procedure TMainForm.printClick(Sender: TObject);
    begin
    if PrintDialog.Execute then
      begin
        { Add code to print current file }
      end;
    end;procedure TMainForm.exitSBClick(Sender: TObject);
    begin
       Close;
    end;procedure TMainForm.Open1Click(Sender: TObject);
    begin
    if OpenDialog.Execute then
      begin
        { Add code to open OpenDialog.FileName }
      end;
    end;procedure TMainForm.Save1Click(Sender: TObject);
    begin
     if SaveDialog.Execute then
      begin
        { Add code to save current file under SaveDialog.FileName }
      end;
    end;procedure TMainForm.dybbClick(Sender: TObject);
    begin
      if PrintDialog.Execute then
      begin
        { Add code to print current file }
      end;
    end;procedure TMainForm.Exit1Click(Sender: TObject);
    begin
     LoginForm.Close;
    end;procedure TMainForm.Timer1Timer(Sender: TObject);
    begin
     StatusBar1.Panels[2].Text:='现在时间:'+TimetoStr(Time);
    end;procedure TMainForm.openTBClick(Sender: TObject);
    var
       zkfile:Textfile;
       tmpstr:string;
    begin
       if PageControl.ActivePage<>makecard then
           PageControl.ActivePage:=makecard;
       if OpenDialog.execute then
       begin
          AssignFile(zkfile,OpenDialog.Filename);
          Reset(zkfile);
          Readln(zkfile,tmpstr);
          OrderFrom.Text:=tmpstr;  
          Readln(zkfile,tmpstr);
          BeginNum.Text:=tmpstr;  
          Readln(zkfile,tmpstr);
          EndNum.Text:=tmpstr;    
          Readln(zkfile,tmpstr);
          CardType.Text:=tmpstr;  
          Readln(zkfile,tmpstr);
          Number.Text:=tmpstr;   
          CloseFile(zkfile);
      end;end;procedure TMainForm.makeTBClick(Sender: TObject);
    var
       wzkfile:Textfile;
       msg:string;
       tmpddh:string;begin
       if PageControl.ActivePage<>makecard then
           PageControl.ActivePage:=makecard;
      
       tmpddh:=formatdatetime('yymmddhhmm',now());   SaveDialog.FileName:=tmpddh+'.zk';
      if SaveDialog.Execute then
       begin
          AssignFile(wzkfile,SaveDialog.FileName);
          Rewrite(wzkfile);
          Writeln(wzkfile,OrderFrom.Text);
          Writeln(wzkfile,BeginNum.Text);
          Writeln(wzkfile,EndNum.Text);
          Writeln(wzkfile,CardType.Text);
          Writeln(wzkfile,Number.Text);
          Writeln(wzkfile,tmpddh);
          CloseFile(wzkfile);
         
       //写入数据库
          with adoquery1 do
          begin
             close;
             sql.clear;
             sql.add('insert into fzhdd values(:orderfrom,:beginnum,:endnum,:number,:cardtype,:ddh,0,:xdrq)');
             Parameters.ParamByName('orderfrom').Value := OrderFrom.Text;
             Parameters.ParamByName('beginnum').Value := BeginNum.Text;
             Parameters.ParamByName('endnum').Value := EndNum.Text;
             Parameters.ParamByName('number').Value := Number.Text;
             Parameters.ParamByName('cardtype').Value := CardType.Text;
             Parameters.ParamByName('ddh').Value := tmpddh;
             Parameters.ParamByName('xdrq').Value := DateToStr(Date);
             ExecSQL;
            
          end;
      end;
    end;procedure TMainForm.reportTBClick(Sender: TObject);
    begin
       if PageControl.ActivePage<>reportpage then
           PageControl.ActivePage:=reportpage;
    end;procedure TMainForm.printTBClick(Sender: TObject);
    begin
       if PageControl.ActivePage<>reportpage then
           PageControl.ActivePage:=reportpage;
    end;procedure TMainForm.passwdTBClick(Sender: TObject);
    begin
       if PageControl.ActivePage<>otherpage then
           PageControl.ActivePage:=otherpage;
    end;procedure TMainForm.ExitTBClick(Sender: TObject);
    begin
       LoginForm.Close;
    end;procedure TMainForm.ToolButton1Click(Sender: TObject);
    begin
       if PageControl.ActivePage<>orderadmin then
           PageControl.ActivePage:=orderadmin;
    end;procedure TMainForm.passwdClick(Sender: TObject);
    begin
       if PageControl.ActivePage<>otherpage then
           PageControl.ActivePage:=otherpage;
    end;procedure TMainForm.ddcxClick(Sender: TObject);
    begin
       if PageControl.ActivePage<>orderadmin then
           PageControl.ActivePage:=orderadmin;
    end;procedure TMainForm.ddztClick(Sender: TObject);
    begin
        if PageControl.ActivePage<>orderadmin then
           PageControl.ActivePage:=orderadmin;
    end;procedure TMainForm.resetClick(Sender: TObject);
    begin
       oldpasswd.Text:='';
       newpasswd.Text:='';
       newpasswd2.Text:='';
    end;procedure TMainForm.FormCreate(Sender: TObject);
    begin
      StatusBar1.Panels[1].Text:='今天是:'+DateToStr(Date);
    end;end.
      

  8.   

    只要在这个工程里,就不能用reset(),无论用在那里,都在他的位置报错
    [Error] jzzk.pas(192): Missing operator or semicolon
      

  9.   

    reset改为system.reset(zkfile)试试
    是不是有重名的情况