Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

графика   Найти похожие ветки 

 
Вера   (2008-12-24 12:02) [0]

Помогите сделать слайд шоу.Я делаю программу просмотра графических файлов.Как там сделать слайд шоу.На делфи


 
Сергей М. ©   (2008-12-24 12:24) [1]

Используй TTimer


 
{RASkov} ©   (2008-12-24 12:24) [2]

> [0] Вера   (24.12.08 12:02)

По таймеру меняй картинки и делов.... В чем вопрос?


 
Вера   (2008-12-24 12:58) [3]

Можете примерный код привести.Я не очень понимаю как это делать(((((((


 
Сергей М. ©   (2008-12-24 13:07) [4]

Это что, лаба или курсовой ?


 
Вера   (2008-12-24 13:16) [5]

Курсовая


 
Сергей М. ©   (2008-12-24 13:19) [6]

Покажи что тобой уже сделано на сей момент ..


 
Вера   (2008-12-24 13:22) [7]

У меня тема курсовой Разработка программы просмотра графических файлов


 
Вера   (2008-12-24 13:22) [8]

У меня есть прога которая открывает,просматривает картинки вперед назад


 
Вера   (2008-12-24 13:23) [9]

И вот еще хотелось бы сделать слайд шоу и чтобы они поворачивались


 
Вера   (2008-12-24 13:24) [10]

Помогите пожалуйста


 
Вера   (2008-12-24 13:24) [11]

а как показать?код прислать сюда?


 
Сергей М. ©   (2008-12-24 13:27) [12]


> есть прога которая открывает,просматривает картинки вперед
> назад


Она к тебе с луны свалилась ?
Или ты ее самостоятельно написала ?
Если самостоятельно, то см. [6]


 
Вера   (2008-12-24 13:31) [13]

не самостоятельно(((


 
Сергей М. ©   (2008-12-24 13:35) [14]

И как же ты собралась защищать курсовой, если он чужой и ты о происходящем в нем нишиша не петришь ?

Не стыдно, а ?


 
Вера   (2008-12-24 13:38) [15]

ну вообще то я делала вместе с помощником.И что там происходит я понимаю


 
Вера   (2008-12-24 13:38) [16]

Просто я не считаю что я делала самостоятельно


 
Вера   (2008-12-24 13:39) [17]

вот так и написала


 
Сергей М. ©   (2008-12-24 13:43) [18]


> что там происходит я понимаю


Чудесно.

Показ очередной картинки как реализован - по щелчку кнопки ?


 
Вера   (2008-12-24 13:44) [19]

да


 
Сергей М. ©   (2008-12-24 13:54) [20]

У этой кнопки есть метод Click, для показа слайд-шоу достаточно автоматизировать вызов этого метода, что равносильно переодическим щелчкам юзера по этой кнопке.

Для этого и нужен компонент Timer.

В обработчике его события OnTimer, которое будет возникать с заданным тобой в св-ве Interval периодом в мс, как раз и следует вызывать метод Click нужной кнопки.

Осталось только "запустить" этот таймер для показа слайд-шоу.
Для этого нужно установить его св-во Enabled равным True. Останов шоу, соответственно, потребует записи в это св-во значения False.


 
Вера   (2008-12-24 15:17) [21]

с таймером я все сделала а вот с Click я не поняла


 
Вера   (2008-12-24 15:42) [22]

я сделала но он выдает ошибку


 
Сергей М. ©   (2008-12-24 16:08) [23]


> с Click я не поняла


Что не поняла ?


> он выдает ошибку


Какую ?


 
Вера   (2008-12-24 16:19) [24]

Блин я начала делать с этим таймером-теперь вообще прога не работает((((((((((я его удалила и опять не работает


 
Сергей М. ©   (2008-12-24 16:22) [25]


> Блин я начала делать с этим таймером


Блины с икрой знаю, блины с таймером не знаю)


 
Вера   (2008-12-24 16:24) [26]

Можно я перешлю вам вы посмотрите?


 
Сергей М. ©   (2008-12-24 16:26) [27]

Да ты прямо сюда приводи фрагмены "своего" кода ..


 
Вера   (2008-12-24 16:28) [28]

unit form_view;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ExtDlgs, U_Spisok, Menus, frame_image, U_Tree,
 ExtCtrls, Buttons, ImgList, ComCtrls,U_ListView;

type
 TForm1 = class(TForm);
 Frame31: TFrame3;
   OpenPictureDialog1: TOpenPictureDialog;
   MainMenu1: TMainMenu;
   N1: TMenuItem;
   N2: TMenuItem;
   N3: TMenuItem;
   N4: TMenuItem;
   N5: TMenuItem;
   Image1: TImage;
   N6: TMenuItem;
   BitBtn1: TBitBtn;
   BitBtn2: TBitBtn;
   BitBtn3: TBitBtn;
   BB_next: TBitBtn;
   N1111: TMenuItem;
   ImageList1: TImageList;
   Button1: TButton;
   Button2: TButton;
   procedure Button2Click(Sender: TObject);
   procedure Button5Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
   procedure ListBox1Click(Sender: TObject);
   procedure Button4Click(Sender: TObject);
   procedure FormActivate(Sender: TObject);
   procedure N3Click(Sender: TObject);
   procedure N4Click(Sender: TObject);
   procedure N5Click(Sender: TObject);
   procedure N6Click(Sender: TObject);
   procedure BitBtn1Click(Sender: TObject);
   procedure BitBtn2Click(Sender: TObject);
   procedure BitBtn3Click(Sender: TObject);
   procedure BB_nextClick(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 List:tstrings;
 LoadPicture:string;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
Form2.Show;
end;

procedure TForm1.Button5Click(Sender: TObject);
var
  path:string;
begin
 getdir(1,path);
 Frame31.Open_Picture(path+ "\"+ Spisok.ListBox1.Items[Spisok.ListBox1.ItemIndex+1]);
 Spisok.ListBox1.ItemIndex:=Spisok.ListBox1.ItemIndex+1;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
list:=TStringList.Create;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var
  path:string;
begin
 getdir(1,path);
 Frame31.Open_Picture(path+ "\"+ Spisok.ListBox1.Items[Spisok.ListBox1.ItemIndex]);
end;

procedure TForm1.Button4Click(Sender: TObject);
var
  path:string;
begin
 getdir(1,path);
 Frame31.Open_Picture(path+ "\"+ Spisok.ListBox1.Items[Spisok.ListBox1.ItemIndex-1]);
 Spisok.ListBox1.ItemIndex:=Spisok.ListBox1.ItemIndex-1;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
 Spisok.Show;
end;

procedure TForm1.N3Click(Sender: TObject);
begin
if N3.Checked then
   Spisok.Show
else
  Spisok.Close;
end;

procedure TForm1.N4Click(Sender: TObject);
begin
if N4.Checked then
   Tree.Show
else
   Tree.Close;
end;

procedure TForm1.N5Click(Sender: TObject);
var
  i:integer;
begin
if OpenPictureDialog1.Execute then
 begin
  Frame31.Open_Picture(OpenPictureDialog1.FileName);
  Frame31.Zap_massiva(list);

   with Spisok.ListBox1 do begin
     Items.Assign(List);
     ItemIndex := 0;
   end;

   

    for i:=0 to Spisok.ListBox1.Count-1 do
    begin
     with Form2.ListView1.Items.add do
     begin
        caption :=Spisok.ListBox1.Items[i];
        imageindex := 0;
     end;
    end;

   
 end;
end;

procedure TForm1.N6Click(Sender: TObject);
begin
close;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Frame31.Resize_Down(100);
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  Frame31.Resize_Up(100);
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
var
  path:string;
begin
 getdir(1,path);
 Frame31.Open_Picture(path+ "\"+ Spisok.ListBox1.Items[Spisok.ListBox1.ItemIndex-1]);
 Spisok.ListBox1.ItemIndex:=Spisok.ListBox1.ItemIndex-1;
end;

procedure TForm1.BB_nextClick(Sender: TObject);
var
  path:string;
begin
 getdir(1,path);
 Frame31.Open_Picture(path+ "\"+ Spisok.ListBox1.Items[Spisok.ListBox1.ItemIndex+1]);
 Spisok.ListBox1.ItemIndex:=Spisok.ListBox1.ItemIndex+1;
end;

end.


 
Вера   (2008-12-24 16:30) [29]

unit frame_image;

interface

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

type
 TFrame3 = class(TFrame)
   Image1: TImage;
 private
   { Private declarations }
 public
   { Public declarations }
   procedure Resize_Up(X:integer);
   procedure Resize_Down(X:integer);
   procedure scandir(startdir: string; mask:string; list:tstrings);
   procedure Center();
   procedure Zap_massiva(List:tstrings);
   procedure Open_Picture(FileName:string);

 end;

implementation

{$R *.dfm}

//Поиск в текущей директории по заданной маске всех файлов и заполнение им массива List
procedure TFrame3.scandir(startdir: string; mask:string; list:tstrings);
var searchrec : tsearchrec;
begin
if mask = "" then mask := "*.*";
if startdir[length(startdir)] <> "" then startdir := startdir + "";
if findfirst(startdir+mask, faanyfile, searchrec) = 0 then
begin
repeat
application.processmessages;
if (searchrec.attr and fadirectory) <> fadirectory then
list.add(searchrec.name)
else if
(searchrec.name <> "..") and (searchrec.name <> ".") then
begin
list.add(searchrec.name + "");
scandir(startdir + searchrec.name + "",mask,list);
end;
until
findnext(searchrec) <> 0;
findclose(searchrec);
end;
end;

procedure TFrame3.Resize_Up(X:integer);
begin
   Image1.Height:=Image1.Height+X;
   Image1.Width:=Image1.Width+X;
   Center();
end;

procedure TFrame3.Open_Picture(FileName:string);
begin
Image1.Picture.LoadFromFile(FileName);
end;

// Процедура заполнения массива названиями картинок из текущего каталога
procedure TFrame3.Zap_massiva(List:tstrings);
var
  path,disc:string;
  i:integer;
begin
   getdir(0,path);

   disc:="";
   for i:=1 to 2 do
       disc:=disc+path[i];

   List.Clear;

   scandir(disc,"*.jpg",List);

   scandir(disc,"*.jpeg",List);
   scandir(disc,"*.ico",List);
   scandir(disc,"*.jpg",List);
   scandir(disc,"*.bmp",List);
end;

//Уменьшение размера картинки на Х
procedure TFrame3.Resize_Down(X:integer);
begin
   Image1.Height:=Image1.Height-X;
   Image1.Width:=Image1.Width-X;
//Вызов процедуры установки картинки в центр окна
   Center();
end;

// Процедура установки картинки в центр окна
procedure TFrame3.Center();
begin
  Image1.Left:=trunc(height/2-Image1.height/2);
  Image1.top:=trunc(height/2-Image1.height/2)
end;

end.


 
Сергей М. ©   (2008-12-24 16:32) [30]

Так..

И в этом коде не работает ?


 
Вера   (2008-12-24 16:35) [31]

да


 
Сергей М. ©   (2008-12-24 16:37) [32]

Что конкретно в этом коде не работает ?


 
Вера   (2008-12-24 16:41) [33]

The FormCreate method referenced by Form1


 
Сергей М. ©   (2008-12-24 16:48) [34]


> The FormCreate method referenced by Form1


Это что ?


 
Вера   (2008-12-24 16:53) [35]

ошибку такую выдает


 
Сергей М. ©   (2008-12-24 16:56) [36]


> ошибку такую выдает


А где в этой фразе слово "ошибка" ? Не вижу .. Приводи фразу дословно, а не огрызок ..

И если это ошибка, то где, в какой момент и при каких обстоятельствах ты ее наблюдаешь ?


 
Вера   (2008-12-24 16:59) [37]

The FormCreate method referenced by Form1.OnCreate does not exist.Remove the reference?Выдает когда пытаюсь закрыть  проект


 
Вера   (2008-12-24 17:00) [38]

и вообще прога даже не запускается-т.е. Run не работает


 
Сергей М. ©   (2008-12-24 17:06) [39]


> does not exist


А он, как видишь, существует.

Выбери его явно в Инспекторе объектов в выпадающем списке выбора обработчиков события OnCreate формы Form1


> Run не работает


Неужели прямо вот так и говорит "Не работаю" ?


 
Вера   (2008-12-24 17:08) [40]

ну он серый а не зеленый как когда запускается



Страницы: 1 2 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.082 c
15-1351542602
Юрий
2012-10-30 00:30
2013.03.22
С днем рождения ! 30 октября 2012 вторник


2-1334302737
yurikon
2012-04-13 11:38
2013.03.22
Вопрос на понимание потоков


15-1336238668
TStas
2012-05-05 21:24
2013.03.22
Нестандартное свойство компонента


3-1280406421
Alekcey
2010-07-29 16:27
2013.03.22
raised exception ... in module IDODBC32.DLL


2-1339057678
FS
2012-06-07 12:27
2013.03.22
xml, loadxml