Недавно добавленные исходники

•  Animation Loaders  691

•  DeLiKaTeS Tetris (Тетрис)  5 694

•  TDictionary Custom Sort  7 651

•  Fast Watermark Sources  7 339

•  3D Designer  10 550

•  Sik Screen Capture  7 869

•  Patch Maker  8 091

•  Айболит (remote control)  8 151

•  ListBox Drag & Drop  6 945

•  Доска для игры Реверси  100 147

•  Графические эффекты  8 209

•  Рисование по маске  7 605

•  Перетаскивание изображений  6 209

•  Canvas Drawing  6 576

•  Рисование Луны  6 500

•  Поворот изображения  5 678

•  Рисование стержней  4 602

•  Paint on Shape  3 297

•  Генератор кроссвордов  4 285

•  Головоломка Paletto  3 428

•  Теорема Монжа об окружностях  4 247

•  Пазл Numbrix  2 753

•  Заборы и коммивояжеры  3 658

•  Игра HIP  2 464

•  Игра Go (Го)  2 446

•  Симулятор лифта  2 859

•  Программа укладки плитки  2 293

•  Генератор лабиринта  3 019

•  Проверка числового ввода  2 516

•  HEX View  2 924

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Открыть CD-ROM




Клиент:
- В стоимость мультимедийного компьютера CDROM входит?
- Входит.
- Так там нет его!
- Kак нет?.. Я его Вам поставил.
- Ну, как, мы его открываем, а там пусто!..

Основываясь, на этой возможности можно написать классную прогу. Представьте себе: ламерюга с умным видом тайпает какой-нибудь док, а тут его сидюк начинает вести себя как взбесившийся: то откроется, то закроется, то откроется, то закроется, то откроется, то закроется, то откроется, то закроется, то откроется, то закроется, то откроется, то закроется, то откроется, то закроется, то откроется, то закроется... и так, например, каждый час... (или минуту...или секунду...)

Для начала научимся открывать CD-ROM по нажатию простого "батона":

  • В uses нужно сначала объявить модуль MMSystem:

uses
  MMSystem;

  • По нажатию кнопок написать:

//Для открытия
procedure TForm1.OpenBtnClick(Sender: TObject);
begin
  mciSendString('Set cdaudio door open wait', nil, 0, handle);
end;

//Для закрытия
procedure TForm1.CloseBtnClick(Sender: TObject);
begin
  mciSendString('Set cdaudio door closed wait', nil, 0, handle);
end;

Ну а если вы уж хотите, чтобы это всё происходило автоматически с периодичностью в несколько минут, тогда выносим наш любимый компонент - Timer. Устанавливаем его свойство Interval в 30000 миллисекунд - это 30 секунд, т.е. каждые полминуты глупый ламерюга будет подскакивать...И на событие OnTimer, предвкушая удовольствие, пишем: сначала в публичных объявлениях объявим переменную логического типа IsOpen для обозначения времени когда открыт CD-ROM


public
  { Public declarations }
  IsOpen: boolean;

По созданию окна (OnCreate) устанавливаем эту переменную в false, т.к. изначально, когда наша прога только запускается, CD-ROM не открыт:


procedure TForm1.FormCreate(Sender: TObject);
begin
  IsOpen := false;
end;

И наконец, по таймеру пишем:


procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if IsOpen = false then
  begin
    mciSendString('Set cdaudio door open wait', nil, 0, handle);
    IsOpen:=true;
  end
  else
  begin
    mciSendString('Set cdaudio door closed wait', nil, 0, handle);
    IsOpen:=false;
  end;
end;





Похожие по теме исходники

Load JPEG from RES

Snake from Art

CIE Chromaticity Diagrams

Palette Chromatique

 

Info from IP

QUIZ of Aromatic Plants

Flash and CD-ROM Safe Removal

Detach From Debugger

 



Copyright © 2004-2026 "Delphi Sources" by «SiteAnalyzer». Delphi World FAQ

Группа ВКонтакте