Главная страница
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]

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


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


> Вера   (24.12.08 16:24) [26]
>
> Можно я перешлю вам вы посмотрите?


Предлагаю вместе с этой бедой переслать, ну скажем, 1000 WMR, чтобы тебя совесть не мучила)
Назад получишь отремонтированный проект с работающим слайд-шоу)


 
Вера   (2008-12-24 17:14) [42]

Что такое WMR?


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

Рублевая у.е. в системе электронной расчетно-платежной системы WebMoney)


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

Яндекс.Деньги тоже сойдет)


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

т.е. 1000руб?а из рук в руки никак?потому что у меня нет этой системы


 
Вера   (2008-12-24 17:18) [46]

ты где живёшь?


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

Из рук в руки ты будешь с преподом расчитываться, когда завалишь курсовой)
А завести и пополнить свой счет в WebMoney или Яндекс.Деньгах - дело максимум суток)


 
Вера   (2008-12-24 17:23) [48]

а когда ты мне  эту прогу сделаешь?


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

Думаю, с момента как я обнаружу в своем WMR-кошельке означенную сумму, полчаса будет вполне достаточно привести эту беду в порядок)


 
Вера   (2008-12-24 17:32) [50]

а где гарантия что ты меня не кинешЬ?


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

Гарантии раздает только Аллах, и то по большим праздникам)


 
Вера   (2008-12-24 17:37) [52]

понятно


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

спасибо за услуги.Ищи таких дураков в другом месте.


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

Ты высылаешь проект, я его привожу в порядок, добавляю слад-шоу и высылаю тебе демо без исходников. Если все устраивает, ты перечисляешь сумму и тут же получаешь исходники)


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

Наше дело предложить - ваше отказаться)
А курсач-то тепм временем дамокловым мечем все ближе и ближе к шее)


 
Вера   (2008-12-24 17:44) [56]

Во-первых,мне курсовую надо сделать сегодня и сдать завтра.А чтобы создать эту систему и пополнить счет нужен как ты говоришь день...


 
Вера   (2008-12-24 17:46) [57]

тем более я не знаю-создать то создадим-а вот пополнить может стать проблемой


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

положатся ли деньги в банкомате


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


> положатся ли деньги в банкомате


Ты еще банкомату задай такой же вопрос как в [50]
А времечко-то идет)
А ты по-прежнему ни в зуб ногой)
И завтра тебе на Голгофу, а не мне)

Так кто из нас на поле дураков, а ?


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


> надо сделать сегодня и сдать завтра


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


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

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



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

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

Наверх




Память: 0.62 MB
Время: 0.053 c
15-1335645002
Юрий
2012-04-29 00:30
2013.03.22
С днем рождения ! 29 апреля 2012 воскресенье


15-1334176202
Юрий
2012-04-12 00:30
2013.03.22
С днем рождения ! 12 апреля 2012 четверг


15-1330531768
Димка На
2012-02-29 20:09
2013.03.22
Gaussian blur


11-1244657683
Galkov
2009-06-10 22:14
2013.03.22
Очень Древний Баг с прозрачностью (DoubleBuffered)


15-1337676209
ClawClaw
2012-05-22 12:43
2013.03.22
Чемпионат Европы 2012