ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
22 ноября
1091658 Топик полностью
Гyдвин, волшебник (08.04.2021 15:18, просмотров: 468) ответил VladislavS. на Можно просто перебором все найти.
Ага. Можно заодно искать свое устройство. По крайней мере в 2004-ом оно на всех тогдашних виндах работало. Да и сейчас работает в вынь 10, судя по тому, что народ не жалуется... А зря - не хотят, сцуки, менять системы... 
procedure TMF.TestSimCon;
var
i: integer;
b:byte;
ch: char;
Begin
TI.Hint:='SimCon ';
   for i:=1 to 15 do
   begin
    cpd.PortName:= '\\.\com'+IntToStr(i);
      if cpd.Connect then
        begin
        cpd.FlushBuffers(true,true);
        cpd.SendByte(27);
        sleep(100);
        if cpd.CountRX>5 then
          begin
          cpd.ReadByte(b) ;
            if b=27 then
             begin
             cpd.ReadChar(ch);
             TI.Hint:=TI.Hint+ch;
             cpd.ReadChar(ch);
             TI.Hint:=TI.Hint+ch;
             cpd.ReadChar(ch);
             TI.Hint:=TI.Hint+ch;
             cpd.ReadChar(ch);
             TI.Hint:=TI.Hint+ch;
             cpd.ReadChar(ch);
             TI.Hint:=TI.Hint+ch;
             cpd.ReadChar(ch);
             TI.Hint:=TI.Hint+ch;
             MF.Caption:='Ждем...';
             TI.Hint:=TI.Hint+' на COM'+ IntTostr(i);
             versionSC:= TI.Hint;

             break;
             end;
          end;
        cpd.Disconnect;
        end;
   end;
  if i=16 then
    begin
  //  Application.MessageBox('Не подключен регистратор SimCon','Ошибка',MB_OK+MB_ICONWARNING);
    TI.Hint:=TI.Hint+' не подключен!';
    end;
end;