⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exlibmd0.pas

📁 delphi RS232 计算机串口通讯源程序
💻 PAS
📖 第 1 页 / 共 3 页
字号:
        tvDetails.Items.AddChild (CurModem, 'Supports Blind Dial = True')
      else
        tvDetails.Items.AddChild (CurModem, 'Supports Blind Dial = False');
      if SupportsSetV21V23 then
        tvDetails.Items.AddChild (CurModem, 'Supports V21 V23 = True')
      else
        tvDetails.Items.AddChild (CurModem, 'Supports V21 V23 = False');
      if SupportsModemDiagnostics then
        tvDetails.Items.AddChild (CurModem, 'Supports Modem Diagnostics = True')
      else
        tvDetails.Items.AddChild (CurModem, 'Supports Modem Diagnostics = False');
      tvDetails.Items.AddChild (CurModem, 'Max DTE Rate = ' + IntToStr (MaxDTERate));
      tvDetails.Items.AddChild (CurModem, 'Max DCE Rate = ' + IntToStr (MaxDCERate));
      tvDetails.Items.AddChild (CurModem, 'Current Country = ' + CurrentCountry);
      tvDetails.Items.AddChild (CurModem, 'Maximum Port Speed = ' + IntToStr (MaximumPortSpeed));
      tvDetails.Items.AddChild (CurModem, 'Power Delay = ' + IntToStr (PowerDelay));
      tvDetails.Items.AddChild (CurModem, 'Config Delay = ' + IntToStr (ConfigDelay));
      tvDetails.Items.AddChild (CurModem, 'Baud Rate = ' + IntToStr (BaudRate));

      // Get Responses
      TempNode1 := tvDetails.Items.AddChild (CurModem, 'Responses');

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'OK');
      for j := 0 to Responses.OK.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.OK[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'NegotiationProgress');
      for j := 0 to Responses.NegotiationProgress.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.NegotiationProgress[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Connect');
      for j := 0 to Responses.Connect.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.Connect[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Error');
      for j := 0 to Responses.Error.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.Error[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'No Carrier');
      for j := 0 to Responses.NoCarrier.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.NoCarrier[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'No Dial Tone');
      for j := 0 to Responses.NoDialTone.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.NoDialTone[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Busy');
      for j := 0 to Responses.Busy.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.Busy[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'No Answer');
      for j := 0 to Responses.NoAnswer.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.NoAnswer[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Ring');
      for j := 0 to Responses.Ring.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.Ring[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Voice View 1');
      for j := 0 to Responses.VoiceView1.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.VoiceView1[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Voice View 2');
      for j := 0 to Responses.VoiceView2.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.VoiceView2[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Voice View 3');
      for j := 0 to Responses.VoiceView3.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.VoiceView3[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Voice View 4');
      for j := 0 to Responses.VoiceView4.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.VoiceView4[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Voice View 5');
      for j := 0 to Responses.VoiceView5.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.VoiceView5[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Voice View 6');
      for j := 0 to Responses.VoiceView6.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.VoiceView6[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Voice View 7');
      for j := 0 to Responses.VoiceView7.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.VoiceView7[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Voice View 8');
      for j := 0 to Responses.VoiceView8.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.VoiceView8[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Ring Duration');
      for j := 0 to Responses.RingDuration.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.RingDuration[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Ring Break');
      for j := 0 to Responses.RingBreak.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.RingBreak[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Date');
      for j := 0 to Responses.Date.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.Date[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Time');
      for j := 0 to Responses.Time.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.Time[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Number');
      for j := 0 to Responses.Number.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.Number[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Name');
      for j := 0 to Responses.Name.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.Name[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Message');
      for j := 0 to Responses.Msg.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.Msg[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Single Ring');
      for j := 0 to Responses.SingleRing.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.SingleRing[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Double Ring');
      for j := 0 to Responses.DoubleRing.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.DoubleRing[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Triple Ring');
      for j := 0 to Responses.TripleRing.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.TripleRing[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Voice');
      for j := 0 to Responses.Voice.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.Voice[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Fax');
      for j := 0 to Responses.Fax.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.Fax[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Data');
      for j := 0 to Responses.Data.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.Data[j]).Response);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Other');
      for j := 0 to Responses.Other.Count - 1 do
        tvDetails.Items.AddChild (TempNode2, PLmResponseData (Responses.Other[j]).Response);

      TempNode1 := tvDetails.Items.AddChild (CurModem, 'Answer');
      for j := 0 to Answer.Count - 1 do begin
        tvDetails.Items.AddChild (TempNode1, 'Command = ' + PLmModemCommand (Answer[j]).Command);
        tvDetails.Items.AddChild (TempNode1, 'Sequence = ' + IntToStr (PLmModemCommand (Answer[j]).Sequence));
      end;

      TempNode1 := tvDetails.Items.AddChild (CurModem, 'Fax');
      for j := 0 to Fax.Count - 1 do begin
        tvDetails.Items.AddChild (TempNode1, 'Command = ' + PLmModemCommand (Fax[j]).Command);
        tvDetails.Items.AddChild (TempNode1, 'Sequence = ' + IntToStr (PLmModemCommand (Fax[j]).Sequence));
      end;

      TempNode1 := tvDetails.Items.AddChild (CurModem, 'Hangup');
      for j := 0 to Hangup.Count - 1 do begin
        tvDetails.Items.AddChild (TempNode1, 'Command = ' + PLmModemCommand (Hangup[j]).Command);
        tvDetails.Items.AddChild (TempNode1, 'Sequence = ' + IntToStr (PLmModemCommand (Hangup[j]).Sequence));
      end;

      TempNode1 := tvDetails.Items.AddChild (CurModem, 'Init');
      for j := 0 to Init.Count - 1 do begin
        tvDetails.Items.AddChild (TempNode1, 'Command = ' + PLmModemCommand (Init[j]).Command);
        tvDetails.Items.AddChild (TempNode1, 'Sequence = ' + IntToStr (PLmModemCommand (Init[j]).Sequence));
      end;

      TempNode1 := tvDetails.Items.AddChild (CurModem, 'Monitor');
      for j := 0 to Monitor.Count - 1 do begin
        tvDetails.Items.AddChild (TempNode1, 'Command = ' + PLmModemCommand (Monitor[j]).Command);
        tvDetails.Items.AddChild (TempNode1, 'Sequence = ' + IntToStr (PLmModemCommand (Monitor[j]).Sequence));
      end;

      TempNode1 := tvDetails.Items.AddChild (CurModem, 'Settings');
      tvDetails.Items.AddChild (TempNode1, 'Prefix = ' + Settings.Prefix);
      tvDetails.Items.AddChild (TempNode1, 'Terminator = ' + Settings.Terminator);
      tvDetails.Items.AddChild (TempNode1, 'Dial Prefix = ' + Settings.DialPrefix);
      tvDetails.Items.AddChild (TempNode1, 'Dial Suffix = ' + Settings.DialSuffix);
      tvDetails.Items.AddChild (TempNode1, 'Speaker Volume High = ' + Settings.SpeakerVolume_High);
      tvDetails.Items.AddChild (TempNode1, 'Speaker Volume Low = ' + Settings.SpeakerVolume_Low);
      tvDetails.Items.AddChild (TempNode1, 'Speaker Volume Medium = ' + Settings.SpeakerVolume_Med);
      tvDetails.Items.AddChild (TempNode1, 'Speaker Mode Dial = ' + Settings.SpeakerMode_Dial);
      tvDetails.Items.AddChild (TempNode1, 'Speaker Mode Off = ' + Settings.SpeakerMode_Off);
      tvDetails.Items.AddChild (TempNode1, 'Speaker Mode On = ' + Settings.SpeakerMode_On);
      tvDetails.Items.AddChild (TempNode1, 'Speaker Mode Setup = ' + Settings.SpeakerMode_Setup);
      tvDetails.Items.AddChild (TempNode1, 'Flow Control Hard = ' + Settings.FlowControl_Hard);
      tvDetails.Items.AddChild (TempNode1, 'Flow Control Off = ' + Settings.FlowControl_Off);
      tvDetails.Items.AddChild (TempNode1, 'Flow Control Soft = ' + Settings.FlowControl_Soft);
      tvDetails.Items.AddChild (TempNode1, 'Error Control Forced = ' + Settings.ErrorControl_Forced);
      tvDetails.Items.AddChild (TempNode1, 'Error Control Off = ' + Settings.ErrorControl_Off);
      tvDetails.Items.AddChild (TempNode1, 'Error Control On = ' + Settings.ErrorControl_On);
      tvDetails.Items.AddChild (TempNode1, 'Error Control Cellular = ' + Settings.ErrorControl_Cellular);
      tvDetails.Items.AddChild (TempNode1, 'Error Control Cellular Forced = ' + Settings.ErrorControl_Cellular_Forced);
      tvDetails.Items.AddChild (TempNode1, 'Compression Off = ' + Settings.Compression_Off);
      tvDetails.Items.AddChild (TempNode1, 'Compression On = ' + Settings.Compression_On);
      tvDetails.Items.AddChild (TempNode1, 'Modulation Bell = ' + Settings.Modulation_Bell);
      tvDetails.Items.AddChild (TempNode1, 'Modulation CCITT = ' + Settings.Modulation_CCITT);
      tvDetails.Items.AddChild (TempNode1, 'Modulation CCITT V23 = ' + Settings.Modulation_CCITT_V23);
      tvDetails.Items.AddChild (TempNode1, 'Speed Negotiation On = ' + Settings.SpeedNegotiation_On);
      tvDetails.Items.AddChild (TempNode1, 'Speed Negotiation Off = ' + Settings.SpeedNegotiation_Off);
      tvDetails.Items.AddChild (TempNode1, 'Pulse = ' + Settings.Pulse);
      tvDetails.Items.AddChild (TempNode1, 'Tone = ' + Settings.Tone);
      tvDetails.Items.AddChild (TempNode1, 'Blind Off = ' + Settings.Blind_Off);
      tvDetails.Items.AddChild (TempNode1, 'Blind On = ' + Settings.Blind_On);
      tvDetails.Items.AddChild (TempNode1, 'Call Setup Fail Timer = ' + Settings.CallSetupFailTimer);
      tvDetails.Items.AddChild (TempNode1, 'Inactivity Timeout = ' + Settings.InactivityTimeout);
      tvDetails.Items.AddChild (TempNode1, 'Compatibility Flags = ' + Settings.CompatibilityFlags);
      tvDetails.Items.AddChild (TempNode1, 'Config Delay = ' + IntToStr (Settings.ConfigDelay));

      TempNode1 := tvDetails.Items.AddChild (CurModem, 'Voice');
      tvDetails.Items.AddChild (TempNode1, 'Voice Profile = ' + Voice.VoiceProfile);
      tvDetails.Items.AddChild (TempNode1, 'Handset Close Delay = ' + IntToStr (Voice.HandsetCloseDelay));
      tvDetails.Items.AddChild (TempNode1, 'Speaker Phone Specs = ' + Voice.SpeakerPhoneSpecs);
      tvDetails.Items.AddChild (TempNode1, 'Abort Play = ' + Voice.AbortPlay);
      tvDetails.Items.AddChild (TempNode1, 'Caller ID OutSide = ' + Voice.CallerIDOutSide);
      tvDetails.Items.AddChild (TempNode1, 'Caller ID Private = ' + Voice.CallerIDPrivate);
      tvDetails.Items.AddChild (TempNode1, 'Terminate Play = ' + Voice.TerminatePlay);
      tvDetails.Items.AddChild (TempNode1, 'Terminate Record = ' + Voice.TerminateRecord);
      tvDetails.Items.AddChild (TempNode1, 'Voice Manufacturer ID = ' + Voice.VoiceManufacturerID);
      tvDetails.Items.AddChild (TempNode1, 'Voice Product ID Wave In = ' + Voice.VoiceProductIDWaveIn);
      tvDetails.Items.AddChild (TempNode1, 'Voice Product ID Wave Out = ' + Voice.VoiceProductIDWaveOut);
      tvDetails.Items.AddChild (TempNode1, 'Voice Switch Features = ' + Voice.VoiceSwitchFeatures);
      tvDetails.Items.AddChild (TempNode1, 'Voice Baud Rate = ' + IntToStr (Voice.VoiceBaudRate));
      tvDetails.Items.AddChild (TempNode1, 'Voice Mixer Mid = ' + Voice.VoiceMixerMid);
      tvDetails.Items.AddChild (TempNode1, 'Voice Mixer Pid = ' + Voice.VoiceMixerPid);
      tvDetails.Items.AddChild (TempNode1, 'Voice Mixer Line ID = ' + Voice.VoiceMixerLineID);

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Close Handset');
      for j := 0 to Voice.CloseHandset.Count - 1 do begin
        tvDetails.Items.AddChild (TempNode2, 'Command = ' + PLmModemCommand (Voice.CloseHandset[j]).Command);
        tvDetails.Items.AddChild (TempNode2, 'Sequence = ' + IntToStr (PLmModemCommand (Voice.CloseHandset[j]).Sequence));
      end;

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Enable Caller ID');
      for j := 0 to Voice.EnableCallerID.Count - 1 do begin
        tvDetails.Items.AddChild (TempNode2, 'Command = ' + PLmModemCommand (Voice.EnableCallerID[j]).Command);
        tvDetails.Items.AddChild (TempNode2, 'Sequence = ' + IntToStr (PLmModemCommand (Voice.EnableCallerID[j]).Sequence));
      end;

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Enable Distinctive Ring');
      for j := 0 to Voice.EnableDistinctiveRing.Count - 1 do begin
        tvDetails.Items.AddChild (TempNode2, 'Command = ' + PLmModemCommand (Voice.EnableDistinctiveRing[j]).Command);
        tvDetails.Items.AddChild (TempNode2, 'Sequence = ' + IntToStr (PLmModemCommand (Voice.EnableDistinctiveRing[j]).Sequence));
      end;

      TempNode2 := tvDetails.Items.AddChild (TempNode1, 'Generate Digit');
      for j := 0 to Voice.GenerateDigit.Count - 1 do begin
        tvDetails.Items.AddChild (TempNode2, 'Command = ' + PLmModemCommand (Voice.GenerateDigit[j]).Command);
        tvDetails.Items.AddChild (TempNode2, 'Sequence = ' + IntToStr (PLmModemCommand (Voice.GenerateDigit[j]).Sequence));
      end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -