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.0 header("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, Там используются параметры, а не как у тебя, внедрение данных в 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 Все вакансии в IT · Новости мира 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. |
В избранное | ||