标题:[估价]金属相图温度采集软件
只看楼主
rainday008hyh
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-6-1
 问题点数:0 回复次数:9 
[估价]金属相图温度采集软件
花了3个月时间,给一家公司做了一个软件,不知道价值,望各位指点估价~!

实现功能: 采集外部温度变化(0—1000度),随时间变化的温度曲线图

主要功能:
1 文件操作: 保存曲线数据、读入曲线数据、保存bmp图形、打印和打印设置
2 采集设置: 曲线放大缩小(横纵坐标)、采集周期可以改变、
3 操作: 重新采集,开始采集,停止采集和刷新功能
4视图显示:显示每次采集的温度、时刻和当前采集数量,并作图

搜索更多相关主题的帖子: 温度 相图 软件 金属 采集 
2006-06-05 18:23
zinking
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:916
专家分:0
注 册:2004-12-5
得分:0 
恩,看上去处理的很不错,能写出这么好的程序,花点时间研究一下软件的估价阿
也是有前人的经验在那里的
我是,没到你这地步呢,这程序,不知道能不能写出来啊

http://kongfuziandlife. http://codeanddesign.
2006-06-05 22:09
rainday008hyh
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-6-1
得分:0 

这个程序目前只能做测试,其稳定性还不够好

主要是串口这一块处理 不够,当然能完成到这个地步,离不开各位朋友的帮忙求助,解决了些问题,再次感谢大家~!感谢这个网站给我的帮助

2006-06-06 13:04
lisypro
Rank: 4
等 级:业余侠客
威 望:3
帖 子:695
专家分:216
注 册:2005-9-25
得分:0 

他们给你多少钱呀


长期承接管理系统
代做各种vb/ / vc小程序
QQ:82341763
手机:13623290828
群号 11619730
2006-06-06 13:32
rainday008hyh
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-6-1
得分:0 

他们就给4000,我感觉付出了很多,至少6000吧

最近又加了些功能, 1 可选择定时声音报警,作出报警坐标,
2 5分钟自动保存

等最终弄好了给大家来分享
1 可选择定时声音报警,作出报警坐标,
AfxBeginThread((AFX_THREADPROC)sound,NULL,THREAD_PRIORITY_NORMAL);// 调用这个函数就能实现发声音

UINT CSerialPortTest2View::sound(LPVOID pParam)
{
HINSTANCE h=AfxGetInstanceHandle();
HRSRC hr=FindResource(h,"IDR_WAVE","WAVE");
HGLOBAL hg=LoadResource(h,hr);
LPSTR lp=(LPSTR)LockResource(hg);
sndPlaySound(lp,SND_MEMORY|SND_SYNC);
FreeResource(hg);
return 0;
}


2 .5分钟自动保存
SetTimer(3,1000*60*5,NULL); //5分钟自动保存

void CSerialPortTest2View::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default

switch(nIDEvent)
{
case 1:
{
//;
}break;
case 2: {
/////保存报警点坐标数据
XSound[Sound]= Xsave[Num];
YSound[Sound]= Ysave[Num];

Sound++;
//作出报警点,计算出坐标点
CString strX1,strX2,strY;
int X=200+Xsave[Num]/XX;
strX1.Format("%02d",Xsave[Num]%3600/60);//分
strX2.Format("%02d",Xsave[Num]%3600%60);//秒

int Y=600-Ysave[Num]*YY;
strY.Format("%d",Ysave[Num]);
pDC->SetTextColor (RGB (0,0,255));
pDC->TextOut(X,Y,"("+strX1+":"+strX2+","+strY+")");//显示接收到的数据
////坐标做点
CPen pen(PS_SOLID, 5, RGB(0, 0, 0)); //黑
pDC->SelectObject(pen); //
pDC->MoveTo(X,Y);
pDC->LineTo(X,Y);//鼠标所在坐标做点
AfxBeginThread((AFX_THREADPROC)sound,NULL,THREAD_PRIORITY_NORMAL);// 发声音
}
break; //定点报时
case 3:
AutoSave5();
pDC->SetTextColor (RGB (255,20,25)); //暗绿
pDC->TextOut(200,630,"系统消息: 已成功自动保存当前相图数据文件—〉SaveDat.hlf");//
SetTimer(4,8000,NULL); //定时器4用来稳定延时显示 “成功自动保存文件SaveDat.hlf”
break; //5分钟自动保存
case 4:
pDC->TextOut(200,630," ");//
KillTimer(4);
break; //定时器4用来稳定延时显示 “成功自动保存文件SaveDat.hlf”

default: break;
}
ReleaseDC(pDC);
CView::OnTimer(nIDEvent);
}

void CSerialPortTest2View::AutoSave5()
{
CFile file;
file.Open("SaveDat.hlf",CFile::modeCreate|CFile::modeWrite);
/////以(x,y)形式保存入txt文档
CString strX,strY;
int i;
for ( i=0;i<Num_S;i++) /////////////////////!!!!!!!!!!!!!!
{
strX.Format("%04d",Xsave[i]);
strY.Format("%03d",Ysave[i]);
int nL=strX.GetLength()+strY.GetLength()+2;
file.Write(strX+","+strY+" ",nL);
}
file.Close();
}

2006-06-07 01:46
dragonfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1024
专家分:0
注 册:2006-3-20
得分:0 
3个月得到6K太少了吧?
楼主在打印方面能否指导一下哥们?请看下面的帖子:

http://www.bc-cn.net/bbs/dispbbs.asp?boardID=55&ID=70284&page=1

2006-06-07 09:47
rainday008hyh
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-6-1
得分:0 

熟人的公司,又是第一次做,整体稳定性不够好,6000差不多了

我只会打印BMP位图:
建立一个单文档视:头文件中添加OnPrint(CDC* pDC, CPrintInfo* pInfo);
OnDraw(pDC);重绘就OK了,可以打印和打印设置,不能打印预览~!
我曾经成功把每个象素在打印预览显示出来,但打印就是没有反映,不知为何

public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CSerialPortTest2View)
public:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
virtual void OnInitialUpdate();
protected:
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnPrint(CDC* pDC, CPrintInfo* pInfo);////打印//
//}}AFX_VIRTUAL

void CSerialPortTest2View::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{

CRect rct;
GetClientRect(rct);
pDC->SetMapMode(MM_ANISOTROPIC);
CDC* pViewDC = GetDC();
int numx=pViewDC->GetDeviceCaps(LOGPIXELSX);
int numy=pViewDC->GetDeviceCaps(LOGPIXELSY);

int w=pInfo->m_rectDraw.Width();
int h=pInfo->m_rectDraw.Height();

//转换坐标映射方式
CSize size = CSize(GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN));
pDC->SetWindowExt(size);
//确定窗口大小
//得到实际设备每逻辑英寸的像素数量
int xLogPixPerInch = pDC->GetDeviceCaps(LOGPIXELSX);
int yLogPixPerInch = pDC->GetDeviceCaps(LOGPIXELSY);
//得到设备坐标和逻辑坐标的比例

long xExt;
long yExt;
xExt=(long)(size.cx*xLogPixPerInch/numx) ;
yExt=(long)(size.cy*yLogPixPerInch/numy) ;
pDC->SetViewportExt((int)xExt, (int)yExt);
OnDraw(pDC);
}

2006-06-07 19:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-69929-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.094918 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved