![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера Справочник по C#/Записи в блоге |
![]() |
|
Расчет даты Пасхи для западного календаря
2012-11-09 08:48:25 (читать в оригинале)
![](http://3.bp.blogspot.com/-x2Bo9GSP7YM/UJyKz78NhrI/AAAAAAAAB38/Uxk4ZaQ4UgI/s400/velikden-8.jpg)
public static DateTime EasterSundayOf(int YearToCheck) { int Y = YearToCheck; int a = Y % 19; int b = Y / 100; int c = Y % 100; int d = b / 4; int e = b % 4; int f = (b + 8) / 25; int g = (b - f + 1) / 3; int h = (19 * a + b - d - g + 15) % 30; int i = c / 4; int k = c % 4; int L = (32 + 2 * e + 2 * i - h - k) % 7; int m = (a + 11 * h + 22 * L) / 451; int Month = (h + L - 7 * m + 114) / 31; int Day = ((h + L - 7 * m + 114) % 31) + 1; DateTime dtEasterSunday = new DateTime(YearToCheck, Month, Day); return dtEasterSunday; } private void button1_Click(object sender, EventArgs e) { MessageBox.Show(EasterSundayOf(Convert.ToInt32(textBox1.Text)).ToString()); }
Программно устанавливаем дату и время
2012-11-09 07:35:28 (читать в оригинале)
![](http://3.bp.blogspot.com/-mHtDgoRUvE4/UJx5Q6pdTNI/AAAAAAAAB3E/G3XBPD_hD74/s400/preferences_system_time.png)
public struct SystemTime { public ushort Year; public ushort Month; public ushort DayOfWeek; public ushort Day; public ushort Hour; public ushort Minute; public ushort Second; public ushort Millisecond; }; [DllImport("kernel32.dll", EntryPoint = "GetSystemTime", SetLastError = true)] public extern static void Win32GetSystemTime(ref SystemTime sysTime); [DllImport("kernel32.dll", EntryPoint = "SetSystemTime", SetLastError = true)] public extern static bool Win32SetSystemTime(ref SystemTime sysTime); private void button1_Click(object sender, EventArgs e) { SystemTime updatedTime = new SystemTime(); updatedTime.Year = (ushort)2011;//Год updatedTime.Month = (ushort)7;//Минуты updatedTime.Day = (ushort)11;//День updatedTime.Hour = (ushort)15; //Час updatedTime.Minute = (ushort)0;//Минуты updatedTime.Second = (ushort)0;//Секунды Win32SetSystemTime(ref updatedTime); SystemTime currTime = new SystemTime(); Win32GetSystemTime(ref currTime); }
Автозаполнение в TextBox
2012-11-08 12:20:04 (читать в оригинале)
Все кто активно пользуются интернетом и поисковыми системами не раз наблюдали, как в строке поиска при вводе текста предлагаются готовые варианты. Рассмотрим сегодня пример кода, как использовать коллекцию AutoCompleteStringCollection в качестве пользовательского источника для автоматического завершения текста в компоненте TextBox. Для работы нам понадобится добавить компонент на форму.
В коде функции public Form1() после инициализации компонентов InitializeComponent() инициализируем новый экземпляр класса System.Windows.Forms.AutoCompleteStringCollection для того чтобы мы могли задать фрагменты теста которые будут предлагаться пользователю по мере совпадения с вводимым текстом. В приведенном ниже коде мы создадим коллекцию из названий месяцев:
Дальше мы будем работать со свойствами AutoCompleteCustomSource, AutoCompleteMode и AutoCompleteSource нашего компонента. Эти свойства используются для автоматического заполнения входных строк путем сравнения вводимых префиксов с префиксами всех строк в поддерживаемом источнике, который мы создали выше.
Теперь по порядку:
Указываем свойству AutoCompleteCustomSource нашего компонента коллекцию source:
Мы выберем SuggestAppend:
![](http://2.bp.blogspot.com/-aFuKPi4N5UE/UJtL4Lg8u8I/AAAAAAAAB2M/F45vxtPcbks/s400/autozapolnenie.png)
В коде функции public Form1() после инициализации компонентов InitializeComponent() инициализируем новый экземпляр класса System.Windows.Forms.AutoCompleteStringCollection для того чтобы мы могли задать фрагменты теста которые будут предлагаться пользователю по мере совпадения с вводимым текстом. В приведенном ниже коде мы создадим коллекцию из названий месяцев:
var source = new AutoCompleteStringCollection(); source.AddRange(new string[] { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" });
Дальше мы будем работать со свойствами AutoCompleteCustomSource, AutoCompleteMode и AutoCompleteSource нашего компонента. Эти свойства используются для автоматического заполнения входных строк путем сравнения вводимых префиксов с префиксами всех строк в поддерживаемом источнике, который мы создали выше.
Теперь по порядку:
Указываем свойству AutoCompleteCustomSource нашего компонента коллекцию source:
textBox1.AutoCompleteCustomSource = source;Чтобы компонент при вводе текста обращался к коллекции, в свойстве AutoCompleteSource задаем значение AutoCompleteSource.CustomSource, указывающее источник полных строк, используемых для автоматического заполнения.
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;Теперь нам остается только задать режим для возможности автоматического завершения, есть четыре режима:
- None - Отключает возможность автоматического завершения в элементах управления ComboBox и TextBox.
- Suggest - Выводит вспомогательный раскрывающийся список, сопоставленный элементу управления, в котором выполняется правка. Этот список содержит одну или несколько предложенных строк завершения.
- Append - Добавляет остаток строки с наибольшей вероятностью совпадения в существующие знаки с выделением добавленных знаков.
- SuggestAppend - Применяет как параметр Suggest, так и параметр Append.
Мы выберем SuggestAppend:
textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;Ну вот и все, смотрите полный пример кода ниже:
public Form1() { InitializeComponent(); var source = new AutoCompleteStringCollection(); source.AddRange(new string[] { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }); textBox1.AutoCompleteCustomSource = source; textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend; textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource; }Скриншот тестовой программы:
![](http://2.bp.blogspot.com/-aFuKPi4N5UE/UJtL4Lg8u8I/AAAAAAAAB2M/F45vxtPcbks/s400/autozapolnenie.png)
Порты вашего компьютера
2012-11-07 15:55:40 (читать в оригинале)
А вы знаете, сколько портов у вас на компьютере? А что такое порт, порт - это обычно соединение (физическое или логическое), через которое принимаются и отправляются данные в компьютерах.
Наиболее часто портом называют:
Наиболее часто портом называют:
- Аппаратный порт — специализированный разъём в компьютере, предназначенный для подключения оборудования определённого типа.
- Порт ввода-вывода — используется в микропроцессорах (например, Intel) и микроконтроллерах (например, PIC, AVR) при обмене данными с аппаратным обеспечением. Порт ввода-вывода сопоставляется с тем или иным устройством и позволяет программам обращаться к нему для обмена данными.
- Сетевой порт — параметр протоколов TCP и UDP.
for (int Port = IPEndPoint.MinPort; Port < IPEndPoint.MaxPort; Port++) { listBox1.Items.Add(string.Format("port {0} : ", Port)); }Для работы с примером, вам необходимо подключить пространство имен:
using System.Net;
Выполняем проверку на валидность IP адреса
2012-11-07 13:54:21 (читать в оригинале)
Иногда необходимо произвести проверку на валидность введенного IP адреса. Для выполнения данной задачи воспользуемся регулярными выражениями.
Первое что необходимо сделать, это подключить пространство имен :
using System.Text.RegularExpressions;
Далее мы инициализируем новый экземпляр класса System.Text.RegularExpressions.Regex для регулярного выражения "\b(?:\d{1,3}\.){3}\d{1,3}\b" и функцией IsMatch выполняем проверку обнаружено ли в указанной входной строке соответствие регулярному
выражению, заданному в конструкторе System.Text.RegularExpressions.Regex, если да то возвращаем true, если нет то false. Смотрите код, приведенный ниже:
Первое что необходимо сделать, это подключить пространство имен :
using System.Text.RegularExpressions;
Далее мы инициализируем новый экземпляр класса System.Text.RegularExpressions.Regex для регулярного выражения "\b(?:\d{1,3}\.){3}\d{1,3}\b" и функцией IsMatch выполняем проверку обнаружено ли в указанной входной строке соответствие регулярному
выражению, заданному в конструкторе System.Text.RegularExpressions.Regex, если да то возвращаем true, если нет то false. Смотрите код, приведенный ниже:
static bool IsIpAddress(string Address) { //Инициализируем новый экземпляр класса System.Text.RegularExpressions.Regex //для указанного регулярного выражения. Regex IpMatch = new Regex(@"\b(?:\d{1,3}\.){3}\d{1,3}\b"); //Выполняем проверку обнаружено ли в указанной входной строке соответствие регулярному //выражению, заданному в конструкторе System.Text.RegularExpressions.Regex. //если да то возвращаем true, если нет то false return IpMatch.IsMatch(Address); }Пример использования данной функции:
private void button1_Click(object sender, EventArgs e) { if (IsIpAddress(textBox1.Text) == true) { MessageBox.Show("true"); } else { MessageBox.Show("false"); } }
![BlogRider сегодня BlogRider сегодня](/themes/1/i/menu/th/blogrider_today.png)
![Самый-самый блог Самый-самый блог](/themes/1/i/menu/tt/tough.png)
![Изменения рейтинга Изменения рейтинга](/themes/1/i/menu/th/rating_changes.png)
Категория «Истории»
Взлеты Топ 5
![]() | ||
+1920 |
1940 |
Дрочливый_Драчун |
+1899 |
1946 |
Коптящий_Небо |
+1891 |
1957 |
Da_Queen_of_Da_World |
+1873 |
1964 |
Splash_Phantom |
+1754 |
1777 |
jolly_M |
Падения Топ 5
![]() | ||
-1 |
1270 |
Выдающиеся женщины |
-1 |
829 |
Работа в интернете |
-1 |
1180 |
Вкусное меню |
-2 |
84 |
xpyctal |
-2 |
1062 |
TradeIP |
![Главные темы Главные темы](/themes/1/i/menu/th/main_themes.png)
Популярные за сутки
Загрузка...
![Загрузка... Загрузка...](/themes/1/i/loader/loader.gif)
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.