📄 adlibmdm.pas
字号:
{*********************************************************}
{* ADLIBMDM.PAS 4.04 *}
{* Copyright (C) TurboPower Software 2002 *}
{* All rights reserved. *}
{*********************************************************}
{Global defines potentially affecting this unit}
{$I AWDEFINE.INC}
unit AdLibMdm;
interface
uses
Windows, SysUtils, Classes, Controls, Forms, Dialogs, StdCtrls, ExtCtrls,
OOMisc, AdXBase, AdXParsr, AdExcept;
type
{ LibModem type definitions }
TApdLoadModemRecord = procedure (ModemName, Manufacturer, Model, ModemFile : string;
var CanLoad : Boolean) of object;
TApdLoadModem = procedure (ModemName, Manufacturer, Model : string;
var CanLoad : Boolean) of object;
{ an entry from modemcap.xml describing the modem, one per modem }
PLmModemName = ^TLmModemName;
TLmModemName = record
ModemName : string;
Manufacturer : string;
Model : string;
ModemFile : string;
end;
{ a modem response }
PLmResponseData = ^TLmResponseData;
TLmResponseData = record
Response : string;
ResponseType : string;
end;
{ lots of modem responses }
PLmResponses = ^TLmResponses;
TLmResponses = record
OK : TList; // LmResponseData
NegotiationProgress : TList; // LmResponseData
Connect : TList; // LmResponseData
Error : TList; // LmResponseData
NoCarrier : TList; // LmResponseData
NoDialTone : TList; // LmResponseData
Busy : TList; // LmResponseData
NoAnswer : TList; // LmResponseData
Ring : TList; // LmResponseData
VoiceView1 : TList; // LmResponseData
VoiceView2 : TList; // LmResponseData
VoiceView3 : TList; // LmResponseData
VoiceView4 : TList; // LmResponseData
VoiceView5 : TList; // LmResponseData
VoiceView6 : TList; // LmResponseData
VoiceView7 : TList; // LmResponseData
VoiceView8 : TList; // LmResponseData
RingDuration : TList; // LmResponseData
RingBreak : TList; // LmResponseData
Date : TList; // LmResponseData
Time : TList; // LmResponseData
Number : TList; // LmResponseData
Name : TList; // LmResponseData
Msg : TList; // LmResponseData
SingleRing : TList; // LmResponseData
DoubleRing : TList; // LmResponseData
TripleRing : TList; // LmResponseData
Voice : TList; // LmResponseData
Fax : TList; // LmResponseData
Data : TList; // LmResponseData
Other : TList; // LmResponseData
end;
{ a modem command }
PLmModemCommand = ^TLmModemCommand;
TLmModemCommand = record
Command : string;
Sequence : Integer;
end;
{ fax commands and responses }
TLmFaxClassDetails = record
ModemResponseFaxDetect : string;
ModemResponseDataDetect : string;
SerialSpeedFaxDetect : string;
SerialSpeedDataDetect : string;
HostCommandFaxDetect : string;
HostCommandDataDetect : string;
ModemResponseFaxConnect : string;
ModemResponseDataConnect : string;
AnswerCommand : TList;
end;
{ more fax commands and responses }
TLmFaxDetails = record
ExitCommand : string;
PreAnswerCommand : string;
PreDialCommand : string;
ResetCommand : string;
SetupCommand : string;
EnableV17Recv : string;
EnableV17Send : string;
FixModemClass : string;
FixSerialSpeed : string;
HighestSendSpeed : string;
LowestSendSpeed : string;
HardwareFlowControl : string;
SerialSpeedInit : string;
Cl1FCS : string;
Cl2DC2 : string;
Cl2lsEx : string;
Cl2RecvBOR : string;
Cl2SendBOR : string;
Cl2SkipCtrlQ : string;
Cl2SWBOR : string;
Class2FlowOff : string;
Class2FlowHW : string;
Class2FlowSW : string;
FaxClass1 : TLmFaxClassDetails;
FaxClass2 : TLmFaxClassDetails;
FaxClass2_0 : TLmFaxClassDetails;
end;
{ supported wave formats }
PLmWaveFormat = ^TLMWaveFormat;
TLmWaveFormat = record
ChipSet : string;
Speed : string;
SampleSize : string;
end;
{ wave details }
TLmWaveDriver = record
BaudRate : string;
WaveHardwareID : string;
WaveDevices : string;
LowerMid : string;
LowerWaveInPid : string;
LowerWaveOutPid : string;
WaveOutMixerDest : string;
WaveOutMixerSource : string;
WaveInMixerDest : string;
WaveInMixerSource : string;
WaveFormat : TList; // LmWaveFormat
end;
{ voice modem properties }
TLmVoiceSettings = record
VoiceProfile : string;
HandsetCloseDelay : Integer;
SpeakerPhoneSpecs : string;
AbortPlay : string;
CallerIDOutSide : string;
CallerIDPrivate : string;
TerminatePlay : string;
TerminateRecord : string;
VoiceManufacturerID : string;
VoiceProductIDWaveIn : string;
VoiceProductIDWaveOut : string;
VoiceSwitchFeatures : string;
VoiceBaudRate : Integer;
VoiceMixerMid : string;
VoiceMixerPid : string;
VoiceMixerLineID : string;
CloseHandset : TList; // LmModemCommand;
EnableCallerID : TList; // LmModemCommand;
EnableDistinctiveRing : TList; // LmModemCommand;
GenerateDigit : TList; // LmModemCommand;
HandsetPlayFormat : TList; // LmModemCommand;
HandsetRecordFormat : TList; // LmModemCommand;
LineSetPlayFormat : TList; // LmModemCommand;
LineSetRecordFormat : TList; // LmModemCommand;
OpenHandset : TList; // LmModemCommand;
SpeakerPhoneDisable : TList; // LmModemCommand;
SpeakerPhoneEnable : TList; // LmModemCommand;
SpeakerPhoneMute : TList; // LmModemCommand;
SpeakerPhoneSetVolumeGain : TList; // LmModemCommand;
SpeakerPhoneUnMute : TList; // LmModemCommand;
StartPlay : TList; // LmModemCommand;
StartRecord : TList; // LmModemCommand;
StopPlay : TList; // LmModemCommand;
StopRecord : TList; // LmModemCommand;
VoiceAnswer : TList; // LmModemCommand;
VoiceDialNumberSetup : TList; // LmModemCommand;
VoiceToDataAnswer : TList; // LmModemCommand;
WaveDriver : TLmWaveDriver;
end;
{ lots of specialized modem commands }
TLmModemSettings = record
Prefix : string;
Terminator : string;
DialPrefix : string;
DialSuffix : string;
SpeakerVolume_High : string;
SpeakerVolume_Low : string;
SpeakerVolume_Med : string;
SpeakerMode_Dial : string;
SpeakerMode_Off : string;
SpeakerMode_On : string;
SpeakerMode_Setup : string;
FlowControl_Hard : string;
FlowControl_Off : string;
FlowControl_Soft : string;
ErrorControl_Forced : string;
ErrorControl_Off : string;
ErrorControl_On : string;
ErrorControl_Cellular : string;
ErrorControl_Cellular_Forced : string;
Compression_Off : string;
Compression_On : string;
Modulation_Bell : string;
Modulation_CCITT : string;
Modulation_CCITT_V23 : string;
SpeedNegotiation_On : string;
SpeedNegotiation_Off : string;
Pulse : string;
Tone : string;
Blind_Off : string;
Blind_On : string;
CallSetupFailTimer : string;
InactivityTimeout : string;
CompatibilityFlags : string;
ConfigDelay : Integer;
end;
{ modem hardware settings }
TLmModemHardware = record
AutoConfigOverride : string;
ComPort : string;
InvalidRDP : string;
IoBaseAddress : Integer;
InterruptNumber : Integer;
PermitShare : Boolean;
RxFIFO : string;
RxTxBufferSize : Integer;
TxFIFO : string;
Pcmcia : string;
BusType : string;
PCCARDAttributeMemoryAddress : Integer;
PCCARDAttributeMemorySize : Integer;
PCCARDAttributeMemoryOffset : Integer;
end;
{ the whole shebang }
PLmModem = ^TLmModem;
TLmModem = record
Inheritance : string;
AttachedTo : string;
FriendlyName : string;
Manufacturer : string;
Model : string;
ModemID : string;
InactivityFormat : string;
Reset : string;
DCB : string;
Properties : string;
ForwardDelay : Integer;
VariableTerminator : string;
InfPath : string;
InfSection : string;
ProviderName : string;
DriverDesc : string;
ResponsesKeyName : string;
Default : string;
CallSetupFailTimeout : Integer;
InactivityTimeout : Integer;
SupportsWaitForBongTone : Boolean;
SupportsWaitForQuiet : Boolean;
SupportsWaitForDialTone : Boolean;
SupportsSpeakerVolumeLow : Boolean;
SupportsSpeakerVolumeMed : Boolean;
SupportsSpeakerVolumeHigh : Boolean;
SupportsSpeakerModeOff : Boolean;
SupportsSpeakerModeDial : Boolean;
SupportsSpeakerModeOn : Boolean;
SupportsSpeakerModeSetup : Boolean;
SupportsSetDataCompressionNegot : Boolean;
SupportsSetErrorControlProtNegot : Boolean;
SupportsSetForcedErrorControl : Boolean;
SupportsSetCellular : Boolean;
SupportsSetHardwareFlowControl : Boolean;
SupportsSetSoftwareFlowControl : Boolean;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -