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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2014, 22:50   #11
Foreseen
Техножрец
Форумчанин
 
Аватар для Foreseen
 
Регистрация: 04.07.2014
Сообщений: 289
По умолчанию

Цитата:
Сообщение от indexx Посмотреть сообщение
Как обращаться? На ты, на Вы? Или "эй как тебя там"?
На stdcall
Если я правильно понимаю, вы желаете получить что то вроде
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
devname:=GetName(COM1);
end;
Спешу огорчить, таких функций нет. Либо надстройки, либо stdcall/
— Двери есть везде. Просто нужно знать, как в них войти.
Foreseen вне форума Ответить с цитированием
Старый 12.09.2014, 22:53   #12
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Я не прошу именно встроенные функции. Я прошу какое нибудь решение. Есть идеи?
P.S. Данное решение уже реализовано в сторонней библиотеке GetNumCom.dll, следовательно решение есть.
indexx вне форума Ответить с цитированием
Старый 12.09.2014, 23:18   #13
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
А я знаю, что это такое?
А гугл у вас есть? или вы с таксофона сидите?

Цитата:
И толку от этой информации, если я не знаю, как её использовать?
Наглость конечно второе счастье, но это целиком ваша проблема. Вы спросили как можно ещё получить желаемое, вам дали подсказку. Копайте в сторону использования WMI в Delphi.
Та же херня с SetupAPI.

Документации валом, далеко ходить не надо, есть оф. источник MSDN.
Исходников и примеров ещё больше. Написать "Исходник WMI в Delphi" религия запрещает?

Вот к примеру получение списка видеокарт через WMI:
Код:
uses
  SysUtils,
  ActiveX,
  ComObj,
  WbemScripting_TLB,
  Variants;

procedure  GetCIM_VideoControllerInfo;
const
  WbemUser            ='';
  WbemPassword        ='';
  WbemComputer        ='localhost';
  wbemFlagForwardOnly = $00000020;
var
  FSWbemLocator : ISWbemLocator;
  FWMIService   : ISWbemServices;
  FWbemObjectSet: ISWbemObjectSet;
  FWbemObject   : ISWbemObject;
  FWbemPropertySet: ISWbemPropertySet; 
  TempObj         : OleVariant;  
  oEnum         : IEnumvariant;
  iValue        : Cardinal;
begin                
  FSWbemLocator := CoSWbemLocator.Create;
  FWMIService   := FSWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2', WbemUser, WbemPassword, '', '', 0, nil);
  FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM CIM_VideoController','WQL', wbemFlagForwardOnly, nil);
  oEnum         := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
  while oEnum.Next(1, TempObj, iValue) = 0 do
  begin
    FWbemObject     := IUnknown(TempObj) as ISWBemObject;
    FWbemPropertySet:= FWbemObject.Properties_;
  
    Writeln(Format('Caption    %s',[String(FWbemPropertySet.Item('Caption', 0).Get_Value)]));
	    
    Writeln('');
    TempObj:=Unassigned;
  end;
end;


begin
 try
    CoInitialize(nil);
    try
      GetCIM_VideoControllerInfo;
    finally
      CoUninitialize;
    end;
 except
    on E:EOleException do
        Writeln(Format('EOleException %s %x', [E.Message,E.ErrorCode])); 
    on E:Exception do
        Writeln(E.Classname, ':', E.Message);
 end;
Цитата:
А там написано как решить мою задачу? Я не нашёл.
А вот это уже сами думайте. Вам дали средство для достижения цели, а не священный гроаль. Не хотите думать своим мозгом, есть раздел "Фриланс" там всегда есть "двое из ларца, одинаковых с лица".

Цитата:
P.S. Данное решение уже реализовано в сторонней библиотеке GetNumCom.dll, следовательно решение есть.
Так и используйте эту библиотеку если там уже все написано.
Человек_Борща вне форума Ответить с цитированием
Старый 12.09.2014, 23:27   #14
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Человек_Борща Отвечу кратко на все вопросы. Не хватает знаний. А Вам не хватает кстати внимательности
Цитата:
Так и используйте эту библиотеку если там уже все написано.
Читаем внимательно первый пост.
Цитата:
Написать "Исходник WMI в Delphi" религия запрещает?
Написал. Посмотрел на кучу информации, ничего не понял. Дальше что? Если я не понимаю wmi, я не имею права просить решение? Извиняйте, не знал что тут такие правила.
P.S. перекопал кучу информации, и везде одно и тоже. Посылают изучать WMI. Складывается ощущение, что посылают те, кто сами не знают решение.

Последний раз редактировалось indexx; 12.09.2014 в 23:38.
indexx вне форума Ответить с цитированием
Старый 12.09.2014, 23:50   #15
Foreseen
Техножрец
Форумчанин
 
Аватар для Foreseen
 
Регистрация: 04.07.2014
Сообщений: 289
По умолчанию

Цитата:
Сообщение от indexx Посмотреть сообщение
Складывается ощущение, что посылают те, кто сами не знают решение.
Складывается ощущение, что вы просто тролль или совсем не понимаете в программировании. Хочу то, не знаю что.
— Двери есть везде. Просто нужно знать, как в них войти.
Foreseen вне форума Ответить с цитированием
Старый 12.09.2014, 23:52   #16
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

А смекалка ваша где? По SerialPort'у поиска в классах никак?
Думаете я все знаю о WMI? Нет, просто у меня есть гугл и мне тоже интересно как это делать.
Плохому танцору сами знаете что мешает.

Есть Win32_SerialPort из root\CIMV2, свойства Caption - название устройства, и DeviceID - порт к которому подключено(вроде бы оно).
Ещё есть эти:
MSSerial_CommInfo
MSSerial_CommProperties
MSSerial_HardwareConfiguration
MSSerial_PerformanceInformation

в root\wmi

копайте в их сторону.
Человек_Борща вне форума Ответить с цитированием
Старый 13.09.2014, 00:08   #17
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Цитата:
Сообщение от Foreseen Посмотреть сообщение
Складывается ощущение, что вы просто тролль
Какой-то странный способ тролить.
Цитата:
или совсем не понимаете в программировании. Хочу то, не знаю что.
Я в топике написал что я хочу. Даже с картинками! Читать пробовал?
Человек_Борща Вот это уже ближе к телу. Ведь можете, когда хотите. Жаль что в СИ я ни чего не смыслю. Вопрос открыт.

Последний раз редактировалось indexx; 13.09.2014 в 00:14.
indexx вне форума Ответить с цитированием
Старый 13.09.2014, 02:28   #18
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от indexx Посмотреть сообщение
[B]Написал. Посмотрел на кучу информации, ничего не понял. Дальше что? Если я не понимаю wmi, я не имею права просить решение? Извиняйте, не знал что тут такие правила.
P.S. перекопал кучу информации, и везде одно и тоже. Посылают изучать WMI. Складывается ощущение, что посылают те, кто сами не знают решение.
Сказать что нужен готовый код для сдачи экзамена скромность не позволяет? Или религия?

P.S. Ну а насчёт того что за устройство подключено в данный момент на некий COM-порт я пока ничего говорить не буду.
northener вне форума Ответить с цитированием
Старый 13.09.2014, 04:30   #19
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Сказать что нужен готовый код для сдачи экзамена скромность не позволяет? Или религия?
В 30 лет экзамены? Не кури больше эту траву.
Цитата:
Сообщение от northener Посмотреть сообщение
Ну а насчёт того что за устройство подключено в данный момент на некий COM-порт я пока ничего говорить не буду
Ну да. Сопоставить Arduino и учебное заведение... Столько травы выкурить нереально. Разработчики любители? Не не слышали.

Последний раз редактировалось indexx; 13.09.2014 в 04:41.
indexx вне форума Ответить с цитированием
Старый 13.09.2014, 12:03   #20
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Человек_Борща Вот это уже ближе к телу. Ведь можете, когда хотите. Жаль что в СИ я ни чего не смыслю. Вопрос открыт.
Это ваша проблема и только ваша. Вот средство достижения цели, вот классы для получения желаемого. Пример вызова WMI я приводил где-то там.

Включите мозг и разбирайтесь сами.

Я тоже не знаю ни C++ ни Visual Basic однако это не мешает мне читать код на этих языках. Уверен вам тоже, если вы хоть сколько то лет программируете.

На Visual Basic'e(на MSDN ссылку уже давал) кстати приведен полноценный пример получения этой информации с именами, описаниями устройств и номерами COM портов.

Задача решена, вопрос закрыт. Всего доброго.
Человек_Борща вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Устройства ввода Programmer_Forum Помощь студентам 3 05.10.2013 17:25
Программы и устройства AVer Софт 2 13.02.2013 18:40
Паскаль.Описание лабораторной работы. Помиогите сделать описание проги .какая формула что делает. Elimay25 Паскаль, Turbo Pascal, PascalABC.NET 1 01.03.2012 16:34
ресурсы устройства notHaker Win Api 3 25.06.2010 00:04
USB устройства KREGI Компоненты Delphi 11 29.06.2009 23:39