Страница 1 из 6

ПОМОГИТЕ НОВИЧКУ

Добавлено: 02 апр 2005, 10:07
Volk
Я только недавно начал программировать на Delphi (но уже кое что умею)и у меня появились некоторые ВОПРОСЫ если не затруднит то ответте пожалуйсто! Заранее большое спасибо!
№1
Как сделать так чтоб при нажатии кнопки на клавиатуре вылазил определённый лэибл с надписью и (или) рисунок?
№2
Как зделать так чтоб при наведении на кнопку курсора надпись на ней менялась?
№3
код чтоб при нажатии на кнопку выделялись ВСЕ файлы и папки из каталога C:\WINDOWS\Temp и удалялись?
№4
Каким макаром вообще можно загрузить на форму рисунок GIF?
И пожалюйсто ПОПОДРОБНЕЕ я ведь только начинаю:-)
:?

Добавлено: 02 апр 2005, 13:14
Neel
№4
компонент PictureBox и указать в поле image путь к файлу

Добавлено: 02 апр 2005, 16:07
Хыиуду
№2. В свойстве кнопки OnMouseMove пишешь Button1.caption:='Новая надпись'. Если надо, чтобы при уходе с кнопки надпись возвращалась в первоначальное состояние, можно написать в свойстве формы OnMouseMove Button1.caption:='Старая надпись'. Или, если кнопка лежит не на форме, а на панели, то надо это писать в свойстве OnMouseMove панели.
№3. По идее, там надо использовать процедуры findfirst и findnext, но это связано с определенным геморроем. Не сложно, но муторно. Второй, довольно извратный способ - это создать bat-файл, в котором будет написано del C:\windows\temp\*.* или deltree C:\windows\temp\*.*, а при нажатии кнопки просто запускать этот bat-файл как приложение. Вот как запускать одно приложение из-под другого, я не помню.

Добавлено: 02 апр 2005, 18:06
OTELLO
Кароче вешаешь на форму АппликатионИвентс и в обработчике события OnShortCut пишешь

Код: Выделить всё

  
  // имеется ввиду,что метку не видно (visible:=false)
  IF Msg.CharCode <> 0 THEN Label1.Visible:=TRUE;
  // а мы её сделали видимой
, ну и аналогично с рисунком. Если тебе надо чтоб создавалось лэйбл или рисунок пиши следующее:

Код: Выделить всё

 IF Msg.CharCode <> 0 THEN 
  VAR l:TLabel;
  BEGIN
   l:=TLabel.Create(self);
   l.visible:=TRUE;
  ... // здесь настраиваешь лэйбл как надо тебе
  form1.InsertControl(l) // а здесь "суёшь" свой лэйбл на форму. Все =))
  END;
 

Добавлено: 08 апр 2005, 23:03
Volk
Да всё это хорошо только вот одна проблемка у меня DELPHI 3 а не как не 6!!!!!!! И мне хотелось бы узнать можно ли что нибудь предпринять для делфа 3? И ещё напишите пожалуйсто код процедуры чтоб поочерёдно показывался сначала один рисунок потом исчезал затем показывался второй на 1 секунду и исчезал и также третий. я вот пробовал с таймером:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Image1.Visible then Image1.Hide
if Image1.Hide then Image2.Visible
if Image2.Visible then Image2.Hide
if Image2.Hide then Image3.Visible
if Image3.Visible then Image3.Hide
if Image2.Hide then Image1.Visible
end;
Но чёто не получается. ПОМОГИТЕ если кто знает!!!! Заранее огромное спасибо!

Добавлено: 08 апр 2005, 23:58
YurikGL
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Image1.Visible then begin
Image1.Hide;
Image2.Visible;
application.processmessages;//не обязательно
end
else
if Image2.Visible then begin
Image2.Hide;
Image3.Visible;
application.processmessages;//не обязательно
end
else begin
Image3.Hide;
Image1.Visible;
application.processmessages;//не обязательно
end

end;

если ничего не напутал.
Изначально один должен быть visible

Добавлено: 09 апр 2005, 08:08
Хыиуду
Если картинки лежат здесь же, рядом, т.е. в папке с программой, можно назвать их, соответственно, 0, 1 и 2.jpg. На форме будет всего одна имага, а код OnTimer будет такой:

Код: Выделить всё

 inc(i);
 i:=i mod 3;
 Image1.Loadfromfile(inttostr(i)+'.jpg');
i, естественно, надо описать

Добавлено: 09 апр 2005, 11:18
Volk
СПАСИБО ВСЕМ!!!!

Добавлено: 09 апр 2005, 13:28
Volk
Спасибо тебе большое YurikGL всё супер только ты немного ошибся с Visibble там надо указывать Visibe:=True; Ну вообщем это должно выглядеть вот так:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Image1.Visible then
begin
Image1.Hide;
Image2.Visible:=True;
application.processmessages;
end
else
if Image2.Visible then begin
Image2.Hide;
Image3.Visible:=True;
application.processmessages;
end
else begin
Image3.Hide;
Image1.Visible:=True;
application.processmessages;
end;
end;
end.
И всё равно спасибо тебе ОГРОМНОЕ!!!!!
А и вот ещё ВОПРОС можно ли вообще какими нибуди дополнениями сделать из Delphi 3 Delphi 6????
P.S. Я вот скоро калькулятор буду делать есле чё то я спрошу , главное заходи почаще.

Добавлено: 10 апр 2005, 22:16
YurikGL
>только ты немного ошибся с Visibble там надо указывать Visibe:=True;
я это.... устаю иногда :)

>А и вот ещё ВОПРОС можно ли вообще какими нибуди дополнениями сделать из Delphi 3 Delphi 6????
Насколько я знаю - нет. А что мешает поставить?