예제 #1
0
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 ;	
}
예제 #2
0
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
}