主页
Top.Mail.Ru Yandeks.Metrika
论坛:“主要”;
当前存档:2009.01.04;
下载:[xml.tar.bz2];

向下

打印月份 找到类似的分支


Бэтман   (2008-03-10 23:07) [0]

需要以字符串形式打印月份
例如
二月
十二月
有什么功能吗?



DVM ©   (2008-03-10 23:15) [1]


>有任何功能吗?

在德尔福,不。 更确切地说,有,但她不会那样找你。



Бэтман   (2008-03-10 23:18) [2]

也就是说,仅通过案例?



DVM ©   (2008-03-10 23:20) [3]

因此,请尝试一下(格式字符串是您想要的心情)

函数GetDate:字符串;
VAR
st:TSystemTime;
日期,FormatString:PChar;
DateSize,FormatStringSize:整数;
开始
结果:=“”;
FormatStringSize:= GetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_SLONGDATE,无,0);
GetMem(FormatString,FormatStringSize * SizeOf(Char));
GetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_SLONGDATE,FormatString,FormatStringSize);
GetLocalTime(st);
DateSize:= GetDateFormat(LOCALE_USER_DEFAULT,0,nil,FormatString,nil,0);
GetMem(Date,DateSize * SizeOf(Char));
GetDateFormat(LOCALE_USER_DEFAULT,0,@ st,FormatString,Date,DateSize * SizeOf(Char));
结果:=日期;
FreeMem(日期);
FreeMem(FormatString);
结束;



Игорь Шевченко ©   (2008-03-11 00:38) [4]

FormatDateTime没有帮助吗?



KilkennyCat ©   (2008-03-11 00:55) [5]

> [2]蝙蝠侠(10.03.08 23:18)
>即仅通过案例吗?


您读过枚举类型吗? 通常在有关Delphi的书的前五十页中对它们进行描述。



Amoeba ©   (2008-03-11 12:19) [6]

QStrings库。 用于日期的“功能”部分。
http://www.torry.net/vcl/vcltools/text/adqstrings.zip



DVM ©   (2008-03-11 12:22) [7]


> Igor Shevchenko©(11.03.08 00:38)[4]
> FormatDateTime没有帮助吗?

情况有问题。 二月я -没有。



KSergey ©   (2008-03-11 13:04) [8]

如果您始终确实需要俄语,则在正确的情况下使用带有月份名称的数组。 仅此而已。



Amoeba ©   (2008-03-11 13:18) [9]


> KSergey©(11.03.08 13:04)[8]
>
>如果您始终需要完全使用俄语,则使用带驱动名称的数组
在理想情况下>个月。 仅此而已。

QStrings就是这样做的。



Семеныч   (2008-03-11 18:51) [10]

我将鼠标“移动到手表所在的位置”(更确切地说,在手表本身上)。 我看到提示:11三月а 先生2008

现在回答三个问题:
1。 谁用正确的大小写组成字符串? 窗户
2。 VCL中是否有相应的包装器? 当然可以。
3。 很难找到她吗? 当然不是。



{RASkov} ©   (2008-03-11 18:54) [11]

> [10] Semenych(11.03.08 18:51)

好吧,在[3]中-这似乎正是要决定的...)



Семеныч   (2008-03-11 18:57) [12]

> {RASkov}©(11.03.08 18:54)[11]

是的,但部分。 仅1个。



clickmaker ©   (2008-03-11 18:59) [13]

在GetDateFormat上阅读MSDN将有所帮助



begin...end ©   (2008-03-11 19:46) [14]

> Semenych(11.03.08 18:51)[10]

> 2。 VCL中是否有相应的包装器? 当然可以。

我们能否说明哪个VCL包装器解决了作者的问题?



Leonid Troyanovsky ©   (2008-03-11 22:18) [15]


>开始...结束©(11.03.08 19:46)[14]

>并且您可以解释哪个VCL包装器解决了问题
>作者?

恕我直言,而不是d。 这种bo delphian定位方法
与MS不符。

--
此致,LVT。



Германн ©   (2008-03-12 01:08) [16]


>开始...结束©(11.03.08 19:46)[14]


> Leonid Troyanovsky©(11.03.08 22:18)[15]

我相信Semenych只是错误地提出了论文。 不可以
> VCL包装器
,但“将某些实体从WinAPI转换为Pascal”。



Семеныч   (2008-03-12 02:08) [17]

>开始...结束©(11.03.08 19:46)[14]
> Leonid Troyanovsky©(11.03.08 22:18)[15]

有一个包装器,找到它并不难。 它是SysUtils模块(特别是它的变量和用于语言环境的功能)。 查看代码后,很明显,从主题的角度来看,包装器虽然有缺陷,但仍存在缺陷。 但是,此缺点仅是(出于显而易见的原因)使用GetLocaleInfo初始化LongMonthNames数组,而不是使用GetDateFormat初始化(此外,可以在同一模块中窥探GetDateFormat-DateTimeToString过程)。 正如预期的那样,[3]中的代码原来是多余的,因为您不需要定义FormatString行,因此可以从同一包装器中将其准备好。

用于编写以下代码的所有源信息均来自SysUtils模块(GetDateFormat参数除外,该参数来自WinAPI帮助文件)。 之后 单身 当执行SetGenitiveMonthNames过程时,用于VCL的所有本机日期都将日期转换为长格式的字符串(FormatDateTime等),开始以正确的大小写显示月份的名称。
实作 {$ R * .dfm} 过程SetGenitiveMonthNames; const 格式=“ ddMMMM”; MaxLen = 11; 变种 区域设置:LCID; ST:TSystemTime; Buff:char的打包数组[1..MaxLen]; 我,伦:字; 开始 语言环境:= GetThreadLocale; GetSystemTime(ST); ST.wDay:= 1; 对于我:= 1到12 开始 ST.wMonth:= I; Len:= GetDateFormat(语言环境,0,@ ST,格式,@ Buff [1],MaxLen); SetString(LongMonthNames [I],PChar(@Buff [3]),Len-3); 结束 结束 过程TForm1.FormCreate(发送者:TObject); 开始 标题:= FormatDateTime(LongDateFormat,日期); 结束 初始化 SetGenitiveMonthNames; 结束。



Германн ©   (2008-03-12 02:25) [18]


> Semenych(12.03.08 02:08)[17]


> VCL的“本地”

再次,你跑起来。 那么,SysUtils模块什么时候进入VCL-Source的?



Семеныч   (2008-03-12 08:13) [19]

> Hermann©(12.03.08 02:25)[18]

我不明白 他进入哪里?



Семеныч   (2008-03-12 08:33) [20]

> Hermann©(12.03.08 02:25)[18]

知道了 好吧,是的,不准确地说。 和他在一起。 谁想要了解-他了解,谁想要不了解-让自己。 世界不会崩溃。



DVM ©   (2008-03-12 14:33) [21]


> Semenych(12.03.08 02:08)[17]


>如预期的那样,[3]中的代码是多余的,因为
>您不需要定义FormatString字符串,可以使用它
>用同一包装纸制成。

您从哪里从包装器获得FormatString的?
在您的代码中,您严格设置Format =“ ddMMMM”,但是我是根据当前用户的设置来设置的。 用户不必具有“ ddMMMM”



DVM ©   (2008-03-12 14:36) [22]

我意识到您正在谈论SysUtils的LongDateFormat变量。



DVM ©   (2008-03-12 14:38) [23]

我从[3]编写了该代码以不使用SysUtils。



Страницы: 1 整个分支

论坛:“主要”;
当前存档:2009.01.04;
下载:[xml.tar.bz2];

楼上









内存:0.64 MB
时间:0.037 c
9-1176153590年
Morpheuz
2007-04-10 01:19
2009.01.04
使用GLScene创建水面


15-1225786628年
翻译者
2008-11-04 11:17
2009.01.04
词汇表


8-1188577736年
hahol
2007-08-31 20:28
2009.01.04
DirectShow的


15-1225462808年
麻醉剂
2008-10-31 17:20
2009.01.04
注册IP


15-1225715882年
bv7
2008-11-03 15:38
2009.01.04
MySQL + Delphi(数据访问和编辑)





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法文
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本性玩偶 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 泰米尔人 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский