Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование (VB,C#,ASP,.NET): новости, советы, примеры


Выпуск # 660

Друзья! Прошло совсем мало времени с момент последнего выпуска, и вот уже новый! Удивительно, как быстро летит время в Интернете, сколько всего нового происходит ежедневно, да что там, ежесекундно. И Kbyte.Ru в этом плане не исключение, на сайте столько всего произошло, столько всего, что многое даже и не влезло в этот выпуск! И кто только придумал ограничения скорости интернет-соединения и объемов писем! Эх..., благо на сайте есть живая лента событий, которая не даст потеряться среди гущи событий.
Надеюсь, этот выпуск будет интересен для вас. Если вы хотите увидеть в следующих выпусках что-то конкретное, напишите мне об этом на ящик subscribe@kbyte.ru.


Содержание выпуска

Читайте в этом выпуске:

Если у вас есть вопросы по программированию или работе с компьютером, не стесняйтесь, спрашивайте.

Форумы Kbyte.Ru

На форумах Kbyte.Ru постоянно появляются новые интересные темы и обсуждения. В этом выпуске представлены лишь новые темы, с момента прошлой рассылки.

Кстати, любой желающий может на форумах Kbyte.Ru совершенно свободно получить помощь грамотных специалистов в области программирования, да и в целом информационных технологий.

Задать свой вопрос прямо сейчас

Я недавно вникаться начал в этот процесс и естественно есть вопросы
я уверен что у вас они тоже должны быть
предложение такое в этом форуме, нам не выделят отдельной темы,
предлагаю в теме писать [WPF] "тема"....
если не поддержите - пойму, не туда я стучусь..

[- к содержанию -]

Ответ #1 @Aleksey Nemiro 15.10.2011 10:22
предлагаю в теме писать [WPF]
Предлагаю действовать по старинке и просто ставить галочку на WPF в списке технологий


есть вопросы
Не пойму, зачем писать о том, что есть вопросы и при этом даже не пытаться их озвучить?
Ответить на вопрос, который есть, но который ни в каком виде не сформулирован, увы, никто не сможет.

[- к содержанию -]

Добавить свой ответ в эту тему
1.Я не имею тут каких то привилегий
2.И комерчиских планов
3. просто нашел в гугле
4. для повышения уровня ( программирование наверно все языки )
5.http://pool-27-1.na.tl:90/sources/%5bVB.NET%5d/

[- к содержанию -]

Ответ #1 @Aleksey Nemiro 14.10.2011 20:19
Спасибо.
Будет время, гляну, чем можно оттуда пополнить Kbyte.Ru

[- к содержанию -]

Ответ #2 @ArkIv 14.10.2011 23:10
Ябы , Aleksey Nemiro , предложилбы расписать что там и к чему
и что хорошего там есть - я вот глянул - но даже не стал залезать
- зачем это все ну отправлю я тебя на поисковик rapidshare //
там много чего есть - ты поищи потом мне расскажи
...
извини что не так, заикнись и я тебе тоже буду присылать списки интересных фиговин.
MSDN RSDN и т.п. я тоже думаю ктоб там что разобрался да рассказал.

[- к содержанию -]

Добавить свой ответ в эту тему
Регулярка @i32 14.10.2011 12:10
Решил полазить по сайтам с "регулярным вырожениям" Сразу наткнулся на проблему...
Код хтмл
<span id="пипец кавычки">Парампампам</span>
вб
 Dim m As Match = Regex.Match(source, "<span id="пипец
кавычки">(?<Bl>.*?)</span>") 
    MsgBox(m.Groups("Bl").Value)
Кавычки мой вб начал замыкать..(в коде) Хотя мне нужно их Искать..
Как тут можно реализовать поиск по этим параметрам ?
Спасибо заранее....

[- к содержанию -]

Ответ #1 @Aleksey Nemiro 14.10.2011 12:35
Кавычки использовать также как и в любых других строках в коде VB, т.е. обычно ставятся две кавычки.
Dim m As Match = Regex.Match(source, "<span id=""пипец кавычки"">(?<Bl>.*?)</span>")
Также в VB можно ставить кавычки через функцию Chr, указывая код asc-кавычек (34):
Dim m As
Match = Regex.Match(source, "<span id=" & Chr(34) & "пипец кавычки" & Chr(34) & ">(?<Bl>.*?)</span>")
В регулярных выражениях можно указывать asc-коды, в шестнадцатеричном виде:
Dim m As Match = Regex.Match(source, "<span id=\x22пипец кавычки\x22>(?<Bl>.*?)</span>")
\x22 - это asc-код кавычек (34) в шестнадцатеричном виде. Икс указывает на то, что число шестнадцатеричное. Подобное встречается во многих других языках программирования.

[- к содержанию -]

Добавить свой ответ в эту тему
Добрый день!

помогите, пожалуйста, решить следующую задачу.

Пишу программу на VB .net Программа взаимодействует с удаленным сервером MS SQL.

В общем проблема такая: т.к. база данных находится на удаленном сервере, то работа с ней иногда сбоит, т.е. возникает ошибка таймаута (System.Data.SqlClient.SqlException: Истекло время ожидания. Время ожидания истекло до завершения операции или сервер не отвечает.) и после чего программа завершается(((
Нужно чтобы
1) был небольшой таймаут запроса для всей программы
2) если возникает таймаут, программа повторяет запрос, скажем 3 раза
3) после неудачного 3 раза программа выдает сообщение, что проблемы со связью

как такое можно сделать? чем пользоваться? есть ли какие нибудь нюансы?



[- к содержанию -]

Ответ #1 @Aleksey Nemiro 14.10.2011 11:49
1) был небольшой таймаут запроса для всей программы
Оставить таймаут по умолчанию - 15 секунд.
Чтобы установить другой таймаут, нужно добавить к строке соединения параметр Connection Timeout, который должен содержать время в секундах.
2) если возникает таймаут, программа повторяет запрос, скажем 3 раза
  Dim errors As Integer = 1 'счетчик ошибок 
