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

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Volk
Сообщения: 31
Зарегистрирован: 01 апр 2005, 16:01
Откуда: Новочеркасск

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

№4
компонент PictureBox и указать в поле image путь к файлу
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

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

Кароче вешаешь на форму АппликатионИвентс и в обработчике события 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;
 
Volk
Сообщения: 31
Зарегистрирован: 01 апр 2005, 16:01
Откуда: Новочеркасск

Да всё это хорошо только вот одна проблемка у меня 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;
Но чёто не получается. ПОМОГИТЕ если кто знает!!!! Заранее огромное спасибо!
YurikGL
Сообщения: 142
Зарегистрирован: 16 фев 2005, 21:54
Откуда: Уфа
Контактная информация:

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
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

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

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

 inc(i);
 i:=i mod 3;
 Image1.Loadfromfile(inttostr(i)+'.jpg');
i, естественно, надо описать
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Volk
Сообщения: 31
Зарегистрирован: 01 апр 2005, 16:01
Откуда: Новочеркасск

СПАСИБО ВСЕМ!!!!
Volk
Сообщения: 31
Зарегистрирован: 01 апр 2005, 16:01
Откуда: Новочеркасск

Спасибо тебе большое 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. Я вот скоро калькулятор буду делать есле чё то я спрошу , главное заходи почаще.
YurikGL
Сообщения: 142
Зарегистрирован: 16 фев 2005, 21:54
Откуда: Уфа
Контактная информация:

>только ты немного ошибся с Visibble там надо указывать Visibe:=True;
я это.... устаю иногда :)

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