问题现象:我想大家都遇到过在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. 我的PHP之旅--认识数据库及数据库操作

    数据库基本知识 什么是数据库服务器:安装了数据库软件的电脑,就是数据库服务器,同理安装了Apache软件的电脑就是www服务器. 什么是DBMS:database management system( ...

  2. cocos2dx3.4 保存json文件

    头文件: #include "json/document.h" #include "json/stringbuffer.h" #include "js ...

  3. ubuntu下的文本查看相关命令

    文本查看 1.cat命令(查看文本内容) 使用时三种常用模式 (1)cat 文本名 直接查看文本内容 (2)cat 文本名 -n 直接查看文本内容,但为文本中所有行编号 (3)cat 文本名 -b 直 ...

  4. ORACLE VS MYSQL

    ORACLE VS MYSQL 一.历史 1.  Oracle: 中文译作甲骨文,这是一家传奇的公司,有一个传奇的大老板Larry Ellision. Ellision 32岁还一事无成,读了三个大学 ...

  5. 华为机试题——数组排序,且奇数存在奇数位置,偶数存在偶数位置

    题目要求很简单,就是给你一个数组,对它进行排序,并且排序后,奇数要放在奇数的位置上,偶数要放在偶数的位置上,如果不满足这个规则的话就在数组上填充0 实现代码如下,文中值得注意的一点就是如何判读这个数字 ...

  6. 服务器部署_nginx的host not found in upstream "tomcat_www.bojinne" 错误解决办法

    今天修改了nginx.conf之后,nginx-t报错. 1. 网上多认为此错误需要修改/etc/hosts,添加该域名对应的ip 2. 我自己的解决方案是仔细核对 upstream 后面的字符 和  ...

  7. 判断微信内置浏览器的UserAgent

    要区分用户是通过"微信内置浏览器"还是"原生浏览器"打开的WebApp, 可以通过navigator.userAgent来进行判断. 以下是对各种平台上微信内置 ...

  8. matlab 画图

    先前讲解了简单绘图方法: http://www.cnblogs.com/youxin/p/3859923.html x = 0:pi/100:2*pi; y = sin(x); plot(x,y)下面 ...

  9. 【HDOJ】1241 Oil Deposits

    经典的BFS. #include <stdio.h> #include <string.h> #define MAXNUM 105 #define MAXROW 105 #de ...

  10. libvlc 双击,鼠标事件消息响应

    基于vlc 2.1 动态库实现接收双击消息的接收,使双击vlc播放画面可以全屏显示. 需要其他版本的vlc可以与我联系(有偿进行修改) 下载地址:http://download.csdn.net/de ...