Try 
tryAgain: 
  Using myConn As New System.Data.SqlClient.SqlConnection("user id=kbyte;password=123456789;data source=kbyte.ru;initial catalog=kbyte;Connection Timeout=20") 
    myConn.Open() 
 
  Dim myCmd As New System.Data.SqlClient.SqlCommand("SELECT * FROM users", myConn) 
    myCmd.CommandTimeout = Integer.MaxValue 'таймаут выполнения команды 
 
  End Using 
Catch 
  errors += 1 'увеличиваем счетчик ошибок 
  If errors < 3 Then GoTo tryAgain 'счетчик ошибок имеет значение меньше 3, пробуем сделать еще одно соединение 
  'счетчи ошибок имеет значение больше 3 
  MsgBox("Не удалось установить соединение с удаленным сервером.") 
End Try

[- к содержанию -]

Ответ #2 @ilshatkin 14.10.2011 12:23
Спасибо за ответ!
А можно ли придумать такое: прописать один раз в коде, чтобы не повторять такую конструкцию при каждом обращении к удаленному серверу?

[- к содержанию -]

Ответ #3 @Aleksey Nemiro 14.10.2011 12:38
Можно сделать хелпер-класс, который будет выполнять SQL-запросы и реализовать подобный код в нем.

[- к содержанию -]

Ответ #4 @ArkIv 14.10.2011 23:28
Я вот тоже тотже вопрос..
если честно Firebird - это лучшее что есть
если спорить то вопрос сразу - вы купили базу?
а Firebird бесплатный и намного мощней и правильней к SQL языку
так вот в FireBird (Interbase) всегда изначально было понятие событий от базы
MSSQL - досих пор даже в 10-тке все через попу.
ну да ладно - по теме
а по теме так.. связь если прервется - никто незаметит
и чтоб это понять надо както самому проверять ее
достаточно просто проверять чтением чего либо.
плевать чего..
проверили - потом пишем (главное что на проверке скажем ошибка связи,
или подключимся еще раз) типа нет связи.
а вот с событиями в FireBird - чуть сложнее - мыже их ждем.
ну там тоже - к сожалению в коде если сервер отрубился
назначить событие мы не можем повторно.. ну и в принципе также
проверяем связь - иногда - и вырубаем все и подключаемся..
и регим события.
-----------------
итог такой - никто не определит потерю связи - если ее не проверять

[- к содержанию -]

Ответ #5 @ArkIv 14.10.2011 23:35
ilshatkin:

Нужно чтобы
1) был небольшой таймаут запроса для всей программы
2) если возникает таймаут, программа повторяет запрос, скажем 3 раза
3) после неудачного 3 раза программа выдает сообщение, что проблемы со связью

да я там загнул конечно.. здесь надо было проще
не посылать 3 раза запрос а прочитать один чего-нибудь чтоб проверить что связь есть- и будет ясно
когда выводить сообщение..

[- к содержанию -]

Добавить свой ответ в эту тему · В теме есть еще 7 ответов. Смотреть все ответы.

Все темы и обсуждения

Исходные коды

Цветной ProgressBar

Visual Basic .NET: Элементы управления Windows @[i]Pro 19.10.2011 12:07
Пример использования API для смены цвета ProgressBar в Windows Vista/7.
'Декларируем 
Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal msg As Integer, _ 
    ByVal wParam As Integer, ByVal lParam As Integer) As Integer 
 
