触摸屏应用相关技术之五——自动更新
自动更新核心是ftp客户端,以递归方式比较本地目录与ftp目录时间戳,如果不一致,则将远程ftp目录或者文件同步到本地。
需要注意的是,iis提供的ftp服务与本地系统,存在时区,系统时间的不一致,在进行时间戳比较时需要进行转换。另外,文件下载到本机以后,也需要修改文件的“修改时间”。
关键代码如下:
比较时间戳:
BOOL bUpdate=TRUE;
FILETIME fft,lt;
SYSTEMTIME stFTP;
m_pFtpFind.GetLastWriteTime(&fft);
FileTimeToSystemTime(&fft, &stFTP);
CTime ctu(stFTP);
AfxGetMainWnd()->GetDlgItem(IDC_OUT)->SetWindowText(ftpname);
CFileFind m_pFind;
diskname=m_pathLocal+strDir+strFileName;
diskname.Replace("/","\\");
BOOL bExist = m_pFind.FindFile(diskname);
if(bExist){
bExist = m_pFind.FindNextFile();
m_pFind.GetLastWriteTime(<);
//FileTimeToSystemTime(<, &stLocal);
CTime ctl(lt);
if(ctu==ctl)
bUpdate=FALSE;
}
m_pFind.Close();
下载后修改时间:
if(bUpdate){
BOOL bSucc = m_pFtpConnection->GetFile(ftpname,diskname,FALSE);
struct _utimbuf utm;
utm.modtime = ctu.GetTime();
utm.actime = utm.modtime;
_utime(diskname,&utm);
//有需要替换的系统dll,需要删除自动加载后重新启动
if(diskname.Find(PATHDLL)!=-1){
bDllUpdate = TRUE;
}
//todo regsvr32 /u
if(diskname.Find(".ocx")!=-1){
CString sd;
sd.Format("/s %s",(LPCTSTR)diskname);
ShellExecute(NULL,NULL,"regsvr32.exe",sd,NULL,SW_SHOWNORMAL);
log(sd,"regsvr32");
}
CString sf;
sf.Format("%d %s",bSucc,(LPCTSTR)ftpname);
log(sf,"Download");
}
分享到:
相关推荐
《PLC触摸屏变频器综合应用技术——基于S7-300硬件模块的认知》 在现代工业自动化领域,PLC(可编程逻辑控制器)、触摸屏和变频器是三大核心组件,它们共同构建了高效、灵活的控制系统。本文将深入探讨PLC触摸屏...
"Android应用源码项目之——漂亮的平台书架"是一个实用的示例项目,它展示了如何在Android中实现这样的功能。通过下载并研究这个源码,开发者可以学习到如何构建具有吸引力的图书展示界面,以及相关的技术与设计原则...
本文主要介绍的是罗克韦尔旗下的一款重要产品——AB触摸屏,具体型号为PanelViewPlus2711P。 首先,我们需要了解AB触摸屏的基本信息。AB触摸屏是一种人机界面,广泛应用于工业控制系统。PanelViewPlus2711P是...
西门子触摸屏是工业自动化领域中常用的交互设备,它能提供直观的操作界面,便于用户与设备进行交互。本文将详细介绍如何配置西门子触摸屏,使其在上电时显示初始画面几秒钟后自动切换到下一个画面。 首先,我们需要...
这个“安卓Andriod源码——自动判断位置的弹出菜单.zip”文件包含了一些关键资源和代码示例,帮助开发者理解和实现这一功能。以下是关于这个主题的详细知识点: 1. **PopupWindow**: 安卓中的`PopupWindow`类是用于...
【标题】"PLC触摸屏变频器综合应用技术图形IO域的组态"主要涵盖了工业自动化领域中三种核心技术——可编程逻辑控制器(PLC)、触摸屏和变频器的集成应用,特别是针对图形IO域的配置方法。这篇文章可能是16页的详细...
课程涉及变频器、触摸屏等设备的应用,是培养高职学生自动化工程实践能力和创新能力的重要课程。文章强调,通过有效的课程思政设计,能够培养出具备“理论自信、道路自信、制度自信、文化自信”的高素质人才。 为此...
本项目“Android自定义标签view——可自动换行”提供了一种解决方案,使得在界面上显示的标签可以按照屏幕大小自动换行,从而避免了内容溢出的问题。下面将详细介绍这个项目及其相关知识点。 1. 自定义View:在...
驱动程序可以分为字符设备、块设备、网络设备等类型,开发者需要掌握C语言编程和Linux驱动模型,如I2C、SPI、GPIO等总线驱动以及摄像头、触摸屏等特定设备驱动的编写。 4. **HAL(硬件抽象层)**:HAL是Android架构...
【维纶触摸屏程序实例】是关于工业自动化领域中一种常见的人机交互设备——触摸屏的应用实例。在工业生产环境中,触摸屏作为人机界面(HMI)扮演着至关重要的角色,它允许操作员直接通过触摸操作来控制和监控设备...
### 四、案例分析——三菱触摸屏在自动生产线中的应用 在现代工业生产线上,三菱触摸屏作为人机界面,不仅可以显示实时的生产数据,还能通过预设的控制程序,实现对生产设备的远程监控和调整。例如,在食品包装线上...
### 西门子触摸屏HMI变量的指针化索引应用详解 #### 一、引言 在工业自动化领域,尤其是涉及到多个相似设备管理的情况下,如何高效地管理和展示这些设备的状态信息成为了一个重要的问题。西门子触摸屏提供了一种...
贝加莱公司提供的自动化技术在塑料行业中扮演了重要角色,其技术核心涵盖了开放式标准的应用、高性能控制技术、总投资成本考虑、客户定制化操作面板系列、标准/个性化解决方案、配置优化降低研发成本、全方位的系统...
《MCGS昆仑通态触摸屏选型手册——E系列2021版》是针对MCGS(Make Control Go Simple)公司旗下E系列触摸屏的一份详细指导文档,旨在帮助用户选择最适合其应用需求的触摸屏产品。MCGS昆仑通态是一家专注于工业自动化...
"VGA工控板——PLC驱动液晶显示器、触摸屏" VGA工控板是一种高性能的工业控制板,专门为PLC(Programmable Logic Controller)而设计,能够驱动液晶显示器、触摸屏,并支持多种PLC协议和通信方式。该板卡支持的PLC...
2. 人机界面:配备触摸屏显示器,方便操作员输入参数和监控设备状态。 3. 安全防护:增设安全门和急停按钮,确保操作安全。 4. 自动换刀装置:对于多工序加工,可以设计自动换刀机构,提高工作效率。 四、论文撰写 ...
本文介绍了一种基于可编程逻辑控制器(PLC)和触摸屏来控制三相异步电动机星三角降压启动的技术方案。星三角降压启动是一种广泛应用于大功率电动机的启动方法,它通过在启动初期降低电动机的启动电流,以减少对电网...
下面我们将详细探讨iOS评分组件的实现原理和相关技术知识点。 首先,iOS应用中的评分组件通常由UI设计和Swift或Objective-C编程语言实现。这里我们主要讨论Swift,因为它是苹果推荐的新一代编程语言,更易于理解和...