http://ow.ly/dP330
Рассылка закрыта
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Программирование (VB,C#,ASP,.NET): новости, советы, примеры
Выпуск # 701Приветствую вас, любители высоких технологий! Вот и очередной выпуск рассылки. За неделю на сайте появилось много новых и интересных материалов, некоторые из которых вы сможете увидеть в этом выпуске. Содержание выпускаЧитайте в этом выпуске: Если у вас есть вопросы по программированию или работе с компьютером, не стесняйтесь, спрашивайте.Форумы Kbyte.RuНа форумах Kbyte.Ru постоянно появляются новые интересные темы и обсуждения. В этом выпуске представлены лишь новые темы, с момента прошлой рассылки. Кстати, любой желающий может на форумах Kbyte.Ru совершенно свободно получить помощь грамотных специалистов в области программирования, да и в целом информационных технологий. Задать свой вопрос прямо сейчас Отличная возможность посетить двухдневный интерактивный курс для Product Owner
в Scrum с Робином Даймондом и конференцию AGILEEE. Моделирование проблемных ситуаций, воркшопы, специальные упражнения — эти, а также целый ряд других практик помогут Вам научиться эффективнее использовать Scrum в собственной работе. Регистрируйтесь на конференцию и мастер-класс со скидкой! http://ow.ly/dP330 Реализация ссылки в TextBoxe @Леонид 19.09.2012 04:15 Подскажите, кто сталкивался: Возможно ли создать активную ссылку на какой нибудь сайт (именно в текстбоксе).Спасибо... Ответ #1 @Aleksey Nemiro 19.09.2012 13:35 В RichTextBox это относительно просто сделать. С TextBox наверняка возможно, но гораздо сложнее. Одним только VB не обойтись (в том плане, что может потребоваться использование других языков программирования). Пример с RichTextBox лежит тут. Ответ #2 @Aleksey Nemiro 19.09.2012 13:38 Хотя, если не выделять цветом, то можно попробовать смотреть на текст под курсором, анализировать и обрабатывать клики. Не помню, как это сделано в приведенном примере с RichTextBox (нету vb 6.0), возможно так и сделано. Не получается "Разработка desktop-приложения для «ВКонтакте» на C#" @shlyk96
16.09.2012 13:59 Кто может сделать http://kbyte.ru/ru/Programming/Articles.aspx?id=62&mode=art , у меня что-то вообще не получается (безопасный вход), обычный даже на скаченном не работает Ответ #1 @Aleksey Nemiro 16.09.2012 17:17 Удивительно, безопасный вход у меня работает, хотя статья уже древняя :) (открыл пример, ничего не меняя запустил) А вот вход с вводом логина и пароля в программу, действительно, не работает: Как видно из текста ошибки, проблема в url. В классе формы frmSignin4RealGuys, стр. 197. Нужно добавить проверку на httpS: if (!url.ToLower().StartsWith("http://") && !url.ToLower().StartsWith("https://")) { url = String.Format("http://api.vkontakte.ru{0}", url); }Тоже работает ![]() Ответ #2 @i32 18.09.2012 15:17 Я того же мнения (пашет автор прав) Передать значение из TextBox в
keybd_event @Hennasy 15.09.2012 23:03 Можно ли как то сделать что то по типу этого: Const VK_F1 keybd_event(надо взять значение из txtbox, 0, 0, 0) То есть в текст боксе будет написано VK_F1. Ответ #1 @i32 18.09.2012 15:31 Наверно тут можно использовать РЕГУЛЯРКУ..Или тут что то не так описано..(непонятно) ![]() Ответ #2 @Hennasy 19.09.2012 15:30 Мне надо так чтобы если я ввел в текст бокс VK_F1 (константа кнопки), и нажал на кнопку (button1), у меня сработало нажатие
кнопки которую я указал в текст боксе т.е: keybd_event(константа из txtbox, 0, 0, 0) Оптимизация
сайта @artF 14.09.2012 18:33 Как можно ускорить работу сайта,уменьшить нагрузку на бд? не знаю по каким причинам(либо из за моего интернета,либо из за скрипта) бывает что страница долго грузится и выдается пустая..Какие есть варианты?Кеширование?как?) Ответ #1 @artF 14.09.2012 18:35 Бывает еще и браузер пишет нечто К сожалению, Google Chrome не может открыть страницу ![]() Ответ
#2 @Aleksey Nemiro 15.09.2012 11:26 либо из за моего интернета,либо из за скриптаЧтобы узнать точно, нужно поставить что-то типа Если речь о сайте , внешне он довольно простой, не думаю, что он сможет так сильно грузить сервер. Кеширование?См. http-заголовки Cache-Control (Pragma), Last-Modified и Expires, по последнему, сейчас сайт выдает 1981 год, т.е. данные браузером не кешируются. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // запрет кеширования
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // дата последнего изменения содержимого
header("Cache-Control: no-cache, must-revalidate"); // запрет кеширования для HTTP/1.1
header("Pragma: no-cache"); // запрет кеширования для HTTP/1.0header("Cache-control: public");
header("Cache-control: max-age=1800"); // кеширование содержимого на 1800 сек. / 60 сек. = 30 мин. Тема муторная, может быть много подводных камней.Возможно, проблема в хостинге. Если сайт действительно иногда падает, то нужно обратиться за разъяснениями в службу поддержки хостинга. Ответ #3 @artF 15.09.2012 12:01 Чтобы узнать точно, нужно поставить что-то типа Яндекс.Метрикапоставил уже,и где в ней и что смотреть?) Если речь о сайте studioartf.ru, внешне он довольно простой, не думаю, что он сможет так сильно грузить сервер.Да именно о нем, в том то и дело что простой,впринципе я к этому и стремился)) нет неужных "плагинов" как в сторонних cms и прочей ерунды которая мне либо абсолютно не нужна,либо можно прикрутить что то вроде "Сообщения Вконтакте". Запросов к бд тоже не много,но бывает немогу открыть страницу. Надо обратиться в службу поддержкиуже сделал,вот жду ответа =) Много подводных камейНапример? ну можно же делать кеширование для каких либо страниц,которые не так часто изменяются?чтобы лишний запрос к бд не делать... Ответ #4 @artF 15.09.2012 12:04 UP:Как же мне нравится мой хостер,довольно быстрый саппорт)) \ Ответ #5 @Aleksey Nemiro 15.09.2012 12:18 оставил уже,и где в ней и что смотреть?)В деталях сайта, меню Мониторинг -> Результат проверки - это лог доступности сайта для Метрики (ошибки отмечены красным цветом). Аптайм сайта никогда не будет 100%, норма 95-99%. Запросов к бд тоже не много,но бывает немогу открыть страницу.При проблемах с бд сайт в любом случае должен отвечать, он просто будет выдавать стандартные php-ошибки. БД и PHP напрямую не связаны друг с другом. Совсем сайт может не отвечать, если сервер находится в полной отключке. Например, перезагружается, обновляет ПО или еще что. Т.е. физически сервер не находится в сети. С серверами подобное бывает редко и если бывает, то длится недолго (это нормально). Если например, сервер работает, но сайт отключен (например, за превышение лимитов выделенных для него ресурсов), то сервер будет выдавать стандартные http-ошибки, а не "К сожалению, Google Chrome не может открыть страницу". ну можно же делать кеширование для каких либо страниц,которые не так часто изменяются?чтобы лишний запрос к бд не делать...Можно, достаточно добавлять соответствующие заголовки на эти страницы. Например: header("Cache-control: public");
header("Cache-control: max-age=1800"); // кеширование содержимого на 1800 сек. / 60 сек. = 30 мин![]() Добавить свой ответ в эту тему · В теме есть еще 8 ответов. Смотреть все ответы. Привет всем. Подскажите
пожайлуста как в Visual Basic при нажатии на button1 данные из textbox1 можно добавить в sql БД. Ответ #1 @Aleksey Nemiro 15.09.2012 11:48 Using myConn As New SqlConnection("строка соединения
с базой данных")
myConn.Open() ' открываем соединение
Dim myCmd As New SqlCommand("INSERT INTO [имя таблицы] ([имя поля]) VALUES (@text_box1)", myConn) ' создаем запрос на вставку данных в таблицу
myCmd.Parameters.Add("@text_box1", SqlDbType.NVarChar).Value = TextBox1.Text ' добавляем параметр @text_box1 (имя может быть любым) в запрос
myCmd.ExecuteNonQuery() 'выполняем запрос
End UsingОтвет #2 @i32 18.09.2012 15:54 Import (наверное..Алексей??)Или я что то не вкурю.. Ответ
#3 @Aleksey Nemiro 18.09.2012 16:02 Import (наверное..Алексей??)Или я что то не вкурю.. Import System.Data Import System.Data.SqlClient Добавить в бд html код @artF 14.09.2012 10:59 Пытаюсь добавить в бд текст,содержащий html код но выдает ошибку и ругается на синтаксис.хотя добавление в бд без html проходит успешно. Причем если присутствует немного кода и без кавычек,типа <b> то все добавляется.Мне нужно весь код добавлять,с кавычками, их замена не годится(код будет не рабочим же) Помогите ![]() Вот вырезка:
<?
/*
* Если мы нажали на кнопку в форме, то обрабатываем переданные данные
* Иначе выводим форму для добавления статьи
*/
if ( isset ( $_POST["send"] ) ) {
$name=$_POST["name"];
$title=$_POST["title"];
$text=$_POST["text"];
$fulltext=$_POST["fulltext"];
$view=0;
$rating=0;
$author=$_POST["author"];
$category=$_POST["category"];
// Заносим дату с временем в переменную
$day = date ( "d-m-Y H:i" );
// Добавляем статью в базу
if(mysql_query('INSERT INTO `public` (`name`, `title`, `text`, `fulltext`, `category`, `date`, `author`) VALUES("'.$name.'", "'.$title.'", "'.$text.'", "'.$fulltext.'", "'.$category.'", "'.$day.'", "'.$author.'")'))
{
echo "Статья успешно добавлена";
} else {
echo "Статью добавить не удалось<br>";
echo mysql_error();
}
} else {
?>
<form action="" method="POST">
Название статьи(в транслите)<br />
<input type = 'text' name = 'name' /> <br /><br />
Заголовок статьи<br />
<input type = 'text' name = 'title' /> <br /><br />
Краткое описание статьи<br />
<textarea rows = '3' cols = '60' name = 'text'></textarea><br /><br />
Полная статья<br />
<textarea rows = '16' cols = '60' name = 'fulltext'></textarea><br /><br />
Автор статьи<br />
<input type = 'text' name = 'author' value="artF"/> <br /><br />
Категория<br />
<input type = 'text' name = 'category' value=""/> <br /><br />
<input type = 'submit' name = 'send' value = 'Добавить' />
<input type="reset" name="reset" value="Очистить" />
</form>
<?
}
?>
Ответ #1 @Aleksey Nemiro 14.09.2012 12:33 Я как-то публиковал на сайте хелпер-класс для работы с MySQL в PHP, (пока это единственный на сайте код на php ).Там используются параметры, а не как у тебя, внедрение данных в sql-запрос (потенциальная sql injection). В твоем случае, код будет примерно таким: if ( isset ( $_POST["send"] ) )
{
##########################################
// константы лучше объявить один раз в файле, который подключается ко всем страницам
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();
// выполняем запрос
$MySql->ExecuteNonQuery("INSERT INTO `public` (`name`, `title`, `text`, `fulltext`, `category`, `date`, `author`) VALUES (%s, %s, %s, %s, %s, %s, %s)", array($_POST["name"], $_POST["title"], $_POST["text"], $_POST["fulltext"], $_POST["category"], date ( "d-m-Y H:i" ), $_POST["author"]));
}Ответ #2 @artF 14.09.2012 15:47 (пока это единственный на сайте код на php ![]() Что означает этот кусок? Сам класс надо инклудить? В твоем случае така где конкретно обрабатывать "статья успешно добавлена" ? В остальных случаях работы с базой так же делать только меняя это да? $MySql->ExecuteNonQuery("SQl", array($param)); Ответ #3 @Aleksey Nemiro 14.09.2012 16:00 Это какой-то хвост, не используется. Сам класс надо инклудить?Да, иначе не получится его использовать. а где конкретно обрабатывать "статья успешно добавлена" ?Можно по errorMessage проверить :) if($MySql->errorMessage == ""){
echo "статья успешно добавлена";
}
else {
echo "ошибка: ".$MySql->errorMessage;
}Там еще есть метод ExecuteScalar, который в случае успеха, должен вернуть идентификатор стать (при условии, что id будет числовым типом): $id = $MySql->ExecuteScalar("INSERT INTO `public` (`name`, `title`, `text`, `fulltext`, `category`, `date`, `author`) VALUES (%s, %s, %s, %s, %s, %s, %s)", array($_POST["name"], $_POST["title"], $_POST["text"], $_POST["fulltext"],
$_POST["category"], date ( "d-m-Y H:i" ), $_POST["author"]));
if($id > 0){
echo "Статья успешно добавлена. <a href='/articles.php?id=$id'>Посмотреть статью</a>";
}
else {
echo "Ошибка: ".$MySql->errorMessage;
}В остальных случаях работы с базой так же делать только меняя это да?Там разные методы работы с БД. В самом классе, вверху описано, что к чему. ----------------------------------------------------------------------- | ExecuteNonQuery | выполнить запрос | | ExecuteScalar | выполнить и вернуть идентификатор | | GetTable | вернуть таблицу | | GetRow | вернуть строку (через таблицу, для удобства) | ----------------------------------------------------------------------- | Run | ExecuteNonQuery | | ReturnId | ExecuteScalar | ----------------------------------------------------------------------- $article = $MySql->GetRow("SELECT * FROM public WHERE id = %s", array($_POST["id"]));
if($article==null){
echo "статья не найдена";
}else{
echo $article["fulltext"];
}Ответ #4 @artF 14.09.2012 16:07 Потому что у меня реализована постраничная навигация и надо переделать вывод, как будет выглядеть код тогда? вот как он выглядит у меня сейчас: $res
= mysql_query("SELECT COUNT(*) FROM public");
$row = mysql_fetch_row($res);
$maxs = $row[0]; // всего записей
if($maxs<1){
echo '<h2>Записей нет</h2>';
include "bottom.php";
die();
}
// Переменная хранит число сообщений выводимых на станице
$num = 10;
// Извлекаем из URL текущую страницу
$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result = mysql_query("SELECT COUNT(*) FROM public");
$posts = mysql_result($result, 0);
// Находим общее число страниц
$total = intval(($posts - 1) / $num) + 1;
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) {
echo '<h2>Запрошенной страницы не существует</h2><br>';
$page=1;
}
// Вычисляем начиная к какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
$result = mysql_query("SELECT * FROM `public` ORDER BY `id` DESC LIMIT $start, $num");
if (mysql_num_rows($result) > 0){
$myrow = mysql_fetch_array($result);
do{echo '<h2 class="title"><a href="/public/'.$myrow["category"].'/'.$myrow["name"].'/'.$myrow["id"].'">'.$myrow["title"].'</a></h2><div class="meta">'.$myrow["date"].' by '.$myrow["author"].'</div><div class="content">'.$myrow["text"].'</div><a href="/public/'.$myrow["category"].'/'.$myrow["name"].'/'.$myrow["id"].'"
class="morelink">Читать далее →</a><div><div class="links"><span class="comments">Просмотров: '.$myrow["view"].'</span><br><br><br></div></div>';}
while ($myrow = mysql_fetch_array($result));
}
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href= ./?page=1><<</a>
<a href= ./?page='. ($page - 1) .'><</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' <a href= ./?page='. ($page + 1) .'>></a>
<a href= ./?page=' .$total. '>>></a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = ' <a href= ./?page='. ($page - 2) .'>'. ($page - 2) .'</a> ';
if($page - 1 > 0) $page1left = '<a href= ./?page='. ($page - 1) .'>'. ($page - 1) .'</a> ';
if($page + 2 <= $total) $page2right = ' <a href= ./?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' <a href= ./?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню
?>
<div class="pagenav">
<?
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;
?>
</div>
$MySql = new MySql();
$t = $MySql->GetTable("SELECT * FROM public ORDER BY id DESC LIMIT 5");
if ($t != NULL && count($t) > 0)
{
// листаем циклом полученные данные из таблицы - $t в строку $r
foreach ($t as $r)
{
echo "<li><a href="/public/'.$r["category"].'/'.$r["name"].'/'.$r["id"].'">'.$r["title"].'</a></li>"; // выводим на страницу данные из поля (колонки) nickname
}
}
else
{
echo "Последних статей нет";
}
Ответ #5 @Aleksey Nemiro 14.09.2012 16:11 Также вывод последних 5-ти статей,но с ним думаю по проще будет..что то типа этого?Верно. Потому что у меня реализована постраничная навигация // Определяем общее число сообщений в базе данных
$posts = $MySql->ExecuteScalar("SELECT COUNT(id) FROM public"); // вместо * лучше ставить поле, например, id - работать будет быстрее// выбор данных для данной странице
$result = $MySql->GetTable("SELECT * FROM public ORDER BY id DESC LIMIT $start, $num");Добавить свой ответ в эту тему · В теме есть еще 16 ответов. Смотреть все ответы. Исходные кодыZoom ApplicationVisual Basic .NET: Графика @Shark1 15.09.2012 19:57 Пример организации увеличения в WPF. К данном исходному коду прилагаются файлы примеров. Скачать. Вакансии в ITАгент консультант по рекламе и распространению Банковских услуг и продуктовРоссия | Удаленная работа | 50 000.00 RUB Веб дизайнерРоссия, Нижний Новгород | Работа в офисе | 30 000.00 KBP Web дизайнерРоссия, Нижний Новгород | Работа в офисе | 30 000.00 KBP Контент-менеджер, seo-специалист, smm, продвижение сайтовРоссия, Нижний Новгород | Работа в офисе | 20 000.00 KBP Программист-консультантРоссия, Казань | Работа в офисе | 24 000.00 KBP Web-дизайнерРоссия, Новосибирск | Работа в офисе | 50 000.00 KBP IOS разработчикРоссия, Ростов-на-Дону | Работа в офисе | 20 000.00 KBP Ведущий программистРоссия, Ростов-на-Дону | Работа в офисе | 25 000.00 KBP Программист стажерРоссия, Ростов-на-Дону | Работа в офисе | 15 000.00 KBP Веб-дизайнерРоссия, Ростов-на-Дону | Работа в офисе | 40 000.00 KBP Новости мира ITApple выпустила iOS 6Компания Apple выпустила мобильную операционную систему iOS 6. В ней насчитывается более 200 новшеств. Установить iOS 6 могут владельцы смартфонов iPhone 3GS, iPhone 4 и iPhone 4S, плееров iPod touch четвертого поколения и планшетов iPad второго и третьего поколений. 20.09.2012 09:22 · Категория: Бизнес в IT · Источник: Lenta.ru Бренд Apple оценили в два GoogleБренд корпорации Apple оценивается в 100 миллиардов евро и является самым дорогим в мире. Для сравнения, у идущего на пятой строчке Google аналогичный показатель составляет 50 миллиардов евро. У социальной сети Facebook, расположившейся на 74 месте, бренд стоит "только" 11,5 миллиарда евро. 20.09.2012 09:15 · Категория: Бизнес в IT · Источник: Lenta.ru Samsung начала выпуск новых чипов памяти LPDDR3Samsung Electronics начала производство нового типа памяти для мобильных устройств, при помощи которых можно значительно увеличить производительность будущих смартфонов и планшетов. Новые чипы памяти формата LPDDR3 строятся на стандартах, впервые анонсированных в мае этого года и позволяющих мобильным устройствам в реальном времени работать с HD-видео на больших экранах. Новые модули RAM-памяти имеют пропускную способность в 12,8 Гбит/сек, против современных чипов с полосой в 8,5 Гбит/сек. В Samsung говорят, что в современных мобильных устройствах требования к подсистеме памяти и процессоров постоянно увеличиваются, так как пользователям становятся доступны все более крупные мобильные экраны, а сети поддерживают все более высокие скорости передачи данных. 19.09.2012 11:11 · Категория: Железо · Источник: CyberSecurity.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. |
| В избранное | ||



Тема муторная, может быть много подводных камней.