inifmt.pp 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. program inifmt;
  2. {$mode objfpc}{$H+}
  3. uses
  4. {$IFDEF UNIX}{$IFDEF UseCThreads}
  5. cthreads,
  6. {$ENDIF}{$ENDIF}
  7. Classes, IniFiles, SysUtils
  8. { you can add units after this };
  9. var
  10. ini: TCustomIniFile;
  11. x: Double;
  12. t: TTime;
  13. d: TDate;
  14. dt: TDateTime;
  15. iniName: String = 'test.ini';
  16. L: TStringList;
  17. i: Integer;
  18. begin
  19. x := 1.2345;
  20. t := time();
  21. d := date();
  22. dt := now();
  23. ini := TMemIniFile.Create(iniName);
  24. ini.FormatSettings.DecimalSeparator := '|';
  25. ini.FormatSettingsActive := true;
  26. ini.WriteFloat('Data', 'float', 1.2345);
  27. ini.WriteTime('Data', 'time', t);
  28. ini.WriteDate('Data', 'date', d);
  29. ini.WriteDateTime('Data', 'datetime', dt);
  30. ini.Free;
  31. WriteLn('-----------------------------------------------------------');
  32. WriteLn('Ini file (direct file content)');
  33. WriteLn('-----------------------------------------------------------');
  34. L := TStringList.Create;
  35. L.LoadfromFile(ininame);
  36. for i:=0 to L.Count-1 do
  37. WriteLn(L[i]);
  38. L.Free;
  39. WriteLn;
  40. ini := TMemIniFile.Create(iniName);
  41. ini.FormatSettings.DecimalSeparator := '|';
  42. ini.FormatSettingsActive := true;
  43. x := ini.ReadFloat('Data', 'float', 0);
  44. t := ini.ReadTime('Data', 'time', 0);
  45. d := ini.ReadDate('Data', 'date', 0);
  46. dt := ini.ReadDateTime('Data', 'datetime', 0);
  47. ini.Free;
  48. WriteLn('------------------------------------------------------------------');
  49. WriteLn('Read input data from ini file (output using DefaultFormatSettings)');
  50. WriteLn('------------------------------------------------------------------');
  51. WriteLn('float = ', FloatToStr(x));
  52. WriteLn('time = ', TimeToStr(t));
  53. WriteLn('date = ', DateToStr(d));
  54. WriteLn('date/time = ', DateTimeToStr(dt));
  55. WriteLn;
  56. {$IFDEF MSWINDOWS}
  57. WriteLn('Press [ENTER] to quit...');
  58. ReadLn;
  59. {$ENDIF}
  60. end.