unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, pngImage;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Timer1: TTimer;
Button2: TButton;
Image1: TImage;
Memo2: TMemo;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
ar1: Array of String;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
sr: TSearchRec;
count: Integer;
begin
SetLength(ar1, 0);
count:=0;
if FindFirst('C:\engine\*.png', faAnyFile, sr) = 0 then
repeat
Memo1.Lines.Add(Sr.Name);
SetLength(ar1, Length(ar1) + 1);
ar1[count]:=Sr.Name;
count:=Count+1;
until FindNext(sr)<>0;
FindClose(sr);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
cont: integer;
begin
if cont = 48 then begin cont:=0; end;
cont:=cont+1;
Image1.Picture.LoadFromFile('C:\engine\' + ar1[cont]); - Почему оибка
{сдесь выдаёт ошибку Acess volitation at address 00462954 in module Project1.exe}
end;
procedure TForm1.Button2Click(Sender: TObject);
var
y: integer;
begin
for y:=0 to 48 do
begin
Memo2.Lines.Add('C:\engine\' + ar1[y]); //сдесь работает
end;
Timer1.Enabled:=True;
end;
end.
Вопрос по динамическому массиву
Вот код
Код:
[color=red]Используй [ code ][ /code ] для оформления кода.[/color] Модератор.
изначально таймер включен?
инициализировать cont надо...
Изначально таймер должен быть выключен
Цитата: Crainov
Почему в процедуре Ontimer я не моу получить данные из динамического массива.
Судя по приведённому коду, стоит воспользоваться TStringList-ом.
Надо было инициализировать cont. Спасибж