问题现象:我想大家都遇到过在XP上没有问题的日期格式,到了WIN7之后就不行了。

问题原因:因为在WIN7中增加了新的日期格式,但是老的DELPHI未处理(如果我说错了,希望高人指点)。

问题处理:

function StrToDateWin7(DateStr: string): TDateTime;
var
  T: TDateTime;
  Fs: TFormatSettings;
begin
  try
    Fs.ShortDateFormat := 'yyyy-mm-dd';
    Fs.DateSeparator := '-';
    T := StrToDate(DateStr, Fs);
  except
    T := StrToDate('1899-01-01', Fs);
  end;
  Result := T;
end;

PS:

DateSeparator :Char

日期分隔符,用于分隔年月日 
TimeSeparator :Char 
时间分隔符,用于分隔小时,分钟,秒 
ShortDateFormat:String 
区域设置中短日期格式的定义。 
LongDateFormat :String 
区域设置中长日期格式的定义。 
ShortTimeFormat:String 
区域设置中短时间格式的定义。 
LongTimeFormat :String 
区域设置中长时间格式的定义。 
TimeAMString :String 
用来表示上午的字符串 
TimePMString :String 
用来表示下午的字符串 
ShortMonthNames:array[1..12] of String; 
用于缩略表示月份名称的数组,就是在使用FormatDateTime时显示的mmm标识的字符串 
LongMonthNames:array[1..12] of String; 
用于完整表示月份名称的数组,就是在使用FormatDateTime时显示的mmmm标识的字符串 
ShortDayNames :array[1..7] of String; 
用于缩略表示星期名称的数组,就是在使用FormatDateTime时显示的ddd标识的字符串 
LongDayNames :array[1..7] of String; 
用于完整表示星期名称的数组,就是在使用FormatDateTime时显示的ddd标识的字符串 
TwoDigitYearCenturyWindow:Word = 50; 
在使用两位年份时的起始年份。

问题-[Delphi7]程序在WIN7电脑上的日期错误处理的更多相关文章

  1. java程序怎么在一个电脑上只启动一次,只开一个进程

    目录 <linux文件锁flock> <NIO文件锁FileLock> <java程序怎么在一个电脑上只启动一次,只开一个进程> 方案1: 单进程程序可以用端口绑定 ...

  2. 如何在Win7电脑上增加新磁盘分区?

    原文链接: https://www.cnblogs.com/haoxitong/p/9405497.html 我们在重装好系统Win7系统后有时会碰到需要新建磁盘分区的情况,这时我们再重装系统进行磁盘 ...

  3. 用802.11n 加速,将android手机屏幕投影到win7电脑上

    在做Android应用开发的时候,经常需要将已经完成的应用展示给一同开发的小伙伴,然而一直感觉没有找到一种十分方便的办法.特别是看到了开发IOS的小伙伴在做展示的时候的方便.因为Apple既做PC,也 ...

  4. 关于使用dotnetbar开发winform程序在用户电脑上部署时问题

    1.首先要安装两个软件

  5. Delphi下如何使程序在Win7/Vista上用管理员权限运行(转)

    Delphi程序必须在资源里面嵌入MANIFEST信息 一 首先编辑一个文件,内容如下: <?xml version="1.0" encoding="UTF-8&q ...

  6. pyinstaller打包好的.exe程序在别的电脑上运行出错

    打开.exe提示: Failed to execute script... 查看命令行错误提示为: 总的来说呢,就是有的版本pyqt5库对系统变量的加载存在bug,具体原因只有官方才能解释了,咱也没法 ...

  7. 关于C++编译的程序无法在新一台电脑上运行总结

    最近在调用一个SDK调试一个主板的DPIO. 可是编译好的程序在开发电脑上运行没问题,到了新主板建立的电脑系统上就出问题. 总结了下要注意一下几方面. 1:程序本身要没有问题.至少在开发电脑系统环境下 ...

  8. vs2012编译在win7 32位电脑和win xp电脑上运行的win32程序遇到的问题记录

    一.win7 32位电脑: vs2012编译的64位程序是没有问题的.但编译的32位程序在别的电脑(虚拟机模拟)出错: 感觉很无语,vs这么牛逼的东西,在设计时候都不考虑这些吗? 在自己电脑C:\Wi ...

  9. 用VS2010编写的C++程序,在其他电脑上无法运行,提示缺少mfc100.dll的解决办法

    问题: 在自己电脑上用VS2010编写的VC++程序(使用MFC库),不能在其他电脑上运行.双击提示: "无法启动此程序,因为计算机中丢失mfc100.dll 尝试重新安装该程序以解决此问题 ...

随机推荐

  1. iOS8上放大缩小的动画

    CGAffineTransformMakeScale这个方法我们以前经常使用,但是在IOS8上出现问题了 [UIView animateWithDuration:0.3 animations:^{ b ...

  2. @Transient注解

    以下两个包都包含@Transient注解 java.beans.Transient; javax.persistence.Transient; 使用@Transient时注意区别二者

  3. 浏览器因cookie设置HttpOnly标志引起的安全问题

    1.简介 如果cookie设置了HttpOnly标志,可以在发生XSS时避免JavaScript读取cookie,这也是HttpOnly被引入的 原因.但这种方式能防住攻击者吗?HttpOnly标志可 ...

  4. RubyCritic:一款不错的检测代码质量工具

    关注代码质量是高效开发必须要做的一件事,那么在 Ruby 开发的过程中,是否有什么好的代码质量检测工具呢?下面由 Ruby 工程师路英瑞介绍一下 RubyCritic--一款还不错的代码质量检测工具. ...

  5. Qt中的多线程编程

    http://www.ibm.com/developerworks/cn/linux/l-qt-mthrd/ Qt 作为一种基于 C++ 的跨平台 GUI 系统,能够提供给用户构造图形用户界面的强大功 ...

  6. 存储过程系列之存储过程sql数据库调用和程序代码调用

    1.存储过程,无参数的存储过程 创建无参数存储存储过程 Create Procedure DCEMREMR_TEMPLATEAs SELECT TOP 10 [FILENAME],[FILETITLE ...

  7. FORM - 实现某数据项自动按记录序号加一操作

    ---- 设块名为VO,要操作的数据项为VO_ID,在该块中建立块级触发子WHEN-CREATE- RECORD,每当生成新记录时VO_ID就会自动加一了,加入如下代码: :VO_ID:=:Syste ...

  8. URAL1018. Binary Apple Tree

    链接 简单树形DP #include <iostream> #include<cstdio> #include<cstring> #include<algor ...

  9. hadoop 原理: 浅析Hadoop文件格式

    Hadoop 作为MR 的开源实现,一直以动态运行解析文件格式并获得比MPP数据库快上几倍的装载速度为优势.不过,MPP数据库社区也一直批评Hadoop由于文件格式并非 为特定目的而建,因此序列化和反 ...

  10. Response.Write用法总结

    问题一: Response.Write 后连接Response.Redirect ,则Response.Write无法显示,直接跳转入Response.Redirect 的页面. 解决方案: Resp ...