#ifndef _BINFILES_H_YBCHEN_
#define _BINFILES_H_YBCHEN_
/***************************************************************************\
* yb_base.h -- Victor Base Classes, version 1.2.2.2 *
*---------------------------------------------------------------------------*
* 文件、目录 (文件夹) 和日期、时间的处理 *
* 多语言支持 (ANSI, GB2312/GBK, BIG5) *
* Build Jun.29,2003 *
*---------------------------------------------------------------------------*
* Copyright (C) 1997-2003, Victor Chen. *
* Homepage: http://www.cppfans.com/ *
* email: victor@cppfans.com *
\***************************************************************************/
#include <VCL.h>
#include <StdIO.h>
#include <Share.h>
#include <DOS.h>
#include <DIR.h>
#include <IO.h>
#include <WinSock.h>
#include <Registry.hpp>
#include <Graphics.hpp>
#include <Controls.hpp>
//---------------------------------------------------------------------------
//=========================================================================//
// DateX: 日期处理 //
//=========================================================================//
class PACKAGE DateX
{
public:
inline DateX() { Today(); }
inline DateX(TDateTime x) { Assign(x); }
inline DateX(long Year, int Month, int Day) { Assign(Year, Month, Day); }
inline void Today(void) { Assign(::Date()); }
void NextMonth(int m=1);
void Assign(TDateTime x);
void Assign(long Year, int Month, int Day);
__property int Month = { read = _Month , write = SetMonth }; //Month
__property int Day = { read = _Day , write = SetDay }; //Day
__property int Year = { read = GetYear , write = SetYear }; //Year
__property long YearL = { read = _Year , write = SetYearL }; //Year
__property long D111 = { read = _lDays111, write = SetD111 }; //Days from 01/01/0001
__property int DOW = { read = _DOW }; //Day of Week, 0:Sun, 1:Mon ... , 6:Sat
__property int MonthDays = { read = GetMonthDays };
__property bool IsLeap = { read = _isLeap };
__property bool IsValid = { read = _isValid };
inline operator TDate() { return EncodeDate(Year,Month,Day); }
inline DateX operator ++(int) { DateX td(*this); D111++; return td; } //日期 = 日期++
inline DateX operator --(int) { DateX td(*this); D111--; return td; } //日期 = 日期--
inline DateX operator ++() { D111++; return *this; } //日期 = ++日期
inline DateX operator --() { D111--; return *this; } //日期 = --日期
inline DateX operator +=(long L) { D111+=L; return *this; } //日期 = 日期 += 天数
inline DateX operator -=(long L) { D111-=L; return *this; } //日期 = 日期 -= 天数
inline DateX operator +(int i) { DateX td(*this); td.D111+=i; return td; } //日期 = 日期 + 天数
inline DateX operator -(int i) { DateX td(*this); td.D111-=i; return td; } //日期 = 日期 - 天数
inline int operator -(DateX d) { return D111 - d.D111; } //天数 = 日期 - 日期
inline bool operator > (DateX d) { return D111 > d.D111; }
inline bool operator < (DateX d) { return D111 < d.D111; }
inline bool operator >=(DateX d) { return D111 >= d.D111; }
inline bool operator <=(DateX d) { return D111 <= d.D111; }
inline bool operator ==(DateX d) { return D111 == d.D111; }
inline bool operator !=(DateX d) { return D111 != d.D111; }
int GetMonthDays(int Month);
inline int GetMonthDays(void) { return GetMonthDays(_Month); }
private:
inline int GetYear(void) { return (int) _Year; }
inline void SetMonth(int m) { Assign(_Year, m, _Day); }
inline void SetDay(int d) { Assign(_Year, _Month, d); }
inline void SetYear(int y) { Assign( y, _Month, _Day); }
inline void SetYearL(long y) { Assign( y, _Month, _Day); }
bool _isLeap(void);
bool _isValid(void);
void SetD111(long d); // Assign Days from 1-1-1
void AssignDOW(void); // Assign Day of Week
void DateToY111(void); // _Year, _Month, _Day --> _Days111
void Y111ToDate(void); // _Days111 --> _Year, _Month, _Day
int _DOW, _Month, _Day;
long _Year, _lDays111;
};
class PACKAGE TimeX
{
public:
inline TimeX() { Now(); }
inline TimeX(TDateTime x) { Assign(x); }
inline TimeX(int Hour, int Minute, int Second) { Assign(Hour, Minute, Second); }
inline void Now(void) { Assign(::Time()); }
void Assign(TDateTime x);
void Assign(int Hour, int Minute, int Second);
__property int Hour = { read = _Hour , write = SetHour };
__property int Minute = { read = _Minute , write = SetMinute };
__property int Second = { read = _Second , write = SetSecond };
__property long S000 = { read = _lSeconds000, write = SetSecs000 };
__property bool IsValid = { read = _isValid };
inline operator TTime() { return EncodeTime(Hour,Minute,Second,0); }
inline TimeX operator ++(int) { TimeX tt(*this); S000++; return tt; }
inline TimeX operator --(int) { TimeX tt(*this); S000--; return tt; }
inline TimeX operator ++() { S000++; return *this; }
inline TimeX operator --() { S000--; return *this; }
inline TimeX operator +=(long L) { S000+=L; return *this; }
inline TimeX operator -=(long L) { S000-=L; return *this; }
inline TimeX operator +(int i) { TimeX tt(*this); tt.S000+=i; return tt; }
inline TimeX operator -(int i) { TimeX tt(*this); tt.S000-=i; return tt; }
inline int operator -(TimeX t) { return S000 - t.S000; }
inline bool operator > (TimeX t) { return S000 > t.S000; }
inline bool operator < (TimeX t) { return S000 < t.S000; }
inline bool operator >=(TimeX t) { return S000 >= t.S000; }
inline bool operator <=(TimeX t) { return S000 <= t.S000; }
inline bool operator ==(TimeX t) { return S000 == t.S000; }
inline bool operator !=(TimeX t) { return S000 != t.S000; }
private:
inline void SetHour(int h) { Assign( h, _Minute, _Second); }
inline void SetMinute(int m) { Assign(_Hour, m, _Second); }
inline void SetSecond(int s) { Assign(_Hour, _Minute, s); }
void SetSecs000(long);
void TimeToT000(void);
void T000ToTime(void);
bool _isValid(void);
int _Hour, _Minute, _Second;
long _lSeconds000;
};
class PACKAGE DateTimeX
{
public:
inline DateTimeX() { /* current time */ }
inline DateTimeX(__int64 i) { Assign(i); }
inline DateTimeX(TDateTime x) { Assign(x); }
inline DateTimeX(DateX d, TimeX t) { Assign(d,t); }
inline DateTimeX(int y, int m, int d, int h, int n, int s) { Assign(y,m,d,h,n,s); }
inline void Now(void) { Assign(::Now()); }
inline void NextMonth(int m=1) { _xDate.NextMonth(m); }
void Assign(__int64 i);
void Assign(TDateTime x);
void Assign(DateX d, TimeX t);
void Assign(int y, int m, int d, int h, int n, int s);
__property int Month = { read = fGetMonth , write = fSetMonth };
__property int Day = { read = fGetDay , write = fSetDay };
__property int Year = { read = fGetYear , write = fSetYear };
__property int Hour = { read = fGetHour , write = fSetHour };
__property int Minute = { read = fGetMinute, write = fSetMinute};
__property int Second = { read = fGetSecond, write = fSetSecond};
没有合适的资源?快使用搜索试试~ 我知道了~
VCL.rar_VCL单片机_supercom vcl控件
共21个文件
h:5个
bpl:4个
bpi:4个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 11 浏览量
2022-09-24
19:16:42
上传
评论
收藏 431KB RAR 举报
温馨提示
一个VCL控件 1.针对与①单片机通讯②传递大量复杂数据, 加强了数据包功能: 增加了 PackageType 和 PackageInterval 两个属性。 PackageType 允许设置数据包的格式, 可设置包括与以前兼容、帧首尾和控制符、使用超时等三种类型的数据包格式。 PackageInterval 属性: 如果 PackageType 为超时判断数据首尾, 这个属性设置超时时间(毫秒)。 ①使用超时的方法适用于与单片机和仪表通讯的大部分情况 ②使用帧首尾和控制符的方法适用于大量复杂的数据传输, 例如文件收发等。
资源详情
资源评论
资源推荐
收起资源包目录
VCL.rar (21个子文件)
VCL
Unit_YbCommDevice_Settings.dfm 8KB
YBComm32.h 6KB
TComm32.h 12KB
YbCommDevice.h 11KB
yb_base_c6.lib 136KB
Unit_YBComm32_Settings.dfm 8KB
_desktop.ini 10B
yb_comm_c6.bpi 19KB
Unit_YBComm32_About.dfm 5KB
yb_base_c5.bpi 9KB
TCommPkg.h 7KB
yb_comm_c6.lib 245KB
yb_base_c5.lib 137KB
yb_base_c5.bpl 110KB
yb_comm_c5.bpl 118KB
yb_base_c6.bpl 110KB
yb_comm_c5.bpi 19KB
yb_comm_c5.lib 264KB
YB_BASE.H 35KB
yb_base_c6.bpi 9KB
yb_comm_c6.bpl 120KB
共 21 条
- 1
周楷雯
- 粉丝: 78
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0