в XE5 я сделал приложение, в котором по умолчанию загружается небольшой файл txt с несколькими строками, используя функцию OnShow. Также есть 1 поле TEdit1 со значением по умолчанию = 300 и кнопка TButton для сохранения файла в указанном каталоге.
Как это возможно: 1.) используя значение в поле TEdit1, чтобы получить это количество файлов в указанном каталоге, значение может быть изменено при необходимости; 2.) все сгенерированные файлы должны иметь вид: 1.txt, 2.txt, 3.txt... и т.д.
Теперь функция кнопок:
procedure TForm1.GenerateClick(Sender: TObject);
var
dirName : String;
begin
// Create a new directory
dirName := 'gen';
if DirectoryExists(dirName)
then
Memo1.Lines.SaveToFile('gen\default.txt')
else
CreateDir(dirName);
Memo1.Lines.SaveToFile('gen\default.txt');
end;
С уважением, Г
весь рабочий код:
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, IOUtils, Vcl.ComCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
SaveFile: TButton;
Generate: TButton;
Memo1: TMemo;
procedure LoadFile(Sender: TObject);
procedure SaveFileClick(Sender: TObject);
procedure GenerateClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.LoadFile(Sender: TObject);
begin
if FileExists('template.txt')then begin
Memo1.Lines.LoadFromFile('template.txt');
end
else
ShowMessage('Cant find template.txt, add text and use SAVE button !!!');
end;
procedure TForm1.SaveFileClick(Sender: TObject);
begin
Memo1.Lines.SaveToFile('template.txt');
end;
procedure TForm1.GenerateClick(Sender: TObject);
var
dirName, fName : String;
i, max: integer;
begin
// Create a new directory
dirName := 'gen';
if NOT DirectoryExists(dirName) then
CreateDir(dirName);
fName := Edit1.Text;
max := StrToInt(fName);
for i := 1 to max do begin
fName := dirName + '\'+ IntToStr(i) + '.txt';
Memo1.Lines.SaveToFile( fName );
end;
end;
end.
Спасибо :)