Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Родил вот программку. Покритикуйте что ли. / 3 сообщений из 3, страница 1 из 1
27.06.2003, 22:51
    #32194159
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Родил вот программку. Покритикуйте что ли.
Считает время, проведенное в онлайн по диалапу.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
using System;
using System.Diagnostics;

namespace JimmersUtils
{
	/// <summary>
	///  "Бежит"  по системному журналу и выбирает События типа Соединение Установлено /
	/// Соединение Разорвано. Для каждой последовательной пары таких значений вычисляет
	/// временной интервал между временами генерации значений и прибавляет вычисленный
	/// интервал к общей сумме. При этом программа может проверять, что выбранное Событие 
	/// указанного выше типа принадлежит к заданному DIALUP соединению путем поиска 
	/// заданной строки (второй параметр командной строки) в тексте Сообщения. Способ,
	/// конечно не лучший. Кроме того, программа привязана к версии Windows - предполагается
	/// английская версия, так как есть сравнение строк типа RemoteAccess.
	/// Пожалуйста, направляйте все сообщения о найденных ошибках на адрес: jimmers@yandex.ru
	/// </summary>
	class RASum
	{
		[STAThread]
		static void Main(string[] args)
		{			
			DateTime EstablishedTime = new DateTime(), DisconnectedTime = new DateTime();
			TimeSpan TotalTimeOnline = new TimeSpan();
			bool WasEstablished = false, WasDisconnected = false;
			string MachineName =  "";
			string Connection = "  ";			

			switch (args.Length)
			{
				case 1 :
					MachineName = args[ 0 ];
					break;
				case  2 :
					MachineName = args[ 0 ];
					Connection  = args[ 1 ];
					break;
				default:
					Console.WriteLine("Usage: RASum MachineName [Connection] ");
					return;
			}

			try
			{
				EventLog objEventLog = new EventLog();
				objEventLog.MachineName = MachineName;
				objEventLog.Log = " System ";

				EventLogEntryCollection objEventLogEntryCollection = objEventLog.Entries;

				foreach(EventLogEntry objEventLogEntry in objEventLogEntryCollection)
				{
					if(" RemoteAccess "==objEventLogEntry.Source  && 
						EventLogEntryType.Information==objEventLogEntry.EntryType &&
						objEventLogEntry.Message.IndexOf(Connection)!=-1 )
					{
						switch(objEventLogEntry.EventID)
						{
							case  20158 :
								EstablishedTime = objEventLogEntry.TimeGenerated;
								Console.WriteLine("Established:  { 0 } ", EstablishedTime);
								WasEstablished = true;
								break;
							case 20159 :
								DisconnectedTime = objEventLogEntry.TimeGenerated;
								Console.WriteLine("Disconnected: { 0 } ", DisconnectedTime);
								if(WasEstablished)
									WasDisconnected = true;
								break;
						}

						if(WasEstablished && WasDisconnected)
						{
							Console.WriteLine(" Time spent:  " + DisconnectedTime.Subtract(EstablishedTime));
							TotalTimeOnline += DisconnectedTime.Subtract(EstablishedTime);
							WasEstablished  = false;
							WasDisconnected = false;
						}
					}
				}
				Console.WriteLine(" =========================== ");
				Console.WriteLine(" Total Time Online: { 0 }", TotalTimeOnline.ToString());
			}
			catch (Exception ex)
			{
				Console.WriteLine(ex.Message);
			}
		}
	}
}
...
Рейтинг: 0 / 0
28.06.2003, 19:37
    #32194356
ctmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Родил вот программку. Покритикуйте что ли.
А ты не пробовал счетчиками.
...
Рейтинг: 0 / 0
28.06.2003, 22:24
    #32194384
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Родил вот программку. Покритикуйте что ли.
2ctmike

Об чем речь?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Родил вот программку. Покритикуйте что ли. / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]