| 
| 
 | Вопрос # 6/ вопрос решён / | 
 |  Уважаемые эксперты! Подскажите, пожалуйста, как узнать, установлен ли в системе хотя бы один принтер? Заранее благодарю за ответ. 
|  |   Вопрос задал: Sunshine (статус: Посетитель)Вопрос отправлен: 11 мая 2006, 15:39
 Состояние вопроса: решён, ответов: 3.
 |  Ответ #1. Отвечает эксперт: bruder Есть много способов. Вот один из них - с помощью реестра. Кинь на форму кнопку и memo. В событие кнопки OnClick пиши код приложенный к ответу. Приложение:Переключить в обычный режим procedure TForm1.Button1Click(Sender: TObject);var  m: TRegistry;  i: integer;  l: TstringList;  s: string;begin  m := TRegistry.Create; l := TStringList.Create;  s := 'SystemCurrentControlSetControlPrintPrinters';  m.RootKey := HKEY_LOCAL_MACHINE;  m.OpenKey(s, false);   m.CloseKey;  Memo1.Lines.Clear;  for i := 0 to l.Count - 1 do begin    m.OpenKey(s + '' + l[i], false);       // if m.ReadString('Printer Driver') = 'my printer driver' then ..     Memo1.Lines.Add(m.ReadString('Name'));    m.CloseKey;  end;  m.Free;  l.Free;end;
|  | Ответ отправил: bruder (статус: 4-ый класс)Время отправки: 11 мая 2006, 17:49
 Оценка за ответ: 5
 |  Ответ #2. Отвечает эксперт: DNK Самое простое что приходит в голову подключить к проекту модуль Printers. После этого программе станет доступно свойство Printer.Printers:TStrings - список установленных в системе принтеров. 
|  | Ответ отправил: DNK (статус: Студент)Время отправки: 13 мая 2006, 00:56
 Оценка за ответ: 5
 Комментарий к оценке: Коротко и удобно! |  Ответ #3. Отвечает эксперт: West Мне известно два способа, один из них осветил bruder, второй: Приложение:Переключить в обычный режим // uses printers procedure TForm1.Button1Click(Sender: TObject);var  i : integer;begin  ListBox1.Items.Clear;  for i := 0 to Printer.Printers.Count-1 do      ListBox1.items.Add(Printer.Printers.Strings[i]);end;
|  | Ответ отправил: West (статус: 1-ый класс)Время отправки: 14 мая 2006, 00:03
 Оценка за ответ: 3
 Комментарий к оценке: Во-первых, вы повторили ответ Ершова Дениса; во-вторых, перебор значений Printers делать не нужно - это ведь уже TStrings. |  
 Мини-форум вопросаВсего сообщений: 0. 31 января 2011, 19:56: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |