日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

delphi日期格式显示及文件打开方式小结

發布時間:2025/1/21 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 delphi日期格式显示及文件打开方式小结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天要顯示delphi日期格式為"xxxx年xx月xx日"形式,原本以為格式化串就是這樣寫的,后來發現不行,搜索后才知是按格式"dddddd"。

參考:在Delphi中可用FormatDateTime函數的用法

function?FormatDateTime(const Format: string; DateTime: TDateTime): string;

Format參數是一個格式化字符串。DateTime是時間類型。返回值是一種格式化后的字符串,重點來看Format參數中的指令字符

? ?

c以短時間格式顯示時間,即全部是數字的表示?
FormatdateTime('c',now);?
輸出為:2004-8-7 9:55:40

d 對應于時間中的日期,日期是一位則顯示一位,兩位則顯示兩位?
FormatdateTime('d',now);?
輸出可能為1~31

? ?

dd 和d的意義一樣,但它始終是以兩位來顯示的?
FormatdateTime('dd',now);?
輸出可能為01~31

ddd 顯示的是星期幾?
FormatdateTime('ddd',now);?
輸出為: 星期六

? ?

dddd 和ddd顯示的是一樣的。?
但上面兩個如果在其他國家可能不一樣。

ddddd 以短時間格式顯示年月日?
FormatdateTime('ddddd',now);?
輸出為:2004-8-7

? ?

dddddd 以長時間格式顯示年月日?
FormatdateTime('dddddd',now);?
輸出為:2004年8月7日

e/ee/eee/eeee 以相應的位數顯示年?
FormatdateTime('ee',now);?
輸出為:04 (表示04年)

? ?

m/mm/mmm/mmmm 表示月?
FormatdateTime('m',now);?
輸出為:8FormatdateTime('mm',now);?
輸出為 08?
FormatdateTime('mmm',now);?
輸出為 八月?
FormatdateTime('mmmm',now);?
輸出為 八月?
和ddd/dddd 一樣,在其他國家可能不同

yy/yyyy 表示年?
FormatdateTime('yy',now);?
輸出為 04?
FormatdateTime('yyyy',now);?
輸出為 2004

? ?

h/hh,n/nn,s/ss,z/zzz 分別表示小時,分,秒,毫秒?
t 以短時間格式顯示時間?
FormatdateTime('t',now);?
輸出為 10:17

tt 以長時間格式顯示時間?
FormatdateTime('tt',now);?
輸出為10:18:46

ampm 以長時間格式顯示上午還是下午?
FormatdateTime('ttampm',now);?
輸出為:10:22:57上午


如果要在Format中加普通的字符串,可以用雙引號隔開那些特定義的字符,這樣普通字符串中如果含特殊的字符就不會被顯示為時間格式啦:?
FormatdateTime('"today is" c',now);?
輸出為:today is 2004-8-7 10:26:58

時間中也可以加"-"或"\"來分開日期:?
FormatdateTime('"today is" yy-mm-dd',now);?
FormatdateTime('"today is" yy\mm\dd',now);?
輸出為: today is 04-08-07

也可以用":"來分開時間?
FormatdateTime('"today is" hh:nn:ss',now);?
輸出為:today is 10:32:23

今天真正弄明白一個問題,TfileStream如何共享打開一個文件,FileStream := TFileStream.Create(FileName, fmShareDenyNone);即可,不怕要以讀為目的打開的文件已被占用的情況。

delphi 用 TFileStream(文件流) 讀寫:TStream 是一個抽象的基類, 不能直接生成對象. 在具體的應用中, 主要使用它的子孫類:
TFileStream: 文件流
TStringStream: 字符串流
TMemoryStream: 內存流
TResourceStream: 資源文件流

THandleStream: 是 TFileStream 的父類、TStream 的子類
TCustomMemoryStream: 是 TMemoryStream 和 TResourceStream 的父類、TStream 的子類

與流相關的常用類還有: TReader、TWriter、TCompressionStream、TDecompressionStream

procedure TForm1.Button1Click(Sender: TObject);
var
getStream,setStream: TFileStream; {聲明一個文件流}
getPath,setPath: string;
begin
getPath := 'c:\temp\get.jpg'; {需要這個文件存在}
setPath := 'c:\temp\set.jpg'; {這個會自動建立}
if not FileExists(getPath) then
begin
ShowMessage('找不到我們要測試的圖片文件: ' + getPath);
Exit;
end;

getStream := TFileStream.Create(getPath, fmOpenRead or fmShareExclusive);
setStream := TFileStream.Create(setPath, fmCreate);
{建立文件流需要兩個參數: 參數 1 是路徑, 參數 2 是打開模式}

getStream.Position := 0; {流指針移到開始, 復制時從這里開始}
setStream.CopyFrom(getStream, getStream.Size); {Copy 流}
{CopyFrom 的參數 2 是要復制的內容大小; 如果為 0 , 不管指針在什么位置都會復制所有內容}
{CopyFrom 返回實際拷貝的字節數}

{這時硬盤上就有 set.jpg 文件, 與 get.jpg 一么一樣}
{其實就是復制文件, 不過這里我們是用文件流實現的}

getStream.Free;
setStream.Free;
end;

TFileStream 打開模式與共享模式:

分類

參數

說明




fmCreate

建立文件, 如果存在則打開它。

fmOpenRead

只讀打開

fmOpenWrite

只寫打開

fmOpenReadWrite

讀寫打開




fmShareCompat

共享模式, 兼容 Dos

fmShareExclusive

不允許別人以任何方式打開

fmShareDenyWrite

允許別人以只寫方式打開

fmShareDenyRead

允許別人以只讀方式打開

fmShareDenyNone

允許別人以任何方式打開

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的delphi日期格式显示及文件打开方式小结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。