Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
ModTest.dpr
Package: ComPort.rar [view]
Upload User: hbtlgg88
Upload Date: 2021-04-09
Package Size: 855k
Code Size: 2k
Category:
Delphi VCL
Development Platform:
C++ Builder
- program ModTest;
- {$APPTYPE CONSOLE}
- uses
- SysUtils,
- CPort,
- Windows,
- SyncObjs;
- var
- ComPort: TComPort;
- Events: TComEvents;
- Answer, Data: string;
- Step: Integer;
- Event: TEvent;
- function CtrlHandler(CtrlType: LongWord): Boolean;
- begin
- Event.SetEvent;
- Result := True;
- end;
- begin
- Event := TEvent.Create(nil, True, False, '');
- SetConsoleCtrlHandler(@CtrlHandler, True);
- try
- ComPort := TComPort.Create(nil);
- try
- if ParamCount > 0 then
- ComPort.Port := ParamStr(1)
- else
- ComPort.Port := 'COM1';
- ComPort.Events := [];
- ComPort.FlowControl.ControlDTR := dtrEnable;
- ComPort.FlowControl.ControlRTS := rtsEnable;
- ComPort.Open; // open port
- ComPort.WriteStr('AT'#13#10); // send test command
- Answer := '';
- Step := 0;
- repeat
- Events := [evRxChar];
- ComPort.WaitForEvent(Events, Event.Handle, 5000); // wait for charachters
- if evRxChar in Events then
- begin
- ComPort.ReadStr(Data, ComPort.InputCount);
- Answer := Answer + Data;
- if Pos('OK', Answer) > 0 then
- Break;
- end;
- Inc(Step)
- until (Events = []) or (Step = 20);
- if Pos('OK', Answer) > 0 then
- WriteLn('Modem found on ' + ComPort.Port)
- else
- WriteLn('Modem NOT found on ' + ComPort.Port);
- finally
- ComPort.Free;
- end;
- except
- on E: Exception do
- WriteLn('Error: ' + E.Message);
- end;
- Event.Free;
- end.