'Используем 
    SendMessage(ProgressBar1.Handle, &H400 + 16, &H3, 0) 'YELLOW 
 
    SendMessage(ProgressBar1.Handle, &H400 + 16, &H2, 0) 'RED 
 
    SendMessage(ProgressBar1.Handle, &H400 + 16, &H1, 0) 'GREEN

[- к содержанию -]

Php-класс для работы с MySql

PHP: Базы данных @Алексей Немиро 14.10.2011 16:58
Это хелпер-класс, позволяющий легко работать с СУБД MySql в php. Класс создавался по подобию .NET и содержит функции: ExecuteNonQuery, ExecuteScalar, GetTable, GetRow. Все функции могут принимать как обычные SQL-запросы, так и параметризированные запросы, что позволяет исключить SQL Injection. Класс полностью работоспособный и не требуется каких-либо изменений и дополнений.
/* 
Скачайте файл класса (см. ниже, под этим примером). 
 
Код класса изменять не нужно, он полностью автономный и проверен временем. Перед использованием, необходимо в коде объявить нижеследующие константы. Лучше всего это сделать в файле, который инклудится ко всем страницам (такой должен быть, наверное, в каждом проекте): 
*/ 
 
########################################## 
define("DB_NAME", "kbyte_database"); // имя базы данных 
define("DB_USER", "kbyte_user"); // имя пользователя 
define("DB_PASSWORD", "1234567890"); // пароль к бд 
define("DB_HOST", "localhost"); // адрес сервера баз данных 
define("DB_CHARSET", "utf8"); // кодировка бд 
define("DB_COLLATE", ""); 
define("DB_DEBUG", false); // дебаг (true или false) 
define("DB_MODE", 2); // 0 - в ручную откр/закр,  
// 1 - автоматически при запросе (не рекомендуется, т.к. много конектов), 
// 2 - открывает само и закрывает когда нужно (рекомендуется) 
########################################## 
 
// Затем, нужно создать экземпляр класса MySql: 
 
$MySql = new MySql(); 
 
//И дальше можно выполнять запросы к серверу БД: 
 
# получение списка пользователей из таблицы users 
$t = $MySql->GetTable("SELECT * FROM users"); 
 
if ($t != NULL && count($t) > 0) 
{ 
 // листаем циклом полученные данные из таблицы - $t в строку $r 
 foreach ($t as $r) 
 { 
  echo $r["nickname"]."<br />"; // выводим на страницу данные из поля (колонки) nickname 
 } 
} 
else 
{ 
 echo "По вашему запросу данные не найдены.."; 
} 
 
# помимо таблицы, можно получить только одну строку, при помощи функции GetRow 
 
$userId = 1; // идентификатор пользователя 
$r = $MySql->GetRow("SELECT * FROM users WHERE id_users = %s", array($userId)); 
if ($r != NULL) 
{ 
 echo $r["nickname"]; // выводим имя пользователя 
} 
else 
{ 
 echo "пользователь с идентификатором $userId не найден"; 
} 
 
// или по логину и паролю 
$login = "admin"; 
$password = "123456789"; 
$r = $MySql->GetRow("SELECT * FROM users WHERE [login] = %s AND [password] = %s", array($login, $password)); 
if ($r != NULL) 
{ 
 echo $r["nickname"]; // выводим имя пользователя 
} 
else 
{ 
 echo "пользователь не найден"; 
} 
 
// в запросах в качестве маркера параметров используются символы %s 
// значения параметров указываются в массиве (array), в том порядке, в котором они должны быть в запросе 
 
 
// чтобы добавить, изменить или удалить данные, можно использовать функции: 
// ExecuteNonQuery и ExecuteScalar 
// Функция ExecuteNonQuery - выполняет указанный запрос и не возвращает никаких данных 
// Функция ExecuteScalar выполняет указанный запрос и возвращает идентификатор добавленных данных 
 
// например, можно удалить пользователя из базы 
$userId = 1; // идентификатор пользователя 
$MySql->ExecuteNonQuery("DELETE FROM users WHERE id_users = %s", array($userId)); 
 
// или добавить нового пользователя 
$newId = $MySql->ExecuteScalar("INSERT INTO users (nickname, email, [login], [password])", array("Вася", "vasya@kbyte.ru", "mylogin", "1234567890")); 
echo "Создан новый пользователь - $newId";

К данном исходному коду прилагаются файлы примеров. Скачать.

[- к содержанию -]

Все исходные коды

Вакансии в IT

Разработчик SharePoint

