Сегодня 13 февраля, четверг ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7278
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Справочник по C#
Справочник по C#
Голосов: 1
Адрес блога: http://www.csharpcoderr.com/
Добавлен: 2012-11-28 00:46:26
 

Расчет даты Пасхи для западного календаря

2012-11-09 08:48:25 (читать в оригинале)


Пасха - главное событие года для православных христиан и самый большой православный праздник. Слово "Пасха" пришло к нам из греческого языка и означает "прехождение", "избавление". А как выяснить когда будет пасха? Смотрите пример ниже:

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 (читать в оригинале)


Код реализует программную, быструю смену даты и времени на вашем компьютере.

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 для того чтобы мы могли задать фрагменты теста которые будут предлагаться пользователю по мере совпадения с вводимым текстом. В приведенном ниже коде мы создадим коллекцию из названий месяцев:
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;
}
Скриншот тестовой программы:


Порты вашего компьютера

2012-11-07 15:55:40 (читать в оригинале)


      А вы знаете, сколько портов у вас на компьютере? А что такое порт, порт - это обычно соединение (физическое или логическое), через которое принимаются и отправляются данные в компьютерах.
Наиболее часто портом называют:
  • Аппаратный порт — специализированный разъём в компьютере, предназначенный для подключения оборудования определённого типа.
  • Порт ввода-вывода — используется в микропроцессорах (например, Intel) и микроконтроллерах (например, PIC, AVR) при обмене данными с аппаратным обеспечением. Порт ввода-вывода сопоставляется с тем или иным устройством и позволяет программам обращаться к нему для обмена данными.
  • Сетевой порт — параметр протоколов TCP и UDP. 
      Мы будем разговаривать о сетевых портах. И так, количество портов легко можно выяснить с помощью библиотеки System.Net. В этой библиотеки есть класс IPEndPoint со параметром MinPort. Он определяет минимальное значение, которое может присваиваться свойству System.Net.IPEndPoint.Port, т.е. начальный порт, который вам доступен для подключения. К примеру, вы можете воспользоваться им для сканирования портов компьютера через TcpClient(смотрите Создание Port Scanner с C#), указав при соединении как начальный порт. Так же у IPEndPoint есть параметр как MaxPort. Он определяет максимальное значение, которое может присваиваться свойству System.Net.IPEndPoint.Port. Значение MaxPort установлено равным 0x0000FFFF, т.е. максимальный порт у вас 2^16 = 65536. Оба параметра доступны только для чтения. Смотрите пример ниже:

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. Смотрите код, приведенный ниже:

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"); }
}


Страницы: ... 21 22 23 24 25 26 27 28 29 30 31 32 33 34 

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по сумме баллов (758) в категории «Истории»
Изменения рейтинга
Категория «Истории»
Взлеты Топ 5
Падения Топ 5


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.