CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

帮我看下这段代码哪里有隐含错误?多谢

楼主laobalu(努力学习中……不懂的东西很多)2005-11-18 16:42:31 在 Delphi / 数据库相关 提问

delphi中无法自动完成。提示代码有错。[Pascal   Error]   uVisitTraf.pas(1):   Unable   to   invoke   Code   Completion   due   to   errors   in   source   code  
  我知道代码可能有错,但是编译能通过也能正确运行。我自己也看不出实在郁闷了。  
  多谢。代码见下方。  
   
   
  //----------------------------------  
  //                     wh  
  //                   2005/08/31  
  //  
  //-----------------------------------  
   
  unit   uvisittraf;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
      Dialogs,   StdCtrls,   ExtCtrls,   winsock,   Grids,   DBGridEh,   DBSumLst,   DB,   ADODB;  
   
  type  
        IPstrAry=array   of   string;  
        TSrcDstTraffrm   =   class(TForm)  
          cbbVisitTrafSrcDstYMD:   TRadioGroup;  
          grbVisitTrafStatBySrcIP:   TGroupBox;  
          lblSrcDst:   TLabel;  
          edtSrcDstaddr:   TEdit;  
          rgrSrcDstIPTraf:   TRadioGroup;  
          GroupBox2:   TGroupBox;  
          Label19:   TLabel;  
          Label20:   TLabel;  
          Label21:   TLabel;  
          Label22:   TLabel;  
          Label23:   TLabel;  
          cbbVisitTrafficYear:   TComboBox;  
          cbbVisitTrafficMonth:   TComboBox;  
          cbbVisitTrafficDay:   TComboBox;  
          cbbVisitTrafficWeek:   TComboBox;  
          btnSrcDstTrafQry:   TButton;  
          btnSrcDstTrafExit:   TButton;  
          DBGridEh1:   TDBGridEh;  
          DBSumList1:   TDBSumList;  
          lblSrcDstTrafSum:   TLabel;  
          btnVisitTrafMore:   TButton;  
          IPDataAQ:   TADOQuery;  
          IPDataDS:   TDataSource;  
          procedure   cbbVisitTrafSrcDstYMDClick(Sender:   TObject);  
          procedure   rgrSrcDstIPTrafClick(Sender:   TObject);  
          procedure   btnSrcDstTrafExitClick(Sender:   TObject);  
          procedure   btnSrcDstTrafQryClick(Sender:   TObject);  
          procedure   FormCreate(Sender:   TObject);  
      private  
      public  
          FResultIPAry:array   of   string;                   //全局变量,用于保存查询得到的IP地址  
          {   Public   declarations   }  
  end;  
   
   
  var  
      SrcDstTraffrm:   TSrcDstTraffrm;  
   
  implementation  
   
  uses   umain,   udatamodule,   uIPTrafMoreInfo;  
   
  {$R   *.dfm}  
   
  procedure   TSrcDstTraffrm.cbbVisitTrafSrcDstYMDClick(Sender:   TObject);  
  begin  
        case   cbbVisitTrafSrcDstYMD.ItemIndex   of  
        0:           //按日查询  
        begin  
            cbbVisitTrafficDay.Enabled:=true;  
            cbbVisitTrafficMonth.Enabled:=true;  
            cbbVisitTrafficWeek.Enabled:=false;  
        end;  
        1:  
        begin  
            cbbVisitTrafficDay.enabled:=false;  
            cbbVisitTrafficWeek.Enabled:=false;  
            cbbVisitTrafficMonth.Enabled:=true;  
        end;  
        2:  
        begin  
            cbbVisitTrafficDay.Enabled:=false;  
            cbbVisitTrafficMonth.Enabled:=false;  
            cbbVisitTrafficWeek.Enabled:=false;  
        end;  
        3:       //按周查询  
        begin  
            cbbVisitTrafficMonth.Enabled:=false;  
            cbbVisitTrafficDay.Enabled:=false;  
            cbbVisitTrafficWeek.Enabled:=true;  
        end;  
        end;               //end_case  
  end;  
   
  procedure   TSrcDstTraffrm.rgrSrcDstIPTrafClick(Sender:   TObject);  
  begin  
      if   rgrSrcDstIPTraf.ItemIndex=0   then  
              lblSrcDst.Caption:='源IP地址'  
      else     lblSrcDst.Caption:='目的IP地址';          
  end;  
   
  procedure   TSrcDstTraffrm.btnSrcDstTrafExitClick(Sender:   TObject);  
  begin  
      self.Close;  
  end;  
   
  procedure   TSrcDstTraffrm.btnSrcDstTrafQryClick(Sender:   TObject);  
  var  
        inittime,strSQL:string;  
        convertedtime,temptime:int64;  
        querycount:integer;  
  begin  
      case   cbbVisitTrafSrcDstYMD.ItemIndex     of  
          0:                                 //按日  
          begin  
                inittime:=cbbVisitTrafficYear.Text+'-'+cbbVisitTrafficMonth.Text+'-'+cbbVisitTrafficDay.Text;  
                convertedtime:=MainForm.convertunixeproctime(inittime);  
                temptime:=convertedtime+86400;  
          end;  
          1:  
          begin  
                  inittime:=cbbVisitTrafficYear.Text+'-'+cbbVisitTrafficMonth.Text+'-1';  
                  convertedtime:=MainForm.convertunixeproctime(inittime);  
                  temptime:=convertedtime+2592000;  
          end;  
          2:                             //按年  
          begin  
                  inittime:=cbbVisitTrafficYear.Text   +   '-1-1';  
                  convertedtime:=MainForm.convertunixeproctime(inittime);  
                  temptime:=convertedtime+31536000;  
          end;  
          else                           //按周  
          begin  
                  inittime:=cbbVisitTrafficYear.Text   +   '-1-1';  
                  convertedtime:=MainForm.convertunixeproctime(inittime);  
                  convertedtime   :=   convertedtime   +   (strtoint(cbbVisitTrafficWeek.Text)-1)*604800;  
                  temptime:=convertedtime+604800;  
          end;  
        end;//end   of   case  
        //判断输入的IP地址是否合法  
        case   mainform.isipaddrint(edtsrcdstaddr.text)   of  
        0:   begin                     //正确的源IP地址  
            if   rgrSrcDstIPTraf.ItemIndex=0     then   //按源IP地址查询  
                strSQL:=format('select   srcaddr,dstaddr,prot,srcport,dstport,dpkts,doctets   '  
                    +'from   flow   where   unix_secs>=   %d   and   unix_secs<=%d   '  
                    +'and   srcaddr=''%s''',[convertedtime,temptime,edtsrcdstaddr.Text])  
            else  
                strSQL:=format('select   srcaddr,dstaddr,prot,srcport,dstport,dpkts,doctets   '  
                    +'from   flow   where   unix_secs>=   %d   and   unix_secs<=%d   '  
                    +'and   dstaddr=''%s''',[convertedtime,temptime,edtsrcDstaddr.Text]);  
            datamodule1.ADOQuerySrcDstTraf.Close;  
            datamodule1.ADOQuerySrcDstTraf.SQL.Clear;  
            datamodule1.ADOQuerySrcDstTraf.SQL.Add(strsql);  
            datamodule1.ADOQuerySrcDstTraf.Open;  
            querycount:=datamodule1.ADOQuerySrcDstTraf.RecordCount;  
            if   querycount=0   then   showmessage('不存在符合条件的记录!')  
            else   begin  
                DataModule1.DataSourceSrcDstTraf.DataSet.Fields[0].DisplayLabel:='源IP地址';  
                DataModule1.DataSourceSrcDstTraf.DataSet.Fields[1].DisplayLabel:='目的IP地址';  
                DataModule1.DataSourceSrcDstTraf.DataSet.Fields[2].DisplayLabel:='协议号';  
                DataModule1.DataSourceSrcDstTraf.DataSet.Fields[3].DisplayLabel:='源端口号';  
                DataModule1.DataSourceSrcDstTraf.DataSet.Fields[4].DisplayLabel:='目的端口号';  
                DataModule1.DataSourceSrcDstTraf.DataSet.Fields[5].DisplayLabel:='分组数';  
                DataModule1.DataSourceSrcDstTraf.DataSet.Fields[6].DisplayLabel:='字节数';  
                btnvisittrafmore.Enabled:=true;               //显示更多信息  
            end;//end_else  
          end;               //end_case_0  
          1:     begin  
              showmessage('IP地址不能为空,请检查后重新输入!');               //没有设置源IP地址  
              edtsrcdstaddr.SetFocus;  
              end;  
              else   begin  
                  showmessage('IP地址不合法,请检查后重新输入!');           //源IP地址错误  
                  edtsrcdstaddr.SetFocus;  
          end;   //end_of_1  
      end;//end   of   case  
  end;  
   
  procedure   TSrcDstTraffrm.FormCreate(Sender:   TObject);  
  begin  
      cbbvisittrafficmonth.Enabled:=true;  
      cbbvisittrafficday.Enabled:=true;  
  end;  
   
   
  end.  
   
  问题点数:20、回复次数:8Top

1 楼konhon(优华)回复于 2005-11-18 17:02:34 得分 0

重開一下Delphi行不行呀.Top

2 楼laobalu(努力学习中……不懂的东西很多)回复于 2005-11-18 17:25:58 得分 0

不行啊。奇怪编译能通过。运行也没问题,这个隐含错误是出在什么地方呢。Top

3 楼g961681(技术庸人(情商太低))回复于 2005-11-18 18:30:57 得分 0

新建的工程中能用不?Top

4 楼g961681(技术庸人(情商太低))回复于 2005-11-18 18:32:29 得分 10

估计不是代码问题,是delphi环境问题。Top

5 楼dongliu(一沙一世界,一花一天堂)回复于 2005-11-18 18:46:59 得分 10

光看是很难看出来的,是不是别的单元有问题?Top

6 楼laobalu(努力学习中……不懂的东西很多)回复于 2005-11-18 18:47:55 得分 0

环境能有什么问题呢?  
  其它单元是好的。就是这个单元有问题。Top

7 楼g961681(技术庸人(情商太低))回复于 2005-11-18 19:22:45 得分 0

那就不明白了。  
  反正只好自己取尝试了,把特殊的类型,特殊的使用方法去掉,看看了。  
  一般遇到你这种情况,我也不会去找原因的,能编译运行就ok了~Top

8 楼laobalu(努力学习中……不懂的东西很多)回复于 2005-11-19 18:55:58 得分 0

汗一个。这样啊。总是提示错误总是很讨厌的。Top

相关问题

  • 帮我看看这段代码有什么错误?????多谢了!!!!!!!!!
  • 此代码,出现这种错误是为什么?请高手赐教,多谢多谢!
  • 此代码,出现这种错误是为什么?请高手赐教,多谢多谢!
  • 大家帮我看看 WHERE 附近的代码有什么错误,多谢!
  • 麻烦大家帮我看看,这个代码哪有错误!多谢了!
  • 代码有错误??
  • 此段代码的是书上的,没什么错误 ,为什么在TC3.0中不能用呢? 哪位高手指点一下!! 多谢!
  • 请教高手帮我看一下repeater的代码,没有语法错误。为什么运行时是空白页。不显示任何东西。多谢。
  • 寻求异步通讯代码,多谢
  • 帮我看一下代码把,多谢

关键词

  • 代码
  • cbbvisittrafficmonth
  • cbbvisittrafficday
  • cbbvisittrafficweek
  • tsrcdsttraffrm
  • tlabel
  • tcombobox
  • enabled
  • tobject
  • tbutton

得分解答快速导航

  • 帖主:laobalu
  • g961681
  • dongliu

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo