以前用txt文件中的分隔符(;)记录的单独日期和时间如何?

时间:2016-01-27 00:20:50

标签: delphi

我在分割,日期和小时方面遇到困难,已经记录在这两个元素(日期和小时)之间带有分隔符(; )的.txt文件中。我希望比较,日期存在.txt文件与实际日期,小时存在于.txt文件中与实际小时。

然后到现在为止:

<li>Oui<input name="antecedents" value="1" type="radio" style="margin-right: 10px;" onclick="console.log($('#antecedents').value);"/></li>
<li>Non<input name="antecedents" value="2" type="radio" style="margin-right: 10px;" checked="checked" onclick="console.log($('#antecedents').value);"></li>

1 个答案:

答案 0 :(得分:2)

您必须先读取整行,然后手动将其分成两个子串,然后才能比较这些值。 Readln()无法为您分隔;分隔符上的行,就像您尝试使用它一样(但它可以在空格上划分行)。使用Pos()Copy()提取两个子字符串,例如:

procedure ReadingFile();
var
  line: string;
  Idx: Integer;
begin
  if FileExists('DateHourFile.exe') then
  begin
    AssignFile(f, 'DateHourFile.exe');
    Reset(f);

    While not eof(f) do
    begin
      Readln(f, line); 

      Idx := Pos(';', line);
      DATE_BLOCK := Copy(line, 1, Idx-1);
      HOUR_BLOCK := Copy(line, Idx+1, MaxInt);

      DATE_NOW := FormatDateTime('yyyy/mm/dd', Date);
      HOUR_NOW := FormatDateTime('t', Hours);

      if (DATE_BLOCK = DATE_NOW) and (HOUR_BLOCK = HOUR_NOW) then
      begin
        BLOCKED := '1'; // blocked!
        Break;
      end;
    end;
    CloseFile(f);
  end;
end;