| 
| 
 | Вопрос # 5 744/ вопрос решён / | 
 |  Здравствуйте! У меня такой вопрос, программа должна из файла-ресурса загружать картинки (похоже на слайд шоу) скажите, как подгружать картинки?и что бы потом можно вернутся на предыдущую картинку нажатием на кнопку Примечание #1 (13 ноября 2011, 13:14): Файл Ресурс с изображением 
 
|  |   Вопрос задал: casio (статус: Посетитель)Вопрос отправлен: 13 ноября 2011, 13:08
 Состояние вопроса: решён, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 7; последнее сообщение — 13 ноября 2011, 18:25; участников в обсуждении: 3. 
|   | min@y™ (статус: Доктор наук), 13 ноября 2011, 13:19 [#1]:Создай массив имён ресурсов, запихай его в TStringList и заведи глобальную переменную (Integer) - номер картинки в этом списке. Дальше объяснять (про TResourceStream и т.п.), или сам допрёшь? Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | casio (статус: Посетитель), 13 ноября 2011, 13:29 [#2]:у меня на форме расположен TImage,добавляю с помощью Timer, 1ю картинку я показываю с отчетом времени в 10 секунд, 
 var id:byte;
Form1.Create
begin
id:=1;
Panel1.BringToFront;
Timer10sec.Enabled:=True;
if id = 1 then begin
  h := LoadLibrary('Img.DLL');
try
 if h <> 0 then
    begin
    png := TPNGObject.Create;
    png.LoadFromResourceName(h, 'img1');
// загружаю 1ю картинку
    Image1.Picture.Assign(png);
    png.Free;
    end
    else
    begin
      ShowMessage('Load Resource DLL FAILED!');
    end;
finally
 FreeLibrary(h);
end;
 
Timer10sec
begin
a:=a-1; //Отнимаем по секунде
 sLabel2.Caption:= IntToStr(a);
  // Если время закончилось, то останавливаем таймер и показываем сообщение.
  if a = 0 then
  begin
    Macintosh.KeyPreview := False;
    Timer10sec.Enabled:=false;
TimerImg.enabled:=True; //отаймер отвечает за загрузку изображений
 потом должны загрузится еще 5(TimerImg):
 
 id:=id+1;
 
if id = 1 then begin
h := LoadLibrary('Img.DLL');
try
 if h <> 0 then
    begin
    png := TPNGObject.Create;
    Image1.Parent.DoubleBuffered:=True;
    png.LoadFromResourceName(h, 'img1');
    Image1.Picture.Assign(png);
    png.Free;
    end
    else
    begin
      ShowMessage('Load Resource DLL FAILED!');
    end;
finally
 FreeLibrary(h);
end;
end;
 
if id = 2 then begin //TimerProgram.Enabled := False;
 
h := LoadLibrary('Img.DLL');
try
 if h <> 0 then
    begin
    Panel2.Parent.DoubleBuffered := True;
    png := TPNGObject.Create;
    png.LoadFromResourceName(h, 'img2');
    Image1.Picture.Assign(png);
    png.Free;
    end
    else
    begin
      ShowMessage('Load Resource DLL FAILED!');
    end;
finally
 FreeLibrary(h);
end;
end;
...... и т.д. до 5останавливаю таймер и работаю с кнопкой, вперед назад, подгружаются по 1картинки или вперед или назад. как это можно проще сделать?
 |  
|   | min@y™ (статус: Доктор наук), 13 ноября 2011, 13:42 [#3]: Цитата (casio): подгружаются по 1картинки или вперед или назад. как это можно проще сделать?  Ну я ж тебе выше написал.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | casio (статус: Посетитель), 13 ноября 2011, 13:54 [#4]:min@y™: Дальше объяснять (про TResourceStream и т.п.), или сам допрёшь? 
 Если можно объясни пожалуйста
  (с примером если можно) |  
|   | casio (статус: Посетитель), 13 ноября 2011, 15:08 [#5]:все я разобрался СПАСИБО за подсказку |  
|   | min@y™ (статус: Доктор наук), 13 ноября 2011, 15:51 [#6]: Цитата (casio): все я разобрался СПАСИБО за подсказку  Ай молодца!
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | bugmenot (статус: 3-ий класс), 13 ноября 2011, 18:25 [#7]:и зачем три раза одинаковый код раскопипастил? виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  18 ноября 2011, 18:09: Статус вопроса изменён на решённый (изменил автор вопроса — casio) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |