int YMODEMCLASS::CheckDataBlock0(void) { int rVal=FT_SUCCESS ; char *path ; path = new char[256] ; if (Status) { lpStatus->writeName = TRUE ; lstrcpy(lpStatus->filename, lpBuffer) ; lpStatus->blocksize +=128 ; lpStatus->blockno++ ; lpStatus->UpdateStatusWindow() ; if (lpStatus->transferStop) return FT_LOCALCANCEL ; lpStatus->writeName = FALSE ; } if (lpBuffer[0]=='\0') { CommPutChar (oiConn, ACK) ; if(Status) DestroyWindow(lpStatus->hStatus) ; return(FT_FILEEND); } sprintf (path, "%s\\%s", directory, lpBuffer) ; if (!lpBuffer[lstrlen (lpBuffer)+1]) { length = 0L; moddate = 0L ; } else { sscanf(&lpBuffer[lstrlen(lpBuffer)+1], "%ld %lo", &length, &moddate) ; } OFSTRUCT of ; if (hFile!=HFILE_ERROR) { CloseHandle (hFile) ; hFile = HFILE_ERROR ; } if (hFile==HFILE_ERROR) { char *filename = CutFileName (path) ; hFile = CreateFile (filename, &of, OF_CREATE) ; } if (hFile!=HFILE_ERROR) { rvDataCount = 0 ; setmem(lpBuffer, maxblocksize, ' ') ; CommPutChar (oiConn, ACK) ; bLastSeq = bSeq ; bSeq++ ; dataBlock0 = FALSE ; fltr_state = WAIT_SOH ; } else rVal =FT_LOCALCANCEL ; return rVal ; }
BOOL BestrowJSJDH::OnInitDialog() { CDialog::OnInitDialog(); CString FileName; FileName=CutFileName(BestrowJSJDH::WriteFileName,50); CEdit *m_Edit=(CEdit *)GetDlgItem(IDC_EDIT1); m_Edit->SetWindowText(FileName); if(m_pGridCtrl==NULL) // 引用GridCtrl 类 m_pGridCtrl=new CGridCtrl; CRect rect1,rect2,rect3; this->GetWindowRect(rect1); CButton *m_Bt=(CButton *)GetDlgItem(IDOK); m_Bt->GetWindowRect(rect2); rect3.left=rect1.left; rect3.right=rect1.right-10; rect3.top=rect1.bottom/4; rect3.bottom=(LONG)(3*rect1.bottom/4.5); m_pGridCtrl->Create(rect3,this,100); m_AddOrUpdate=0; SetWindowCenter(this->m_hWnd); UpdateData(false); _RecordsetPtr rscount; CString Sql,SqlCount; int count; rs.CreateInstance(__uuidof(Recordset)); rscount.CreateInstance(__uuidof(Recordset)); SqlCount.Format("SELECT count(*) FROM ZY WHERE VolumeID=%d",EDIBgbl::SelVlmID); rscount->Open(_variant_t(SqlCount),JSJDH_Dlg_pCon,adOpenDynamic,adLockOptimistic,adCmdText); Sql.Format("SELECT * FROM ZY WHERE VolumeID=%d",EDIBgbl::SelVlmID); rs->Open(_variant_t(Sql),JSJDH_Dlg_pCon,adOpenDynamic,adLockOptimistic,adCmdText); m_pGridCtrl->SetRedraw(false); m_pGridCtrl->SetRedraw(true); m_pGridCtrl->SetColumnCount(2); m_pGridCtrl->SetRowCount(long(rscount->GetCollect(_variant_t(long(0))))+1); m_pGridCtrl->SetFixedRowCount(1); m_pGridCtrl->SetFixedColumnCount(1); m_pGridCtrl->SetFocusCell(-1,-1); m_pGridCtrl->SetSelectedRange(-1,-1,-1,-1); rscount->Close(); m_pGridCtrl->SetColumnWidth(0,100); m_pGridCtrl->SetColumnWidth(1,rect3.right-100-10); GV_ITEM Item; Item.mask=GVIF_TEXT|GVIF_FORMAT; Item.nFormat = DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_NOPREFIX; Item.row=0; Item.col=0; Item.strText.Format("管系文件序号"); m_pGridCtrl->SetItem(&Item); Item.row=0; Item.col=1; Item.strText.Format("管系对应的应力分析结果数据文件"); m_pGridCtrl->SetItem(&Item); count=1; while(!rs->adoEOF) { Item.col=0; Item.row=count; Item.strText.Format("%d",count); m_pGridCtrl->SetItem(&Item); Item.col=1; Item.strText.Format(vtos(rs->GetCollect("FileName"))); m_pGridCtrl->SetItem(&Item); rs->MoveNext(); count++; } m_pGridCtrl->EnableWindow(false); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }