Сила
0.50
Рейтинг
2.66
голосов: 3
1

Включение\Отключение безопасного режима из командой строки [WINDOWS]

Включение\Отключение Windows в безопасном режиме и из командной строки. Для этого откройте командную строку (cmd) с правами администратора и выполните команду:

bcdedit /set {current} safeboot minimal



Затем перезагрузите компьютер командой:
Shutdown –f –r –t 0


Теперь Windows всегда будет загружаться в безопасном режиме. Чтобы вернуть обычный режим загрузки:
bcdedit /deletevalue {default} safeboot

Соцсеть «ВКонтакте» не работает из-за разрыва кабеля


Сбой в работе социальной сети «ВКонтакте» произошел из-за разрыва кабеля между дата-центрами.
Об этом в своем Twitter заявил пресс-секретарь компании Георгий Лобушкин.
ВКонтакте недоступен из-за разрыва кабеля между нашими дата-центрами. Выясняем причины и поднимаем сайт по резервной схеме. #вкживи— George Lobushkin (@lobushkin) 4 августа 2015


Ранее Лобушкин сообщил, что в настоящее время сайт не работает по всему миру. Предыдущий сбой в работе сайта произошел 31 июля. Тогда некоторые пользователи испытывали проблемы с доступом к некоторым разделам соцсети.

[VK] сломался =D

Хэштег #ВКживи вот уже в который раз выходит на лидирующую позицию в Twitter — пользователи самой популярной в России социальной сети жалуются на очередные перебои в работе «ВКонтакте».



Вк живи, вк не работает 31 июля 2015, почему не работает вконтакте
Одна из самых популярных социальных сетей «ВКонтакте» в последнее время не может похвастаться слаженной работой — соцсеть время от времени работает с перебоями.

«К сожалению, сервер временно недоступен. Попробуйте повторить действие чуть позже», — высвечивается при обновлении страницы «ВКонтакте».



Среди пользователей соцсети стало доброй традицией при каждой поломке писать в Twitter хэштег #ВКживи.

На данный момент популярный хэштег опять выбился в лидирующие позиции. На данный момент он занимает второе место по популярности актуальных тем в России.



«Ну что опять случилось-то?( #ВКживи»;

«ВК объединяет людей даже в нерабочем состоянии» #ВКживи;

«При Дурове такого не было #ВКживи», — пишут пользователи.

Стоит отметить, что последние несколько дней перебои наблюдались в проигрывании музыки «ВКонтакте».

Напомним, последняя поломка соцсети «Вконтакте» была месяц назад, 29 июня.

Происходящее прокомментировал пресс-секретарь социальной сети ВКонтакте Георгий Лобушкин:

«В некоторых разделах ВК (например, в группах) сейчас действительно наблюдаются проблемы. Это скоро пройдет. Всё пройдет. #вкживи», — написал он в своем микроблоге.

Изменение заголовка окна Windows [C#]

В этом посту я вам расскажу как можно изменить текст заголовка любого окна программы

Добавьте на форму два текстовых поля TextBox и кнопку Button. Запустите какую-нибудь программу, например, Калькулятор. Напишите в первом текстовом поле наименование окна, которое вы хотите изменить (Калькулятор). Напишите во втором текстовом поле новый заголовок окна, например, iCalc. Нажмите на кнопку – название программы должно поменяться.

Как это работает
С помощью функции Windows API FindWindow мы находим программу, которая имеет нужный заголовок. Далее при помощи функции SendMessage с параметром WM_SETTEXT мы посылаем окну сообщение для смены заголовка. Вы почти обновили Windows до Mac )).

[DllImport("user32.dll")]
private static extern IntPtr FindWindow(
string className,
string windowName);

[DllImport("user32.dll")]
public static extern IntPtr SendMessage(IntPtr hWnd,
UInt32 Msg, Int32 wParam, string lParam);

private const int WM_SETTEXT = 0xC;

private void button1_Click(object sender, EventArgs e)
{
IntPtr target_hwnd;
string target_name;
string new_caption;
target_name = textBox1.Text;
new_caption = textBox2.Text;
target_hwnd = FindWindow(null, target_name);

SendMessage(target_hwnd, WM_SETTEXT, 0, new_caption);
}


Класс для работы с базой данных (на примере MySQL)

В этой публикации я приведу пример более совершенного класса для работы с базой данных. Смысл в минимизации кода и приведения его (кода) в более удобочитаемый вид.
В примере ниже, в отличие от предыдущего, в отдельном классе реализованы не только методы выполняющие запросы типа (Scalar и NonQuery) но и метод возвращающий набор данных в DataTable. При этом продумана обработка исключительных ситуаций.

Привожу код как есть, он весь прокомментирован, на столько на сколько это необходимо для понимания.

Сам класс:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data;
using System.Data;

namespace MySqlLib
{
    /// <summary>
    /// Набор компонент для простой работы с MySQL базой данных.
    /// </summary>
    public class MySqlData
    {

        /// <summary>
        /// Методы реализующие выполнение запросов с возвращением одного параметра либо без параметров вовсе.
        /// </summary>
        public class MySqlExecute
        {

            /// <summary>
            /// Возвращаемый набор данных.
            /// </summary>
            public class MyResult
            {
                /// <summary>
                /// Возвращает результат запроса.
                /// </summary>
                public string ResultText;
                /// <summary>
                /// Возвращает True - если произошла ошибка.
                /// </summary>
                public string ErrorText;
                /// <summary>
                /// Возвращает текст ошибки.
                /// </summary>
                public bool HasError;
            }

            /// <summary>
            /// Для выполнения запросов к MySQL с возвращением 1 параметра.
            /// </summary>
            /// <param name="sql">Текст запроса к базе данных</param>
            /// <param name="connection">Строка подключения к базе данных</param>
            /// <returns>Возвращает значение при успешном выполнении запроса, текст ошибки - при ошибке.</returns>
            public static MyResult SqlScalar(string sql, string connection)
            {
                MyResult result = new MyResult();
                try
                {
                    MySql.Data.MySqlClient.MySqlConnection connRC = new MySql.Data.MySqlClient.MySqlConnection(connection);
                    MySql.Data.MySqlClient.MySqlCommand commRC = new MySql.Data.MySqlClient.MySqlCommand(sql, connRC);
                    connRC.Open();
                    try
                    {
                        result.ResultText = commRC.ExecuteScalar().ToString();
                        result.HasError = false;
                    }
                    catch (Exception ex)
                    {
                        result.ErrorText = ex.Message;
                        result.HasError = true;
                    }
                    connRC.Close();
                }
                catch (Exception ex)//Этот эксепшн на случай отсутствия соединения с сервером.
                {
                    result.ErrorText = ex.Message;
                    result.HasError = true;
                }
                return result;
            }


            /// <summary>
            /// Для выполнения запросов к MySQL без возвращения параметров.
            /// </summary>
            /// <param name="sql">Текст запроса к базе данных</param>
            /// <param name="connection">Строка подключения к базе данных</param>
            /// <returns>Возвращает True - ошибка или False - выполнено успешно.</returns>
            public static MyResult SqlNoneQuery(string sql, string connection)
            {
                MyResult result = new MyResult();
                try
                {
                    MySql.Data.MySqlClient.MySqlConnection connRC = new MySql.Data.MySqlClient.MySqlConnection(connection);
                    MySql.Data.MySqlClient.MySqlCommand commRC = new MySql.Data.MySqlClient.MySqlCommand(sql, connRC);
                    connRC.Open();
                    try
                    {
                        commRC.ExecuteNonQuery();
                        result.HasError = false;
                    }
                    catch (Exception ex)
                    {
                        result.ErrorText = ex.Message;
                        result.HasError = true; 
                    }
                    connRC.Close();
                }
                catch (Exception ex)//Этот эксепшн на случай отсутствия соединения с сервером.
                {
                    result.ErrorText = ex.Message;
                    result.HasError = true;
                }
                return result;
            }
             
        }

        /// <summary>
        /// Методы реализующие выполнение запросов с возвращением набора данных.
        /// </summary>
        public class MySqlExecuteData
        {
            /// <summary>
            /// Возвращаемый набор данных.
            /// </summary>
            public class MyResultData
            {
                /// <summary>
                /// Возвращает результат запроса.
                /// </summary>
                public DataTable ResultData;
                /// <summary>
                /// Возвращает True - если произошла ошибка.
                /// </summary>
                public string ErrorText;
                /// <summary>
                /// Возвращает текст ошибки.
                /// </summary>
                public bool HasError;
            }


            /// <summary>
            /// Выполняет запрос выборки набора строк.
            /// </summary>
            /// <param name="sql">Текст запроса к базе данных</param>
            /// <param name="connection">Строка подключения к базе данных</param>
            /// <returns>Возвращает набор строк в DataSet.</returns>
            public static MyResultData SqlReturnDataset(string sql, string connection)
            {
                MyResultData result = new MyResultData();
                try
                {
                    MySql.Data.MySqlClient.MySqlConnection connRC = new MySql.Data.MySqlClient.MySqlConnection(connection);
                    MySql.Data.MySqlClient.MySqlCommand commRC = new MySql.Data.MySqlClient.MySqlCommand(sql, connRC);
                    connRC.Open();

                    try
                    {
                        MySql.Data.MySqlClient.MySqlDataAdapter AdapterP = new MySql.Data.MySqlClient.MySqlDataAdapter();
                        AdapterP.SelectCommand = commRC;
                        DataSet ds1 = new DataSet();
                        AdapterP.Fill(ds1);
                        result.ResultData = ds1.Tables[0];
                    }
                    catch (Exception ex)
                    {
                        result.HasError = true;
                        result.ErrorText = ex.Message;
                    }
                    connRC.Close();
                }
                catch (Exception ex)//Этот эксепшн на случай отсутствия соединения с сервером.
                {
                    result.ErrorText = ex.Message;
                    result.HasError = true;
                }
            
                return result;

            }

        }
    }
}


Несколько примеров использования:
Запись в DataGridView:

MySqlLib.MySqlData.MySqlExecuteData.MyResultData result = new MySqlLib.MySqlData.MySqlExecuteData.MyResultData();

result = MySqlLib.MySqlData.MySqlExecuteData.SqlReturnDataset("select * from table_name", "Database=base;Data Source=localhost;User Id=root;Password=pass");

            if (result.HasError == false)
            {
                dataGridView1.Columns.Clear();
                dataGridView1.DataSource = result.ResultData.DefaultView;
            }
            else
            {
                MessageBox.Show(result.ErrorText);
            }


Занесение в разные TexBox'ы и т.п.:

//Проверяем есть ли в выборке вообще хоть что-то?
if (result.ResultData.DefaultView.Table.Rows.Count > 0)
{
  //Помещаем значения в текстовые поля.
  textbox_fio.Text = result.ResultData.DefaultView.Table.Rows[0]["fio"].ToString();
  textbox_adress.Text = result.ResultData.DefaultView.Table.Rows[0]["adress"].ToString();
  textbox_info.Text = result.ResultData.DefaultView.Table.Rows[0]["info"].ToString();
}


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