Россия, Москва | Работа в офисе | 100 000.00 RUB

Инженер-программист

Россия, Москва | Работа в офисе | 55 000.00 RUB

Программист SQL Server

Россия, Москва | Работа в офисе | 110 000.00 RUB

Программист С++

Россия, Москва | Работа в офисе | 90 000.00 RUB

Программист C++

Россия, Москва | Работа в офисе | 50 000.00 RUB

Flash AS3. 0 программист

Россия, Москва | Работа в офисе

Программист C++ Builder

Россия, Москва | Работа в офисе | 50 000.00 RUB

Программист JAVA

Россия, Москва | Работа в офисе | 120 000.00 RUB

Инженер программист SCADA стажер

Россия, Москва | Работа в офисе

Ведущий разработчик - программист

Россия, Москва | Работа в офисе | 75 000.00 RUB

Все вакансии в IT · Создать резюме

[- к содержанию -]

Новости мира IT

VMware выпускает мобильный виртуализатор VMware Horizon Mobile

Производитель программного обеспечения для виртуализации VMware сегодня официально объявил о сотрудничестве с американским сотовым оператором связи Verizon, в рамках которого две компании будут продавать виртуализованные телефоны. Точная дата выхода подобных аппаратов пока не называется, компании лишь ограничиваются формулировкой "в предстоящие месяцы".

Новая технология VMware Horizon Mobile в конечном итоге на одном физическом телефоне создает два виртуальных телефона, за счет инсталляции гостевых операционных систем поверх виртуальной машины. Таким образом, пользователь одного аппарата получает две изолированных программных среды для работы с различными данными. Производить телефоны с поддержкой виртуализации уже согласились компании LG и Samsung.

Verizon будет включать данное предложение в бизнес-набор Private Applications Store for Business. В сотовой компании говорят, что новинка также позволит бизнес-пользователям создавать изолированные среды для некоторых приложений, работа которых требует повышенной безопасности. Private Applications Store for Business позволяет бизнес-пользователям создавать внутренние каталоги приложений, доступные только сотрудникам их компаний. Включать в эти каталоги можно как собственные, так и чужие продукты. Подписка на Private Applications Store for Business стоит 5 долларов в месяц на каждого пользователя.

Кроме того, VMware говорит, что помимо Verizon подписала похожий контракт и в Европе, с испанской Telefonica, которая будет продавать виртуализованную версию Samsung Galaxy S II. В Telefonica говорят, что виртуализованные аппараты будут работать на базе Android и пользователи смогут при использовании одного устройства и одной SIM-карты создавать два виртуальных аппарата.

20.10.2011 10:03 · Категория: Программирование · Источник: CyberSecurity.ru

[- к содержанию -]

В Москве появятся парковки с оплатой через SMS

Весной 2012 года в Москве появятся экспериментальные парковки с возможностью оплаты через SMS. В столице будут созданы "несколько экспериментальных зон", внутри которых будет использоваться новая система оплаты. Также на перехватывающих парковках планируется при оплате стоянки автомобиля продавать билеты на метро.

20.10.2011 10:02 · Категория: Бизнес в IT · Источник: Lenta.ru

[- к содержанию -]

В iPhone 4S обнаружили процессор Samsung

Процессоры Apple A5 для смартфонов iPhone 4S производит компания Samsung, которая и ранее поставляла комплектующие для устройств Apple. Таким образом, слухи о том, что Apple решит отказаться от услуг Samsung в связи с патентными разногласиями, оказались не соответствующими действительности.

20.10.2011 10:02 · Категория: Железо · Источник: Lenta.ru

[- к содержанию -]

Все новости


Подпишитесь на тематические RSS-ленты Kbyte.Ru, чтобы быть в курсе последних новостей:

Основная лента · Форумы (темы и сообщения) · Visual Basic 5.0/6.0 · Visual Basic .NET · C# (Си шарп) · Delphi · JavaScript · ActionScript · ASP .NET · ASP .NET MVC

Ищите Kbyte.Ru в социальных сетях FaceBook, ВКонтакте, Twitter.

Если вы занимаетесь программированием, то наверняка вам пригодятся хитрые инструменты.


Международный портал для программистов и разработчиков Kbyte.Ru основан в 2006 году. Целью портала является объединение программистов и специалистов IT-бизнеса, студентов и преподавателей для обмена опытом и знаниями, оказания помощи во всех делах и начинаниях в области IT.
Kbyte.Ru является парнёром компаний Mail.Ru Group, WebMoney Transfer, Ozon.Ru и др.
Выпуск рассылки подготовлен автоматически. Все права на материалы выпуска принадлежат Kbyte.Ru если иное не указано отдельно.


В избранное