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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2007, 22:59   #1
ruslan21
 
Регистрация: 20.06.2007
Сообщений: 8
По умолчанию помогите чайнику разобратся CD ромом

здраствуйте дорогие друзья я хотелбы уточнить такой момент вот в программе управление CD ромом написано следующий код но я одного не могу понять куда его вписать а так сильно охота разобратся

СПАИБО ВСЕМ КТО ПОМОГ С РЕШЕНИЕМ ЭТОЙ ГЛУПОЙ ПРОБЛЕМОЙ

Код:
function CDOpen(Drive: PChar): Boolean;
var
  Res: MciError;
  OpenParm: TMCI_Open_Parms;
  Flags: DWord;
  S: string;
  DeviceID: Word;
begin
  Result := false;
  S := Drive + ':';
  Flags := mci_Open_Type or mci_Open_Element;
  with OpenParm do
  begin
    dwCallback := 0;
    lpstrDeviceType := 'CDAudio';
    lpstrElementName := PChar(S);
  end;
  Res := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
  if Res <> 0 then
    exit;
  DeviceID := OpenParm.wDeviceID;
  try
    Res := mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0);
    if Res = 0 then
      exit;
    Result := True;
  finally
    mciSendCommand(DeviceID, MCI_OPEN, Flags, Longint(@OpenParm));
  end;
end;
function CDClose(Drive: PChar): Boolean;
var
  Res: MciError;
  OpenParm: TMCI_Open_Parms;
  Flags: DWord;
  S: string;
  DeviceID: Word;
begin
  Result := false;
  S := Drive + ':';
  Flags := mci_Open_Type or mci_Open_Element;
  with OpenParm do
  begin
    dwCallback := 0;
    lpstrDeviceType := 'CDAudio';
    lpstrElementName := PChar(S);
  end;
  Res := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
  if Res <> 0 then
    exit;
  DeviceID := OpenParm.wDeviceID;
  try
    Res := mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_CLOSE, 0);
    if Res = 0 then
      exit;
    Result := True;
  finally
    mciSendCommand(DeviceID, MCI_CLOSE, Flags, Longint(@OpenParm)) else
  end;
end;
 
к стати вот с такими кодами я все прекрасно понимаю
procedure TForm1.Button1Click(Sender: TObject);
begin
CDClose(PChar(ComboBox1.Text);
end;
как я понимаю здесь надо зделать двойной счелчек по кнопки button1
и вести код

Последний раз редактировалось rpy3uH; 29.07.2008 в 14:35.
ruslan21 вне форума Ответить с цитированием
Старый 20.06.2007, 23:41   #2
sdp
Пользователь
 
Регистрация: 08.06.2007
Сообщений: 11
По умолчанию

ruslan21, вы написали, что
Цитата:
...в программе управление CD ромом написано...
а потом вы пишите
Цитата:
куда его вписать
так в чем логика писать код, если он написан..
или вы не можете разобраться куда писать код, при разработке нового проекта?
sdp вне форума Ответить с цитированием
Старый 21.06.2007, 07:24   #3
Трофимов Александр
Форумчанин
 
Аватар для Трофимов Александр
 
Регистрация: 03.11.2006
Сообщений: 321
По умолчанию

Пишешь функции перед процедурами, а в процедуре нажатия кнопки (по двойному щелчку открывается) пишешь эту функцию, ты по-моему так и сделал.
Не забывай тот момент, что если пишешь функцию, то даже для обращения к Edit-ам и прочей фигни в этом же Unit формы,внутри функции пишется не Edit1.text, а полное имя Form1.Edit1.text.(это если надумаешь как-то модернизировать данную функцию.
Трофимов Александр вне форума Ответить с цитированием
Старый 21.06.2007, 10:46   #4
ruslan21
 
Регистрация: 20.06.2007
Сообщений: 8
По умолчанию

да вы правы я не знаю куда вписать код и после какого слова
ruslan21 вне форума Ответить с цитированием
Старый 21.06.2007, 11:06   #5
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

Вот код для открытия CD Rom
mciSendString('Set cdaudio door open wait', nil, 0, handle);
А этот для закрытия mciSendString('Set cdaudio door closed wait', nil, 0, handle);
Только не забудь в Uses прописать MMSystem;
Aleksandr вне форума Ответить с цитированием
Старый 21.06.2007, 12:08   #6
ruslan21
 
Регистрация: 20.06.2007
Сообщений: 8
По умолчанию

Aleksandr спасибо большое все заработало
ruslan21 вне форума Ответить с цитированием
Старый 21.06.2007, 14:03   #7
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,265
По умолчанию

Статья я думаю моя была или очень похоже на мою. function - это обычные функции и их надо вставлять после
implementation
{$R *.dfm}
и тут этот код.
Если надо по параметрам расписать то обращайся
http://pblog.ru/?p=19#more-19

Последний раз редактировалось Simply-Art; 21.06.2007 в 14:08. Причина: забыл указать ссылку на статью
Simply-Art вне форума Ответить с цитированием
Старый 21.06.2007, 14:07   #8
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

Ну и слава богу.
Aleksandr вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите разобратся с ListView Icor Win Api 3 01.05.2009 16:24
помогите разобратся со шрифтом во flash. White Water HTML и CSS 2 23.12.2008 21:28
Помогите разобратся с функциями на С++ ANTI Общие вопросы C/C++ 1 04.03.2008 17:12
Помогите разобратся с макаронами Стася Microsoft Office Excel 8 15.10.2007 15:20
Помогите разобратся!!! rex2003 Свободное общение 1 18.02.2007 20:37