Показать сообщение отдельно
  #4  
Старый 02.03.2011, 20:36
AnderoN AnderoN вне форума
Прохожий
 
Регистрация: 18.02.2011
Сообщения: 31
Репутация: 10
По умолчанию

Привел код в более читабельную форму. Пока что с программой не разобрался - не работает(

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls, Menus;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    OpenDialog1: TOpenDialog;
    Timer1: TTimer;
    Button1: TButton;
    Panel1: TPanel;
    Image1: TImage;
    File1: TMenuItem;
    Show1: TMenuItem;
    Open1: TMenuItem;
    Run1: TMenuItem;
    procedure Open1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Run1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  n:integer=0;
  srf:TSearchRec;
  st:string;

implementation

{$R *.dfm}
procedure Loadfile;{Процедура поиска и загрузки файлов JPEG}
begin
  if n=0 then {Если это первая загрузка}
    begin
      if FindFirst ('*.jpeg',faAnyFile,srf)<>0 then exit;
      {Ищем самый первый JPEG-файл в папке, если не находим выход из процедуры}
      try{Пробуем его загрузить в Image1}
        Form1.Image1.Picture.LoadFromFile(srf.Name);
      except {Это вовсе не JPEG}
        {Выводим сообщение}
        st:='Неправильный формат файла'+srf.Name;
        Application.MessageBox(Pchar(st),'Error',MB_OK);
        exit{Выход из процедуры}
    end;
  n:=1;{Следующая загрузка будет уже не первой}
  end else {Если эта загрузка уже не первая}
    begin
      if FindNext(srf)=0 then
        {Если =0, то найден следующий файл}
        try {Пробуем его загрузить в Image1}
          Form1.Image1.Picture.LoadFromFile(srf.Name)
        except {Это вовсе не JPEG}
          {Выводим сообщение}
          st:='Неправильный формат файла'+srf.Name;
          Application.MessageBox(Pchar(st),'Error',MB_OK);
          exit{Выход из процедуры}
    end
  else {А если не 0 - значит файлов больше нет}
    begin
      FindClose(srf); {Закрываем поиск}
      n:=0;{В следующий раз начнем сначала}
    end;
  end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  Loadfile;
end;

procedure TForm1.Run1Click(Sender: TObject); {Запуск и остановка демонстрации слайдов}
begin
  if Timer1.Enabled=False then {Если демонстрация была остановлена}
    begin
      Run1.Caption:='Стоп'; {Меняем название пункта меню на СТОП}
      Timer1.Enabled:=True; {Запустили таймер}
    end
  else {Иначе,если демонстрация уже идет}
    begin
      Run1.Caption:='Запуск'; {Меняем название пункта меню обратно на ЗАПУСК}
      Timer1.Enabled:=False; {Таймер остановлен}
    end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Loadfile;
end;

procedure TForm1.Open1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    {Если диалог открытия файла завершился удачно}
    Image1.Picture.LoadFromFile(OpenDialog1.FileName)
    {Загружаем картинку в Image1}
  else
    begin
      {Иначе,если диалог завершился неудачно, выводим сообщение}
      st:='Неправильный формат файла'+OpenDialog1.FileName;
      Application.MessageBox(Pchar(st),'Error',MB_OK);
      exit;{Выходим из процедуры}
    end;
  n:=0;{n=0 - признак первой закрузки из данной папки}
end;
end.
Ответить с цитированием