- bool first = true;
- bool Now_IsConnected = false;
- bool Pre_IsConnected = true;
- datetime Connect_Start = 0, Connect_Stop = 0;
-
- int init() { start(); return(0); }
-
- int start()
- {
- int handle = FileOpen( "_IsConnected.txt", FILE_WRITE | FILE_READ, " " );
- FileSeek( handle, 0, SEEK_END );
- FileWrite( handle, "- - - - - - - - - - - Expert initialized - - - - - - - - - -" );
-
- while ( !IsStopped() )
- {
- Pre_IsConnected = Now_IsConnected;
- Now_IsConnected = IsConnected();
-
- if ( first ) { Pre_IsConnected = !Now_IsConnected; }
-
- if ( Now_IsConnected != Pre_IsConnected )
- {
- if ( Now_IsConnected )
- {
- Connect_Start = LocalTime();
- if ( !first )
- {
- FileSeek( handle, -55, SEEK_CUR );
- FileWrite( handle, "- - - OffLine- - - " + TimeToStr( Connect_Stop, TIME_DATE ) + " " + TimeToStr( Connect_Stop, TIME_SECONDS ) + " - " + TimeToStr( Connect_Start, TIME_SECONDS ) );
- }
- if ( IsStopped() ) { break; }
- FileWrite( handle, "+ + + OnLine + + + " + TimeToStr( Connect_Start, TIME_DATE ) + " " + TimeToStr( Connect_Start, TIME_SECONDS ) + " - " );
- }
- else
- {
- Connect_Stop = LocalTime();
- if ( !first )
- {
- FileSeek( handle, -55, SEEK_CUR );
- FileWrite( handle, "+ + + OnLine + + + " + TimeToStr( Connect_Start, TIME_DATE ) + " " + TimeToStr( Connect_Start, TIME_SECONDS ) + " - " + TimeToStr( Connect_Stop, TIME_SECONDS ) );
- }
- if ( IsStopped() ) { break; }
- FileWrite( handle, "- - - OffLine- - - " + TimeToStr( Connect_Stop, TIME_DATE ) + " " + TimeToStr( Connect_Stop, TIME_SECONDS ) + " - " );
- }
- }
-
- first = false;
- FileFlush( handle );
- Sleep(1000);
- }
-
- if ( Now_IsConnected )
- {
- FileSeek( handle, -55, SEEK_CUR );
- FileWrite( handle, "+ + + OnLine + + + " + TimeToStr( Connect_Start, TIME_DATE ) + " " + TimeToStr( Connect_Start, TIME_SECONDS ) + " - " + TimeToStr( LocalTime(), TIME_SECONDS ) );
- }
- else
- {
- FileSeek( handle, -55, SEEK_CUR );
- FileWrite( handle, "- - - OffLine- - - " + TimeToStr( Connect_Stop, TIME_DATE ) + " " + TimeToStr( Connect_Stop, TIME_SECONDS ) + " - " + TimeToStr( LocalTime(), TIME_SECONDS ) );
- }
- FileWrite( handle, "- - - - - - - - - - - Expert was stoped - - - - - - - - - - -\n" );
- FileClose( handle );
- return(0);
- }
-
复制代码
|