请问writelog()这个函数该如何声明?

解决方案 »

  1.   

      unit   Unit1;   
        
      interface   
        
      uses   
          Windows,   Messages,   SysUtils,   Classes,   Controls,   SvcMgr,   
          ExtCtrls,   DB,   ADODB,ActiveX;   
        
      type   
          TsSetData   =   class(TService)   
              adoCC:   TADOConnection;   
              aqTree:   TADOQuery;   
              aqGroup:   TADOQuery;   
              procedure   ServiceStart(Sender:   TService;   var   Started:   Boolean);   
              procedure   ServiceStop(Sender:   TService;   var   Stopped:   Boolean);   
              procedure   ServicePause(Sender:   TService;   var   Paused:   Boolean);   
              procedure   ServiceShutdown(Sender:   TService);   
              procedure   ServiceExecute(Sender:   TService);   
              procedure   ServiceContinue(Sender:   TService;   var   Continued:   Boolean);   
              procedure   ServiceCreate(Sender:   TObject);   
              procedure   ServiceDestroy(Sender:   TObject);   
              procedure   ServiceBeforeInstall(Sender:   TService);   
          private   
              {   Private   declarations   }   
          public   
              function   GetServiceController:   TServiceController;   override;   
              {   Public   declarations   }   
          end;   
        
      var   
          sSetData:   TsSetData;   
          LogFile:string;   
        
          function   WriteLog(sInfo:string):Boolean;   
        
      implementation   
    //在网上查到的。试试、
      

  2.   

    谢谢,我在自己看以下,程序是网上下的,不知道这个函数的作用
    procedure   TForm1.ViewRemoteList(Dir:string);
    var
        DirList:TStringList;
        i:Integer;
        ListItem:TListItem;
        Attribute:TIdDirItemType;
    begin
        DirList   :=   TStringList.Create;
        try
            try
                IdFTP1.ChangeDir(Dir);
                IdFTP1.List(DirList);
                EditDir.Text   :=   IdFTP1.RetrieveCurrentDir;
            except   on   E:Exception   do
            begin
                WriteLog(E);
            end;
            end;
        finally
            DirList.Free;
        end;
        RemoteListView.Clear;
        for   i:=0   to   IdFTP1.DirectoryListing.Count-1   do
        begin
            ListItem   :=   RemoteListView.Items.Add();
            ListItem.Caption   :=   IdFTP1.DirectoryListing.Items[i].FileName  ;
            ListItem.SubItems.Add(IntToStr(IdFTP1.DirectoryListing.Items[i].Size));
            ListItem.SubItems.Add(DateToStr(IdFTP1.DirectoryListing.Items[i].ModifiedDate));
            Attribute   :=   IdFTP1.DirectoryListing.Items[i].ItemType;
            if   Attribute=ditDirectory   then
            begin
            ListItem.SubItems.Add( '目录 '); 
            ListItem.ImageIndex   :=   0;
            end 
            else   if   Attribute=ditFile   then
            begin
                ListItem.SubItems.Add( '文件 ');
                ListItem.ImageIndex   :=   1;
            end
            else   if   Attribute=ditSymbolicLink   then
            begin
                ListItem.SubItems.Add( '其他 ');
                ListItem.ImageIndex   :=   2;
            end;    end;
    end;
      

  3.   

    可到一个文本文件里,我写过,不知道对你试用吧?var
      bOpened:Boolean=false;    //日志文件是否打开
      LogFile: TextFile;  //日志文件
    procedure WriteLog(const str: string);
    var
      strLog: string;
      strFileName, strFilePath: string;
      hLogFile: integer;
    begin
      try
      if not bOpened then //如果文件还没有打开就先打开
      begin
        strFilePath := ExtractFilePath(ParamStr(0)) + 'log';
        if not DirectoryExists(strFilePath) then MKDir(PChar(strFilePath));
        strFileName := strFilePath + '\' + FormatDateTime('yyyy-mm-dd',Now()) + '.log';
        //showmessage(strFileName);
        if not FileExists(strFileName) then
        begin
          //如果文件不存在就先创建
          hLogFile := FileCreate(strFileName);
          if hLogFile > 0 then FileClose(hLogFile)
          else Exit;
        end;
        AssignFile(logFile, strFileName);
        Append(logFile);
        bOpened := true;
      end;  strLog := FormatDateTime('yyyy-mm-dd hh:mm:ss',Now()) + '---->' + str;
      Writeln(logFile, strLog);
      flush(logFile);
      except
      end;
    end;
    在窗口的destory中关闭