Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2010, 22:01   #1
Panik666
 
Регистрация: 22.04.2009
Сообщений: 4
По умолчанию Проблема с загрузкой в Image

подскажите.
Есть две папки в одной хранятся изображения маленького размера они загружаюстя в Image2.3.4.5,в другой большого размера они грузятся в Image1.
Сам процесс происходит так сначало 4 изображения из папки с маленькими фото загружаются в Image2.3.4.5.
Есть 2 кнопки вниз и вверх т.е после нажатия кнопки вниз изображения из Image2.3.4.5 изменяются на другие из этой же папки.После нажатия Вверх проиходит возврат на те изображения,которые были до нажатия кнопки вниз.
После нажатия на любой Image(2.3.4.5) изображение которое было в нем загружается в Image1,только из папки с большими фото.
Приложил фото формы как это все выглядит подскажите как это сделать пжл
Изображения
Тип файла: jpg Новый рисунок.jpg (59.6 Кб, 140 просмотров)
Panik666 вне форума Ответить с цитированием
Старый 22.04.2010, 03:35   #2
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Книга "Никита Культин :<основы программирования в turbo Delphi>"
с 84 по 89 и с 98 по 103 стр объяснение проги.
код вот:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls,
  FileCtrl,
  Jpeg;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Image1: TImage;
    SpeedButton2: TSpeedButton;
    SpeedButton1: TSpeedButton;
    SpeedButton3: TSpeedButton;
    procedure FormCreate(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
  private
    aPath: string; // каталог, который выбрал пользователь
    aSearchRec : TSearchRec; // информация о файле
    Pictures : TStringList;  // список иллюстраций
    n: integer; // номер иллюстрации, отображаемой в данный момет

  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// конструктор формы
procedure TForm1.FormCreate(Sender: TObject);
begin
  Pictures := TStringList.Create;
  SpeedButton2.Enabled := False;
  SpeedButton3.Enabled := False;
end;

// щелчок на кнопке "Папка"
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  r: integer;
begin
  if SelectDirectory('Выберите каталог', '',aPath) then
  begin
    aPath := aPath + '\';
    Form1.Caption := 'Прсмотр иллюстраций - ' + aPath;

    // сформировать список иллюстраций
    r := FindFirst(aPath+'*.jpg',faAnyFile,aSearchRec);
    if r = 0 then
      begin
        // в указанном каталоге есть jpg-файл
        Pictures.Clear; // очистить список иллюстраций
        Pictures.Add(aSearchRec.Name); // добавить имя файла в список иллюстраций

      end;

    // получить имена остальных jpg-файлов
    repeat
      r := FindNext(aSearchRec); // получить имя следующего jpg-файла
      if r = 0 then
          Pictures.Add(aSearchRec.Name);
    until ( r <> 0);

    if Pictures.Count > 1 then
        SpeedButton2.Enabled := True;

    // отобразить иллюстрацию
     n := 0; // номер отображаемой иллюстрации
    try
       Form1.Image1.Picture.LoadFromFile(aPath + Pictures[n]);
       except on EInvalidGraphic do Form1.Image1.Picture.Graphic := nil;
    end;
    if Pictures.Count = 1 then
        SpeedButton2.Enabled := False;

  end;
end;

// вывод следующей картинки
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
   // вывести картинку
   n := n+1;
   try
       Form1.Image1.Picture.LoadFromFile(aPath + Pictures[n]);
       except on EInvalidGraphic do Form1.Image1.Picture.Graphic := nil;
   end;

   if n = Pictures.Count-1 then
      SpeedButton2.Enabled := False;

   // если кнопка "Предыдущая" не доступна,
   // сделать ее доступной
   if (n > 0 ) and SpeedButton3.Enabled = False then
        SpeedButton3.Enabled := True;

end;

// вывод предыдущей картинки
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
    // вывести картинку
   n := n-1;
   try
       Form1.Image1.Picture.LoadFromFile(aPath + Pictures[n]);
       except on EInvalidGraphic do Form1.Image1.Picture.Graphic := nil;
   end;

   if n = 0 then
      SpeedButton3.Enabled := False;

   // если кнопка "Следующая" не доступна,
   // сделать ее доступной
   if (n < Pictures.Count) and SpeedButton2.Enabled = False then
        SpeedButton2.Enabled := True;
end;

end.
здесь нужно немного подправить код , но это за скелет более чем сойдёт=)
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с загрузкой ОС Vali_T Операционные системы общие вопросы 18 07.04.2010 18:50
Проблема с загрузкой изображения в Image artemavd Общие вопросы Delphi 6 26.02.2010 20:40
Проблема с загрузкой XP. hebu Windows 11 20.07.2009 14:33
Проблема с загрузкой карты. Shadow_1329 Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 13.07.2009 14:35
Проблема с загрузкой аттачей Квэнди О форуме и сайтах клуба 5 19.06.2009 09:40