|
Регистрация | Файлы | Правила | Альбомы | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
Языки программирования Изучаем С++, Sql, php, Lua, Python |
|
Опции темы | Поиск в этой теме | Опции просмотра |
22.02.2013, 09:55 | #1 |
Пользователь
|
DateTime & TimeSpan C#
Подскажите такой момент ,есть код который должен высчитывать разницу до определенного времени ,где day означает день(с 7 -23) или ночь (23-7)
суть в том что при прохождении данной функции ночью к дате должен быть добавлен 1 день например проверка происходит 22.02.2013 23.01 значит TimeEnd (блок else) должен быть уже завтрашним днем тоесть 23.02.2013 07.01 возможно при инициализации строки Код:
DateTime TimeEnd = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 07, 00, 01); В текущей реализации разница ночью получаеться отрицательная (-16 часов ),видимо что то не правильно Код:
static void CheckTime(bool day) { TimeSpan diff = new TimeSpan(); if (day) { DateTime TimeNow = DateTime.Now; DateTime TimeEnd = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 00, 01); diff = TimeEnd - TimeNow; } else { DateTime TimeNow = DateTime.Now; DateTime TimeEnd = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 07, 00, 01); if (TimeNow.Hour == 23) { DateTime.Today.AddDays(1); } Console.WriteLine("Выполняю действие " + TimeEnd + "-" + TimeNow ); diff = TimeEnd - TimeNow; } } ADD Ошибся наверно с переменными должно быть так Код:
if (TimeNow.Hour == 23) { TimeEnd.AddDays(1); }
__________________
Когда-нибудь на оффе поставят Mangos... Последний раз редактировалось partizanes; 22.02.2013 в 10:18. |
22.02.2013, 10:32 | #2 |
RuDB Dev
Регистрация: 01.02.2010
Адрес: localhost
Сообщений: 592
Сказал(а) спасибо: 323
Поблагодарили 283 раз(а) в 122 сообщениях
Записей в дневнике: 2
|
Если честно, совсем ничего не понял, для чего все это надо? и какие цели. Может ответ лежит на поверхности.
wtf? функция должна вернуть результат Код:
if (TimeNow.Hour == 23) { TimeEnd.AddDays(1); } Код:
if (TimeNow.Hour == 23) { var newDate = TimeEnd.AddDays(1); bla bla } Последний раз редактировалось Konctantin; 22.02.2013 в 10:39. |
Пользователь сказал cпасибо: | partizanes (22.02.2013) |
22.02.2013, 11:06 | #3 |
Пользователь
|
пишу службу для муз плеера которая высчитывает при проверке время до запуска или выключения плеера,производит генерацию плейлиста и тп ,проверка может проводиться в любой момент.
Часть функции я вырезал что бы не путать людей,в конце было Код:
Thread thd = new Thread(delegate() { Console.WriteLine("Запускаю поток контролера"); WaitTime(diff,day); }); thd.Name = "Поток контроллер"; thd.Start(); я так понимаю что можно и так Код:
TimeEnd = TimeEnd.AddDays(1);
__________________
Когда-нибудь на оффе поставят Mangos... Последний раз редактировалось partizanes; 22.02.2013 в 11:09. |
22.02.2013, 12:08 | #4 |
RuDB Dev
Регистрация: 01.02.2010
Адрес: localhost
Сообщений: 592
Сказал(а) спасибо: 323
Поблагодарили 283 раз(а) в 122 сообщениях
Записей в дневнике: 2
|
Код:
public static DateTime EndOfYear(this DateTime dateTime) { return new DateTime(dateTime.Year, 12, 31, 23, 59, 59); } public static DateTime StartOfYear(this DateTime dateTime) { return new DateTime(dateTime.Year, 1, 1); } public static DateTime EndOfMonth(this DateTime dateTime) { return new DateTime(dateTime.Year, dateTime.Month, 31, 23, 59, 59); } public static DateTime StartOfMonth(this DateTime dateTime) { return new DateTime(dateTime.Year, dateTime.Month, 1); } public static DateTime EndOfDay(this DateTime dateTime) { return new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, 23, 59, 59); } public static DateTime StartOfDay(this DateTime dateTime) { return new DateTime(dateTime.Year, dateTime.Month, dateTime.Day); } public static DateTime StartOfWeek(this DateTime dayInWeek) { var dt = dayInWeek.Date; while (dt.DayOfWeek != DayOfWeek.Monday) dt = dt.AddDays(-1); return new DateTime(dt.Year, dt.Month, dt.Day); } public static DateTime EndOfWeek(this DateTime dayInWeek) { var dt = dayInWeek.Date; while (dt.DayOfWeek != DayOfWeek.Sunday) dt = dt.AddDays(1); return new DateTime(dt.Year, dt.Month, dt.Day, 23, 59, 59); } Последний раз редактировалось Konctantin; 22.02.2013 в 12:16. |
Пользователь сказал cпасибо: | partizanes (22.02.2013) |
23.02.2013, 11:21 | #5 |
Дево4ка снайпер
Регистрация: 08.02.2010
Сообщений: 103
Сказал(а) спасибо: 46
Поблагодарили 25 раз(а) в 13 сообщениях
Записей в дневнике: 1
|
Решила не создавать еще одну тему
Всем, привет!
Программа пишется с нуля. У нас есть объект Webbrowser. Загружаю страницу, ее нужно заполнить в автоматическом режиме и кликнуть. Код:
webBrowser1.Document.GetElementById("username").InnerText = "1"; webBrowser1.Document.GetElementById("password").InnerText = "1"; foreach (HtmlElement input in this.webBrowser1.Document.GetElementsByTagName("submit")) { if (input.Id == "submit" && input.GetAttribute("value") == "Login") { input.InvokeMember("click"); break; } } Мне нужно ввести логин и пароль. Они подгружаются через js. Вот мне нужно узнать какой таг или elementId, как его вывести? Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="pragma" content="no-cache" /> <style type="text/css" media="screen">@import 'themes/elt_lite/login.css'/**/;</style> <script type="text/javascript"> <!--//--><![CDATA[//><!-- function firstFocus() { if (document.forms.length > 0) { var f = document.forms[0]; for (var i=0; i<f.length; i++) { var e = f.elements[i]; if ((e.name) && (e.type) && ((e.type=='text') || (e.type=='textarea')) && (!e.disabled)) { e.focus(); break; } } } } //--><!]]> </script> </head> <body id="login" onload="firstFocus();"> <!-- Start #login-container --> <div id="login-container"> <!-- redirect to splash for all cases. Set splashpage iframe src to "https://hostname/cas/login#splashpage" --> <script type="text/javascript"> var queryString = window.location.search; if (window.location == window.parent.location || !queryString || queryString.indexOf("page=splashpage") < 0) { var splashURL = "http://" + window.location.hostname + "/p/splash"; window.open(splashURL,"_top"); } </script> <!-- Start #login-form --> <div id="login-form-container"> <form id="fm1" class="fm-v clearfix" action="/cas/login?page=splashpage&target=top&service=/p/cas" method="post"> <fieldset> <ol> <li> <!-- --**Usability project change has been started --**Label is disable because UserName is coming dynamically from Resource bundle class (message.properties) --> <!--<label for="username">User ID:</label>--> <label for="username">User ID</label> <!--**Usability project change has been ended --> <input id="username" name="username" class="required" tabindex="1" accesskey="n" type="text" value="" autocomplete="on"/> </li> <li> <!-- --**Usability project change started --**Label is disable because password is coming dynamically from Resourcebundle class (message.properties) --> <!-- <label for="password">Password:</label>--> <label for="password">Password</label> <!--**Usability project change has been Ended --> <input id="password" name="password" class="required" tabindex="2" accesskey="p" type="password" value="" autocomplete="on"/> </li> <li class="last"> <button type="submit" name="submit" title="Login">Login</button> <input type="hidden" name="lt" value="_тут_значение" /> <input type="hidden" name="_eventId" value="submit" /> </li> </ol> </fieldset> </form> </div> <!-- End #login-container --> </body> </html>
__________________
Последний раз редактировалось Inn04ka; 23.02.2013 в 11:24. |
26.02.2013, 14:55 | #7 |
Новичок
Регистрация: 08.03.2010
Сообщений: 26
Сказал(а) спасибо: 1
Поблагодарили 4 раз(а) в 4 сообщениях
|
А для чего страницу заполнять?
Посмотреть метод GET/POST и формат... не? Т.е. вы методом POST отправите username=usrname&password=pass Последний раз редактировалось ispanec; 26.02.2013 в 15:16. |
27.02.2013, 18:08 | #8 | ||
Дево4ка снайпер
Регистрация: 08.02.2010
Сообщений: 103
Сказал(а) спасибо: 46
Поблагодарили 25 раз(а) в 13 сообщениях
Записей в дневнике: 1
|
передается 3 значения: username, password и It - генерируется фреймом, поэтому пост запрос не работает
Цитата:
Цитата:
вообще сайт сделан для института, на нем выполняются задания по английскому языку, задания бредовые, кликаешь показать ответы и принтскрин, и начинаешь сначала. Надоело...... Добавлено через 4 минуты Это было изначально сделано, но не помогло....
__________________
Последний раз редактировалось Inn04ka; 27.02.2013 в 18:07. |
||
28.02.2013, 10:25 | #9 |
Новичок
Регистрация: 08.03.2010
Сообщений: 26
Сказал(а) спасибо: 1
Поблагодарили 4 раз(а) в 4 сообщениях
|
POST будет работать если всё правильно передать.
Можно просто получить страничку, распарсить нужные параметры и передать постом. Такое никогда не делал WebBrowse-ом, но ради интереса: 1. Есть страничка, ваша упрощённая. В экшене АСП-скрипт (ну то что на серваке было ). PHP код:
PHP код:
АСП-скрипт такой: PHP код:
Последний раз редактировалось ispanec; 28.02.2013 в 10:28. |
Пользователь сказал cпасибо: | Inn04ka (01.03.2013) |
11.04.2013, 10:35 | #10 |
Дево4ка снайпер
Регистрация: 08.02.2010
Сообщений: 103
Сказал(а) спасибо: 46
Поблагодарили 25 раз(а) в 13 сообщениях
Записей в дневнике: 1
|
Продолжаю танцы с бубном...... безуспешно
Разработчики сайта назвали это переменной http://klikr.org/ead5a259b5fb1db3b3893fd119ab.png сайт: http://www.cambridgelms.org/ Нужно научить программку вводить логин и пароль в форму и кликать login. Очень прошу помочь в решение! Заранее спасибо!
__________________
Последний раз редактировалось Inn04ka; 11.04.2013 в 11:00. |
12.04.2013, 12:21 | #11 | |
Дево4ка снайпер
Регистрация: 08.02.2010
Сообщений: 103
Сказал(а) спасибо: 46
Поблагодарили 25 раз(а) в 13 сообщениях
Записей в дневнике: 1
|
Цитата:
__________________
|
|
12.04.2013, 12:40 | #12 | |
Пользователь
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
|
Цитата:
задержки нехватает между сообщением "Ентер" и проверкой на урл. В итоге webBrowser1.Dispose(); и ничего ест-но не происходит. Код:
HtmlElement form = webBrowser1.Document.GetElementById("fm1"); if (form != null) form.InvokeMember("submit"); |
|
12.04.2013, 13:45 | #17 |
Пользователь
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
|
|
12.04.2013, 14:29 | #18 | |
Дево4ка снайпер
Регистрация: 08.02.2010
Сообщений: 103
Сказал(а) спасибо: 46
Поблагодарили 25 раз(а) в 13 сообщениях
Записей в дневнике: 1
|
Цитата:
как запустить поток, точнее выполнить его до определенной точки? Application.DoEvents();
__________________
|
|
12.04.2013, 14:37 | #19 | |
Пользователь
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
|
Цитата:
Код:
while(flag=true) Thread.sleep(1000); // check some data if( bla bla){ flag = false; } } //resume work |
|
Пользователь сказал cпасибо: | Inn04ka (12.04.2013) |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|