2002或2001的程序员大本营中很多啊,去找啊

解决方案 »

  1.   

    我手头上没有,能不能给点思路我?谢谢了!!!!!!!!
      

  2.   

    使用API函数CreateFile:
    下面是我在C++builder中写的一段代码,请参考:
    void __fastcall TFmain::Timer1Timer(TObject *Sender)
    {
       HANDLE hCom =CreateFile(PortName.c_str(),0,0,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL);
       if (ActiveLink && (hCom == INVALID_HANDLE_VALUE))
       {//持续连接
          Num_OnTimer++;
          int tp_Hour = (Num_OnTimer * Timer1->Interval)/(1000*3600);
          if (tp_Hour > Num_hour)0D
          {
             Num_hour++;
             TrayIcon1->Restore();
             FM_DLG->ShowMyDlgForm("你上了" + IntToStr(tp_Hour) + "小时了,老公注意休息啊!");
          }
       }
       if ((!ActiveLink) && (hCom == INVALID_HANDLE_VALUE))
       {
             ActiveLink = true; //连接现在开始
             int iOrder;
             FM_DLG->ShowMyDlgForm("你又要上网啊!");
             DM_NET->qrTemp->Close();
             DM_NET->qrTemp->ConnectionString = DM_NET->T_TimeData->ConnectionString;
             DM_NET->qrTemp->SQL->Clear();
             DM_NET->qrTemp->SQL->Add("select MAX(NetOrder) from S_TIME");
             DM_NET->qrTemp->Open();
             iOrder = DM_NET->qrTemp->IsEmpty()?1:DM_NET->qrTemp->Fields->Fields[0]->AsInteger+1;
             DM_NET->T_TimeData->Append();
             DM_NET->T_TimeData->FieldByName("NetOrder")->AsInteger = iOrder;
             DM_NET->T_TimeData->FieldByName("StartTime")->AsString = Now();
             DM_NET->T_TimeData->Post();
             DM_NET->T_TimeData->Refresh();
       }
       if (ActiveLink && (hCom != INVALID_HANDLE_VALUE))
       {
             CloseHandle(hCom);
             TDateTime EndTime,StartTime,LastTime;
             unsigned short h,m,s,ms;
             ActiveLink = false; //现在断开了连接
             if (newThDial)
             {
                newThDial->Terminate();
                menuHang->Enabled = false;
                tbHang->Enabled 3D false;
                menuDial->Enabled = true;
                tbDial->Enabled 3D true;
             }
             Num_OnTimer = 0;
             Num_hour = 0;
             FM_DLG->ShowMyDlgForm("你不上网了是不是可以陪陪我了?");
             DM_NET->T_TimeData->Close();
             DM_NET->T_TimeData->Filtered = false;
             DM_NET->T_TimeData->Open();
             DM_NET->T_TimeData->Last();
             StartTime = DM_NET->T_TimeData->FieldByName("StartTime")->AsDateTime;0D
             EndTime = Now();
             LastTime = EndTime - StartTime;
             LastTime.DecodeTime(26h,&m,&s,&ms);
             DM_NET->T_TimeData->Edit();
             DM_NET->T_TimeData->FieldByName("EndTime")->AsDateTime = EndTime;
             DM_NET->T_TimeData->FieldByName("TimeMinites")->AsString = String(h) + "小时" + String(m) + "分钟";
             DM_NET->T_TimeData->Post();
             DM_NET->T_TimeData->Refresh();
          }
          try{
          CloseHandle(hCom);}
    0A      catch(...){}
    }
    —————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    —————————————————————————————————
      

  3.   

    我也正在学,共同进步,跟我联系。qq  16094338