Конференция "Media" » графика [D7, WinXP]
 
  • Вера (24.12.08 12:02) [0]
    Помогите сделать слайд шоу.Я делаю программу просмотра графических файлов.Как там сделать слайд шоу.На делфи
  • Сергей М. © (24.12.08 12:24) [1]
    Используй TTimer
  • {RASkov} © (24.12.08 12:24) [2]
    > [0] Вера   (24.12.08 12:02)

    По таймеру меняй картинки и делов.... В чем вопрос?
  • Вера (24.12.08 12:58) [3]
    Можете примерный код привести.Я не очень понимаю как это делать(((((((
  • Сергей М. © (24.12.08 13:07) [4]
    Это что, лаба или курсовой ?
  • Вера (24.12.08 13:16) [5]
    Курсовая
  • Сергей М. © (24.12.08 13:19) [6]
    Покажи что тобой уже сделано на сей момент ..
  • Вера (24.12.08 13:22) [7]
    У меня тема курсовой Разработка программы просмотра графических файлов
  • Вера (24.12.08 13:22) [8]
    У меня есть прога которая открывает,просматривает картинки вперед назад
  • Вера (24.12.08 13:23) [9]
    И вот еще хотелось бы сделать слайд шоу и чтобы они поворачивались
  • Вера (24.12.08 13:24) [10]
    Помогите пожалуйста
  • Вера (24.12.08 13:24) [11]
    а как показать?код прислать сюда?
  • Сергей М. © (24.12.08 13:27) [12]

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


    Она к тебе с луны свалилась ?
    Или ты ее самостоятельно написала ?
    Если самостоятельно, то см. [6]
  • Вера (24.12.08 13:31) [13]
    не самостоятельно(((
  • Сергей М. © (24.12.08 13:35) [14]
    И как же ты собралась защищать курсовой, если он чужой и ты о происходящем в нем нишиша не петришь ?

    Не стыдно, а ?
  • Вера (24.12.08 13:38) [15]
    ну вообще то я делала вместе с помощником.И что там происходит я понимаю
  • Вера (24.12.08 13:38) [16]
    Просто я не считаю что я делала самостоятельно
  • Вера (24.12.08 13:39) [17]
    вот так и написала
  • Сергей М. © (24.12.08 13:43) [18]

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


    Чудесно.

    Показ очередной картинки как реализован - по щелчку кнопки ?
  • Вера (24.12.08 13:44) [19]
    да
  • Сергей М. © (24.12.08 13:54) [20]
    У этой кнопки есть метод Click, для показа слайд-шоу достаточно автоматизировать вызов этого метода, что равносильно переодическим щелчкам юзера по этой кнопке.

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

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

    Осталось только "запустить" этот таймер для показа слайд-шоу.
    Для этого нужно установить его св-во Enabled равным True. Останов шоу, соответственно, потребует записи в это св-во значения False.
  • Вера (24.12.08 15:17) [21]
    с таймером я все сделала а вот с Click я не поняла
  • Вера (24.12.08 15:42) [22]
    я сделала но он выдает ошибку
  • Сергей М. © (24.12.08 16:08) [23]

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


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


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


    Какую ?
  • Вера (24.12.08 16:19) [24]
    Блин я начала делать с этим таймером-теперь вообще прога не работает((((((((((я его удалила и опять не работает
  • Сергей М. © (24.12.08 16:22) [25]

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


    Блины с икрой знаю, блины с таймером не знаю)
  • Вера (24.12.08 16:24) [26]
    Можно я перешлю вам вы посмотрите?
  • Сергей М. © (24.12.08 16:26) [27]
    Да ты прямо сюда приводи фрагмены "своего" кода ..
  • Вера (24.12.08 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.
  • Вера (24.12.08 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.
  • Сергей М. © (24.12.08 16:32) [30]
    Так..

    И в этом коде не работает ?
  • Вера (24.12.08 16:35) [31]
    да
  • Сергей М. © (24.12.08 16:37) [32]
    Что конкретно в этом коде не работает ?
  • Вера (24.12.08 16:41) [33]
    The FormCreate method referenced by Form1
  • Сергей М. © (24.12.08 16:48) [34]

    > The FormCreate method referenced by Form1


    Это что ?
  • Вера (24.12.08 16:53) [35]
    ошибку такую выдает
  • Сергей М. © (24.12.08 16:56) [36]

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


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

    И если это ошибка, то где, в какой момент и при каких обстоятельствах ты ее наблюдаешь ?
  • Вера (24.12.08 16:59) [37]
    The FormCreate method referenced by Form1.OnCreate does not exist.Remove the reference?Выдает когда пытаюсь закрыть  проект
  • Вера (24.12.08 17:00) [38]
    и вообще прога даже не запускается-т.е. Run не работает
  • Сергей М. © (24.12.08 17:06) [39]

    > does not exist


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

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


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


    Неужели прямо вот так и говорит "Не работаю" ?
  • Вера (24.12.08 17:08) [40]
    ну он серый а не зеленый как когда запускается
  • Сергей М. © (24.12.08 17:11) [41]

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


    Предлагаю вместе с этой бедой переслать, ну скажем, 1000 WMR, чтобы тебя совесть не мучила)
    Назад получишь отремонтированный проект с работающим слайд-шоу)
  • Вера (24.12.08 17:14) [42]
    Что такое WMR?
  • Сергей М. © (24.12.08 17:16) [43]
    Рублевая у.е. в системе электронной расчетно-платежной системы WebMoney)
  • Сергей М. © (24.12.08 17:16) [44]
    Яндекс.Деньги тоже сойдет)
  • Вера (24.12.08 17:17) [45]
    т.е. 1000руб?а из рук в руки никак?потому что у меня нет этой системы
  • Вера (24.12.08 17:18) [46]
    ты где живёшь?
  • Сергей М. © (24.12.08 17:20) [47]
    Из рук в руки ты будешь с преподом расчитываться, когда завалишь курсовой)
    А завести и пополнить свой счет в WebMoney или Яндекс.Деньгах - дело максимум суток)
  • Вера (24.12.08 17:23) [48]
    а когда ты мне  эту прогу сделаешь?
  • Сергей М. © (24.12.08 17:30) [49]
    Думаю, с момента как я обнаружу в своем WMR-кошельке означенную сумму, полчаса будет вполне достаточно привести эту беду в порядок)
  • Вера (24.12.08 17:32) [50]
    а где гарантия что ты меня не кинешЬ?
  • Сергей М. © (24.12.08 17:36) [51]
    Гарантии раздает только Аллах, и то по большим праздникам)
  • Вера (24.12.08 17:37) [52]
    понятно
  • Вера (24.12.08 17:38) [53]
    спасибо за услуги.Ищи таких дураков в другом месте.
  • Сергей М. © (24.12.08 17:41) [54]
    Ты высылаешь проект, я его привожу в порядок, добавляю слад-шоу и высылаю тебе демо без исходников. Если все устраивает, ты перечисляешь сумму и тут же получаешь исходники)
  • Сергей М. © (24.12.08 17:43) [55]
    Наше дело предложить - ваше отказаться)
    А курсач-то тепм временем дамокловым мечем все ближе и ближе к шее)
  • Вера (24.12.08 17:44) [56]
    Во-первых,мне курсовую надо сделать сегодня и сдать завтра.А чтобы создать эту систему и пополнить счет нужен как ты говоришь день...
  • Вера (24.12.08 17:46) [57]
    тем более я не знаю-создать то создадим-а вот пополнить может стать проблемой
  • Вера (24.12.08 17:46) [58]
    положатся ли деньги в банкомате
  • Сергей М. © (24.12.08 20:37) [59]

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


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

    Так кто из нас на поле дураков, а ?
  • Сергей М. © (24.12.08 20:40) [60]

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


    А какого ж хрена ты весь семестр делала, а ?
    Хвост задрав дурака валяла вместо того чтобы учиться, так ведь ?)
    И теперь ищешь лихорадочно, где бы нахалявку да по-быстрому дыры залатать да прикрыть свою безалаберность, так ведь ?
  • Сергей М. © (24.12.08 20:45) [61]
    И куда исчез тот "помощник", тот самый работник той самой богадельни, что якобы "помог" тебе, так что ты ни шута не понимаешь, что и как у тебя происходит в проекте, который ты якобы должна представить завтра готовым ?
 
Конференция "Media" » графика [D7, WinXP]
Есть новые Нет новых   [134431   +10][b:0.001][p:0.002]