program RandomFiles;
{$mode objfpc}{$H+}
uses
SysUtils;
// Function to generate a random string of given length
function GenerateRandomString(Len: Integer): string;
const
Charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
var
i: Integer;
begin
SetLength(Result, Len);
for i := 1 to Len do
Result[i] := Charset[Random(Length(Charset)) + 1];
end;
// Function to generate a random date
function GenerateRandomDate: string;
var
Year, Month, Day: Integer;
begin
Year := Random(21) + 2000; // Random year between 2000 and 2020
Month := Random(12) + 1; // Random month between 1 and 12
Day := Random(28) + 1; // Random day between 1 and 28
Result := Format('%4d-%0.2d-%0.2d', [Year, Month, Day]);
end;
// Function to generate a random file size
function GenerateRandomFileSize: Integer;
begin
Result := Random(100000) + 1; // Random file size between 1 and 100000 bytes
end;
var
Extensions: array of string;
i: Integer;
FileName, Ext, DateStr: string;
FileSize: Integer;
begin
Randomize; // Seed RNG
// Available extensions
SetLength(Extensions, 5);
Extensions[0] := '.txt';
Extensions[1] := '.jpg';
Extensions[2] := '.png';
Extensions[3] := '.cpp';
Extensions[4] := '.pdf';
for i := 1 to 10 do
begin
FileName := GenerateRandomString(9); // Generate random file name
Ext := Extensions[Random(Length(Extensions))]; // Random extension
DateStr := GenerateRandomDate; // Random date
FileSize := GenerateRandomFileSize; // Random size
WriteLn(FileName, Ext, ' ', DateStr, ' ', FileSize, ' bytes');
end;
end.
(*
run:
Up0aj2mLg.cpp 2004-06-11 10688 bytes
HLkwJCmZU.cpp 2009-07-19 16060 bytes
QQS9Xy29j.pdf 2004-08-28 6943 bytes
ZBc4nVVGU.png 2009-01-27 95418 bytes
nhREfBHpM.jpg 2004-07-26 7772 bytes
60d3UPjBh.cpp 2000-06-25 78496 bytes
3L8eIjB9u.txt 2008-10-25 19312 bytes
2y7lJaFgG.pdf 2017-01-09 95183 bytes
tr01Mc1bl.jpg 2020-12-24 37343 bytes
v2bxhmwfu.png 2020-03-10 81073 bytes
*)