Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2011, 21:31   #11
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Зачем же посылать в интернеты если всё есть "дома на полках":
Про узнавание букаф CD-ROM'а
Про открытие CD-ROM'а
Про узнавание "Открыт ли CD-ROM?"

Книги в руки и вперёд!
Человек_Борща вне форума Ответить с цитированием
Старый 05.04.2011, 21:34   #12
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Цитата:
К величайшему сожалению,в Delphi я пока что 'ламер' и не пойму зачем мне этот ОГРОМНЫЙ код в unit'е (из DriveWorks).Кто-нибудь может мне объяснить что с этим делать???:confu sed:
Подключить DriveWorks в разделе uses. В основном коде ее не будет видно даже. Функции описанные в этом юните:
Код:
function OpenCD(Drive: Char): Boolean;
function CloseCD(Drive: Char): Boolean;
Надеюсь что понятно что нужно передать в функцию.
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 06.04.2011, 01:42   #13
Наки
Пользователь
 
Аватар для Наки
 
Регистрация: 03.11.2010
Сообщений: 24
По умолчанию

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

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, mmsystem;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  end;

var
  Form1: TForm1;
  flag: Boolean;

implementation

{$R *.dfm}

procedure CloseEject(Drv:string;DoEject:boolean);
var 
  OpenParm:TMCI_OPEN_PARMS;
  SetParm:TMCI_Set_Parms;
  GenParm:TMCI_GENERIC_PARMS;
  ID:integer; 
begin
  openparm.lpstrDeviceType:=pchar('CDAudio');
  openparm.lpstrElementName:=pchar(Drv);
  if mciSendCommand(0, MCI_OPEN,MCI_OPEN_TYPE or MCI_WAIT or MCI_OPEN_ELEMENT, LongInt(@OpenParm))=0
  then
    begin
      ID:=openparm.wDeviceID;
      if DoEject then
        mciSendCommand(ID,MCI_SET,MCI_WAIT or MCI_SET_DOOR_OPEN,LongInt(@SetParm))
      else
        mciSendCommand(ID,MCI_SET,MCI_WAIT or MCI_SET_DOOR_CLOSED,LongInt(@SetParm));
      mciSendCommand(ID,MCI_CLOSE,0,LongInt(@GenParm));
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  CloseEject('D:',flag);
  flag:= not flag;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  flag:=true;
end;

end.
Переменная flag... если true, то дисковод откывается, false - закрывается.
Я не волшебница, я только учусь
Наки вне форума Ответить с цитированием
Старый 06.04.2011, 02:23   #14
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

1) Для одного привода:
Код:
uses MMSystem;
procedure Open;
begin
     mciSendString('Set cdaudio door open wait', nil, 0, handle);
end;

procedure Close;
begin
     mciSendString('Set cdaudio door closed wait', nil, 0, handle);
end;
2) Если приводов больше
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.

Последний раз редактировалось Sparkman; 06.04.2011 в 02:25.
Sparkman вне форума Ответить с цитированием
Старый 07.04.2011, 03:56   #15
custanator
Новичок
Джуниор
 
Регистрация: 06.04.2011
Сообщений: 17
По умолчанию

delphiworld качни delphiworld.narod.ru кажись... для начинающего самая тема)
custanator вне форума Ответить с цитированием
Старый 07.04.2011, 09:09   #16
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
Лампочка

Цитата:
Сообщение от Sparkman Посмотреть сообщение
1) Для одного привода:
Код:
uses MMSystem;
procedure Open;
begin
     mciSendString('Set cdaudio door open wait', nil, 0, handle);
end;

procedure Close;
begin
     mciSendString('Set cdaudio door closed wait', nil, 0, handle);
end;
2) Если приводов больше
+1. Пользовался 1-ым способом - работает.
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 07.04.2011, 10:05   #17
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

TC, качните себе DRKB, Delphi-World уже давно не обновляется.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 07.04.2011, 12:12   #18
~Psycho~
Пользователь
 
Аватар для ~Psycho~
 
Регистрация: 11.12.2010
Сообщений: 44
По умолчанию

http://www.drkb.ru
Отражаю отношение к себе
~Psycho~ вне форума Ответить с цитированием
Старый 07.04.2011, 13:30   #19
Romantik_FM
Пользователь
 
Аватар для Romantik_FM
 
Регистрация: 21.12.2010
Сообщений: 12
По умолчанию

Цитата:
TC, качните себе DRKB, Delphi-World уже давно не обновляется.
а DRKB обновлялся когда последний раз?
Не ошибается тот, кто ничего не делает
Romantik_FM вне форума Ответить с цитированием
Старый 07.04.2011, 13:40   #20
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

DRKB Explorer обновился в 2010-ом до 1.2.2.5.
У меня и chm и explorer=)
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать,чтобы программа работала при низком разрешение монитора? RomanDemidov Общие вопросы Delphi 5 13.12.2010 19:10
Как сделать так чтобы приложение базы данных работала на компьютерах без установленной программы delphi? Даниил_глазко БД в Delphi 6 09.11.2010 16:26
пграмма совершает аварийное прерывание.как сделать так чтобы она работала нормально? Екатерина3439 Общие вопросы C/C++ 8 24.06.2010 00:27