小编Pau*_*ich的帖子

如何使文件创建,访问和修改日期与Windows属性相同?

我试图获得与Windows属性中显示的相同的创建,访问和修改日期,如下所示:

文件属性

但我发现时间一直是30分钟:

文件属性Delphi

相信它可能与时区/夏令时有关,但一直无法找到解决方案.试过看:TimeZone Bias并调整和查看不同的方法,包括: 如何在Delphi中获取文件的创建/最后修改日期?

当前代码:

var
MyFd TWin32FindData;
FName: string;
MyTime: TFileTime;
MySysTime: TSystemTime;
myDate, CreateTime, AccessTime, ModTime: TDateTime; 
Begin
 ...
 FindFirstFile(PChar(FName), MyFd);
 MyTime:=MyFd.ftCreationTime;
 FileTimeToSystemTime(MyTime, MySysTime);
 myDate := EncodeDateTime(MySysTime.wYear, MySysTime.wMonth, MySysTime.wDay, MySysTime.wHour,
 MySysTime.wMinute, MySysTime.wSecond, MySysTime.wMilliseconds);
 Memo1.Lines.Add('Created: '+ FormatDateTime('dddd, d mmmm yyyy, hh:mm:ss ampm', MyDate));
 ...
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏

谢谢保罗

windows delphi winapi

12
推荐指数
1
解决办法
2万
查看次数

在Delphi控制台中创建一个微调器

我试图在Delphi控制台应用程序中创建一个微调/等待光标.我可以做到,但我确信代码可以得到简化/改进.请原谅可怜的代码:

Procedure PositionXY( x , y : Integer);
var
 hStdOut: HWND;
 ScreenBufInfo: TConsoleScreenBufferInfo;
 Coord1: TCoord;
 z: Integer;
 Begin
  sleep(100);
  hStdOut := GetStdHandle(STD_OUTPUT_HANDLE);
  GetConsoleScreenBufferInfo(hStdOut, ScreenBufInfo);
  Coord1.X := x;
  Coord1.Y := y;
  SetConsoleCursorPosition(hStdOut, Coord1);
 End;

begin
 while True do  begin
 Write('|');
  PositionXY(0,0);
 Write('/');
  PositionXY(0,0);
 Write('-');
  PositionXY(0,0);
 Write('\');
  PositionXY(0,0);
 end;
 ReadLn;
end.
Run Code Online (Sandbox Code Playgroud)

在此先感谢保罗

delphi console-application

7
推荐指数
1
解决办法
1949
查看次数

对 Firemonkey StringGrid 进行排序的示例

我对 Firemonkey Stringgrid 进行排序的基本尝试,因为找不到任何其他示例。我欢迎任何关于最好地实现这一目标的优化或其他建议。我的代码基本上获取选择的列进行排序,并使用该排序顺序完成其他列:

procedure TfrmMain.StringGridSort(StrGrid: TStringGrid; SortColumn: Integer);
var
  col, row, rowx: Integer;
  MySortCol, MyListCols: TStringList;
begin
  MySortCol := TStringList.Create;
  MyListCols := TStringList.Create;
  try
    MySortCol.Sort;
    MyListCols.Sorted := False;
    StrGrid.BeginUpdate;
    try
      for row := 0 to StrGrid.RowCount - 1 do
        MySortCol.AddObject(StrGrid.Cells[SortColumn, row], TObject(row));
      MySortCol.Sorted := True;
      for row := 0 to StrGrid.RowCount - 1 do
        StrGrid.Cells[SortColumn, row] := MySortCol[row];

      for col := 0 to StrGrid.ColumnCount - 1 do
        if col <> SortColumn then
        begin
          MyListCols.Clear;
          for row := 0 to …
Run Code Online (Sandbox Code Playgroud)

delphi sorting tstringgrid firemonkey

5
推荐指数
0
解决办法
4017
查看次数

如何从分隔文本中获取特定字段

我有一个分隔文本字符串,即:Value1:Value2:Value3:Value4:Value5:Value6

例如,我将如何提取特定值Ie: Label.caption := GetValuefromDelimitedText(2);获取Value2

提前致谢

保罗

delphi string

1
推荐指数
1
解决办法
1289
查看次数