BCB 中 YEAR(), MONTH(), TODAY()等函数的头文件是什么?

saucerman 2000-02-11 11:55:00
在C++ Builder中 YEAR(), MONTH(), TODAY()等函数的头文件是什么?
...全文
457 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
trybird 2000-03-19
  • 打赏
  • 举报
回复
我发的这张旧贴又被Hank大侠翻出,完全同意他的看法!!!
只是没法再给他加分了! :-<
lead21 2000-03-18
  • 打赏
  • 举报
回复
str1.substring(m,n)
Hank 2000-03-18
  • 打赏
  • 举报
回复
其实,类似的问题我也碰到过,不过岂止这些函数,象MID()、CODE()、LEFT()、RIGHT()等函数在帮助文件里能查到,但在程序中就是不能用!当时我把所有可能想到的头文件全部打开看过,甚至到Borland公司网站去查询帮助(可以查到,但毫无意义),很遗憾,根本没有!
这些问题我第一次碰到是ROUND()函数,帮助文件可以查到,但就是不能用。后来在转移数据库到SQL SERVER 7.0中时,终于发现问题的所在。原来这些函数是在ODBC中运用的!如果选择相应的数据库,这些函数均可使用。象ROUND()、YEAR()等函数均可在SQL SERVER 7.0中使用,而Mid()、Year()、Left()等函数均可在Access 97数据库中使用。
其实此类问题如果不是真正用BCB开发到这儿,是不可能碰到此类问题的,看似简单,实际不是那么回事。我也发过此类问题的帖子,但根本没有满意的答复,都是把这些问题简单化了。
这些函数可以用,也不用添加什么头文件,但是只能在相应数据库的SQL语句中使用。
如果有更新的想法,可以联系:
starfarm@yeah.net
我也有很多问题和大家一起交流!
radish 2000-02-12
  • 打赏
  • 举报
回复
请注意帮助的风格,就能发现YEAR()不是BCB自己提供函数。另我在我的机器上以下语句均通过了:
TDateTime TT=TDateTime::CurrentDate();
Edit1->Text=DateToStr(TT);
Edit2->Text=DateToStr(Date());
(没有其它语句)请查阅。
我改过机器的时间格式(控制面板中的区域控制,WIN98SE)也没有问题,我用的是BCB4+PATCH2
saucerman 2000-02-12
  • 打赏
  • 举报
回复
再次郑重悬赏,谁能够使用在BCB的HELP中说明了的YEAR(), MONTH(), TODAY()等函数
及DateOrder,DateFullYear,DateLeadZero的使用方法,请例程相告!!!

感谢radish及venne两位朋友,说句真话,你们的回答并不令我完全满意。
在BCB的Help中完全有YEAR(), MONTH(), TODAY()等函数的解释和示例,
我也经常使用VB,当然知道它有上述函数。这之前我也试过用老的C函数,
即引用<time.h>的time()和localtime(),程序能正常运行并得到想要的结果,
但就是一关闭程序时报内存出错,想尽办法也释放不掉,上述函数在其他地方
用过不会出错,但就在我的那段程序出错。另外如果能用TDateTime类
及其成员函数,如CurrentDate(),DecodeDate(),FormatString()等
能不出问题,我也不必费那么大劲了。您说可以,请给出例程。

其实,BCB的帮助写的实在糟糕透顶!再请看:

Currency and date/time formatting Example

This example uses a label and a button on a form.
When the user clicks the button, the current date
displays in the caption of the label. Because some
of the date variables are assigned new values,the
format of the date in the label changes.

For example, if the date is 9/15/94, the date
displays as 15-09-1994.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
DateOrder = doDMY;
DateSeparator = '-';
DateFullYear = true;
DateLeadZero = true;
Label1->Caption = DateToStr(Date());
}

相信只有“DateSeparator = '-';”这一句通得过。

实际问题我已解决,不过走得是曲线道路,我可不想让
用户在控制面板的区域设置里改来改去:

DateSeparator='.';
ShortDateFormat="yyyy.mm.dd";
LongDateFormat="yyyy.mm.dd";

如果你们有更好的方法,请给出例程。

再次郑重悬赏——谁能够使用在BCB的HELP中说明了的YEAR(), MONTH(), TODAY()
等函数及DateOrder,DateFullYear,DateLeadZero的使用方法,请例程相告!!!





saucerman 2000-02-12
  • 打赏
  • 举报
回复
谢谢radish朋友!愿今后还能多多指教。
我也是您提议建BCB Web Site的坚定支持者。
幸会了!
深圳浩成科技公司Programmer
行不更名,坐不改姓——张俊——是也!
BP:191-8836055
Tel:(0755)2117171 (Mon-Fri)
Mobile: 13008895958
E_mail: truejun@163.net
Venne 2000-02-11
  • 打赏
  • 举报
回复
BCB中有这些函数吗?BORLAND的产品关于日期的函数有DATE,有DATETIME,
有DAYOFWEEK等,你可以在帮助里查一查,如果需要把日期转换为年月日,可以使用DATETOSTR,之前呢要设置时间格式,或者用DecodeDAte过程把日期装到年,月,日三个变量中。如果要得到当前日期及时间,使用Now函数,返回的数据类型称为TDateTime类型。这些函数在Sysutils里声明。
你所讲的三个函数,听起来象是VB的东西。
radish 2000-02-11
  • 打赏
  • 举报
回复
我也没找到,看帮助风格,显示的是某一个类的MONTH,DAY。你用TDatetime吧,应该能解决你的问题。

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