Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 05.04.2011, 21:31   #11
Человек_Борща
Модератор
Заслуженный модератор
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Адрес: Республика Беларусь, г. Минск
Сообщений: 11,386
Репутация: 2669

skype: arhangelsoft
По умолчанию

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

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

Цитата:
К величайшему сожалению,в 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
Репутация: 34
По умолчанию

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

Код:

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
Репутация: 221
По умолчанию

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
Репутация: 10
По умолчанию

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

icq: 624801702
skype: labfreetech.org
Лампочка

Цитата:
Сообщение от 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,734
Репутация: 3006
По умолчанию

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
Репутация: 12

icq: 392641468
По умолчанию

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

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

skype: arhangelsoft
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


08:57.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru