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

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


Выпуск # 699

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


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

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

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

Форумы Kbyte.Ru

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

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

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

Привет. Как можно на Visual Basic 2010 создать смену пароля? То есть каждый пользователь заходит под своим именем и паролем. И если какой-то пользователь зашел паролем 1, и теперь хочет сменить пароль на 2. Как это сделать. Спасибо всем!

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

Добрый день. У меня возникла проблема с отправкой сообщения через VB1.6! Дело в том, что программа может оправлять сообщения только на gmail.com Вот код:
Sub send_message()
Dim o_Mess As Object, v_Conf As String
Set o_Mess = CreateObject("CDO.Message")
v_Conf = "http://schemas.microsoft.com/cdo/configuration/"
With o_Mess
 .To = "" + Text6.Text + ""
 .From = "" + Text8.Text + ""
 .Subject = "" + Text3.Text + ""
 .TextBody = "" + Text5.Text + ""
 .AddAttachment "" + Text4.Text + ""
With .Configuration.Fields
 .Item(v_Conf & "sendusing") = 2
 .Item(v_Conf & "smtpserver") = "" + Combo1.Text + ""
 .Item(v_Conf & "smtpauthenticate") = 1
 .Item(v_Conf & "sendusername") = "" + Text8.Text + ""
 .Item(v_Conf & "sendpassword") = "" + Text9.Text + ""
 .Item(v_Conf & "smtpserverport") = 25
 .Item(v_Conf & "smtpusessl") = True
 .Item(v_Conf & "smtpconnectiontimeout") = 60
 .Update
End With
 .send
End With
End Sub
если в Combo стоит smtp = mail.ru, то он выдает ошибку :

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

Ответ #1 @Aleksey Nemiro 06.09.2012 16:26
если в Combo стоит smtp = mail.ru,
На скрине стоит адрес @mail.com - это не опечатка?
Если передать в mail.ru логин @mail.com, то он его не примет и вернет примерно такую же ошибку, как на скрине.

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

Ответ #2 @fruksik1465 06.09.2012 16:37
Все ровно так же (
http://rghost.ru/40216990/image.png

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

Ответ #3 @Aleksey Nemiro 06.09.2012 16:50
Можно попробовать убрать SSL:
.Item(v_Conf & "smtpusessl") = False

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

Ответ #4 @fruksik1465 06.09.2012 17:06
Неа все тоже :(
http://rghost.ru/40217511/image.png

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

Ответ #5 @Aleksey Nemiro 06.09.2012 17:26
Можно поиграть с портами, если твой поставщик интернета их блокирует (что не редкость):
mail.ru:
SMTP — 25, 587 или 2525 (без шифрования) и 465 (с шифрованием)
Попробовать использовать IP, вместо домена: 94.100.177.1 (вместо smtp.mail.ru)

Проверить, что локальный файрлвол/антивирус ничего не блокирует.

http://www.designedsystemsonline.com/upload/cdosendmail2.vbs.txt:

strMessage
= "Hello World!"
strTo= "me@mymail.com"
strFrom="tester@msn.com"
strSubject="Subject of mail"
strAccountID="accountid"
strPassword="password"
strSMTPServer="smtp.mailserver.com"
SendMail strTo,strFrom,strSubject,strMessage,strAccountID,strPassword,strSMTPServer


' send email using public mail servers
Function SendMail( strFrom, strSendTo, strSubject, strMessage , strUser, strPassword, strSMTP )

	Set oEmail = CreateObject("CDO.Message")
	
	'configure message
	With oEmail.Configuration.Fields
          .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
          .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTP
          .item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'basic
          .item("http://schemas.microsoft.com/cdo/configuration/sendusername") = strUser
          .item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = strPassword
          .Update
	End With
	
	' build message
	With oEmail
	     .From = strFrom
	     .To = strSendTo 
	     .Subject = strSubject
	     .TextBody = strMessage
	End With
	
	' send message
	On Error Resume Next
	oEmail.Send
	If Err Then
	     WScript.Echo "SendMail Failed:" & Err.Description
	End If
		
End Function


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

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

Пишу простенький сниффер на с++ по примеру. Вот рабочий код:

#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <winsock2.h>

#define MAX_PACKET_SIZE  0x10000
#define SIO_RCVALL     0x98000001
// Буфер для приёма данных
char Buffer[MAX_PACKET_SIZE]; // 64 Kb

//Структура заголовка IP-пакета

typedef struct IPHeader {
 UCHAR  iph_verlen;  // версия и длина заголовка
 UCHAR  iph_tos;   // тип сервиса
 USHORT iph_length;  // длина всего пакета
 USHORT iph_id;    // Идентификация
 USHORT iph_offset;  // флаги и смещения
 UCHAR  iph_ttl;   // время жизни пакета
 UCHAR  iph_protocol; // протокол
 USHORT iph_xsum;   // контрольная сумма
 ULONG  iph_src;   // IP-адрес отправителя
 ULONG  iph_dest;   // IP-адрес назначения
} IPHeader;

char src[10];
char dest[10];
char ds[15];
unsigned short lowbyte;
unsigned short hibyte;

int main(void)
{

 WSADATA   wsadata;  // Инициализация WinSock.
 SOCKET   s;     // Cлущающий сокет.
 char    name[128]; // Имя хоста (компьютера).
 HOSTENT*  phe;    // Информация о хосте.
 SOCKADDR_IN sa;    // Адрес хоста
 IN_ADDR sa1;    //
 unsigned long    flag = 1; // Флаг PROMISC Вкл/выкл.

 // инициализация
 WSAStartup(MAKEWORD(2,2), &wsadata);
 s = socket( AF_INET, SOCK_RAW, IPPROTO_IP );
 gethostname(name, sizeof(name));
 phe = gethostbyname( name );
 ZeroMemory( &sa, sizeof(sa) );
 sa.sin_family = AF_INET;
 sa.sin_addr.s_addr = ((struct in_addr *)phe->h_addr_list[0])->s_addr;
 bind(s, (SOCKADDR *)&sa, sizeof(SOCKADDR));

 // Включение promiscuous mode.
 ioctlsocket(s, SIO_RCVALL, &flag);

 // Бесконечный цикл приёма IP-пакетов.
 while( !_kbhit() )
 {
  unsigned int count;
  count = recv( s, Buffer, sizeof(Buffer), 0 );
  // обработка IP-пакета
  if( count >= sizeof(IPHeader) )
  {
   IPHeader* hdr = (IPHeader *)Buffer;
   //Начинаем разбор пакета...

  strcpy_s(src,"Пакет: ");
  //CharToOem(src,dest);
  //system (dest);
  printf(dest);
  // Преобразуем в понятный вид адрес отправителя.
  printf("From ");
  sa1.s_addr = hdr->iph_src;
  printf(inet_ntoa(sa1));

  // Преобразуем в понятный вид адрес получателя.
  printf(" To ");
  sa1.s_addr = hdr->iph_dest;
  printf(inet_ntoa(sa1));

  // Вычисляем протокол. Полный список этих констант
  // содержится в файле winsock2.h
  printf(" Prot: ");
  if(hdr->iph_protocol == IPPROTO_TCP) printf("TCP ");
  if(hdr->iph_protocol == IPPROTO_UDP) printf("UDP ");

  // Вычисляем размер. Так как в сети принят прямой порядок
  // байтов, а не обратный, то прийдётся поменять байты местами.
  printf("Size: ");
  lowbyte = hdr->iph_length>>8;
  hibyte = hdr->iph_length<<8;
  hibyte = hibyte + lowbyte;
  //printf("%s",itoa(hibyte,ds,10));
  printf("%u", hibyte);

  // Вычисляем время жизни пакета.
  printf(" TTL:%s",itoa(hdr->iph_ttl,ds,10));
  printf("\n");

  }
 }

 closesocket( s );
 WSACleanup();
}

Еще нужно будет прописать #pragma comment (lib, "ws2_32.lib")

В теории пакет будет состоять из ip хидер + udp хидер + data. Размер ip постояннный: 20 байт. Размер b cnруктура udp хидера вроде такая

struct udpheader {
unsigned short int uh_sport;
unsigned short int uh_dport;
unsigned short int uh_len;
unsigned short int uh_check;
}; /* total udp header length: 8 bytes (=64 bits) */

После этого идут данные udp

В ip содержится длина пакета вместе с ip хидером. Нужно взять размер пакета в ip вычесть из него размер ip header и размер udp хидера, и тогда получим смещение на данные udp. А также вычитанием ip.length - смещение на данные = получим размер данных.

Надеюсь, я правильно думаю. Но как это реализовать? Помогите с кодом, пожалуйста. Ну хотя бы как эти 2 структуры (IPHeader и udpheader) объединить чтобы потом работать с ними. Есть еще один пример на Си, но он как то странно работает, за 10 минут записал в лог всего 2 пакета при актовном использовании интрнета.

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

Ответ #1 @Merlin 06.09.2012 13:00
Вот сам проект если вдруг не получится скомпилить по примеру

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

Добавить свой ответ в эту тему
Кодировка @i32 05.09.2012 17:29
Привет всем.Коннекчусь на вэб спомощью HttpWebRequest..Перепробовал общие кодировки
Все равно "квадраты".Может ли страница быть закодирована в base64 ?(просто погуглил что то
такое промелькало)И возможно ли это дело прочесть ? К примеру как
  Dim myStreamReader As New StreamReader(postresponse.GetResponseStream, System.Text.Encoding.GetEncoding(1251))
          thepage = myStreamReader.ReadToEnd
Спасибо..

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

Ответ #1 @Aleksey Nemiro 05.09.2012 18:53
Может ли страница быть закодирована в base64 ?
Dim myStreamReader As New StreamReader(postresponse.GetResponseStream, System.Text.Encoding.GetEncoding(1251))
Это не совместимые вещи. Если бы данные были в Base64, то на выходе был бы Base64.
Все равно "квадраты".
System.Text.Encoding.UTF8
Перепробовал общие кодировки
Достаточно открыть страницу в браузере и посмотреть, в какой она кодировке.

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

Ответ #2 @i32 06.09.2012 08:29
Страница разделена на 2 части .1-я UTF8Encoding 2-я записана в квадратах - Вот в чем и смысл.1 -я
открывается для юзера - 2-я параметры открытия 1-вой (что в принципе мне и хотелось посмотреть.)
Не знаю и base64 это все но попробую пока это.Тут под нарыл кое-что
Public
Function ToBase64(ByVal data() As Byte) As String
        If data Is Nothing Then Throw New ArgumentNullException("data")
        Return Convert.ToBase64String(data)
    End Function

    Public Function FromBase64(ByVal base64 As String) As Byte()
        If base64 Is Nothing Then Throw New ArgumentNullException("base64")
        Return Convert.FromBase64String(base64)
    End Function

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

Ответ #3 @i32 06.09.2012 08:39
Вернее там не квадраты (смотря через что смотреть)
JFPFъ7v—‹ч ю®ї&Cыр"BNДєІJHєrЈ™¦
ђ¬ЯюЊxU7Ы*±вс–x°Lд?I§'ўС%BЈ   M0‚I0‚1 2xш^МB†шЯАЭ{’кЧ—0  

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

Ответ #4 @Aleksey Nemiro 06.09.2012 10:42
Не знаю и base64 это все но попробую пока это
Base64 - это вот это: 3fLuIEJhc2U2NA==
Base64 - это позиционная система счисления с основанием 64. Система Base64 используется в электронной почте, как правило при передачи бинарных данных (файлы, картинки). Для кодирования используются символы английского алфавита (A-Z, a-z) и цифры (0-9), что в сумме составляет 62 знака, а для остальных двух знаков используются различные символы, в зависимости от разновидности Base64.

На веб-страницах Base64 как правило не используется, но иногда это возможно для внедрения в страницу каких-либо данных, не текстовых.
Тут под нарыл кое-что
Это не Base64, так что этот код не поможет.
Страница разделена на 2 части
Что значит разделена на две части? Если страница разделена на части с разной кодировкой, то и браузер не сможет её корректно отобразить.
1 -я открывается для юзера - 2-я параметры открытия 1-вой (что в принципе мне и хотелось посмотреть.)
Какие-такие параметры?

Адрес в студию! Ну или хотя бы html.

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

Ответ #5 @i32 06.09.2012 11:49
Типо такого...А ..Сюда только вставляется 1.я часть HML..А здесь не знаю как файл залить - пишет нужна авториз..
Поэтому так.
http://narod.ru/disk/60586838001.a20f69ec5d4712cd9941e08a72493320/c.rar.html
Файл открывается НОТЕПАДОМ..

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

Добавить свой ответ в эту тему · В теме есть еще 13 ответов. Смотреть все ответы.
Добрый день
У меня одна проблемка возникла!
Вообщем нужно сделать так, что бы при нажатии на кнопку в Combo1 добавлялось то, что написано на text1, но нужно что бы в Combo добавлялись слова только те, которые начинаются на stm.

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

Доброго времени суток, уважаемые.

На данный момент есть файл EXCEL с веб-запросом, по которому заполняются данные в ячейках:
http://10.89.250.69:9082/kasant/full_card.jsp?viol=["keyword","Num:"]&dor_kod=88&tab=1409045500

Есть желание изобразить нечто подобное в WinForm и DGV.
Уже 4 дня пытаюсь найти ответ в Google - безрезультатно.
Самому мне сдаётся, что надо как-то правильно ConnectionString написАть, ну и иже с ним..

Люди добрые - подскажите как?

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

Ответ #1 @Aleksey Nemiro 04.09.2012 17:03
Зависит от формата данных. У меня эта ссылка не открывается.

ConnectionString тут не поможет. Нужно делать запросы через HttpWebRequest, получать данные, обрабатывать и добавлять в DataGridView.

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

Ответ #2 @Сергей 04.09.2012 17:10
Привет, Алексей! (сейчас пью чай из твоей кружки)

Этот адрес и не откроется - он из нашей "местной сети" на работе.
Я тут на сайте в примерах порылся - ничего не нашёл.
Не подскажешь где это описано с примерами?

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

Ответ #3 @Aleksey Nemiro 04.09.2012 17:19
Примерно так:
Dim Request As HttpWebRequest = HttpWebRequest.Create("http://10.89.250.69:9082/kasant/full_card.jsp?viol=[""keyword"",""Num:""]&dor_kod=88&tab=1409045500")
Request.Method = "GET"
Request.AllowAutoRedirect = False

Dim responseString As String = ""

Using Response As HttpWebResponse = Request.GetResponse()
 Using responseStream As Stream = Response.GetResponseStream()
  Using reader As New StreamReader(responseStream, Encoding.Default)
   responseString = reader.ReadToEnd()
  End Using
 End Using
End Using

'данные полученные по ссылке будут в переменной responseString

PS: Если данные в XML, то все может быть проще.

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

Ответ #4 @Сергей 04.09.2012 17:31
Дело в том, что по этому запросу возвращается таблица. На веб-форме она тоже как таблица. В той строке всё что после ? - насколь я понял, это параметры запроса (код дороги, № оповещения и т.п.) Вот я и хотел как-нить в DGV всё это поместить... А если, как ты говоришь, все данные будут в одной переменной, то как они могут быть таблицей?

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

Ответ #5 @Сергей 04.09.2012 17:49
Хотя, нет.. там оно, скорее всего, при экспорте в ёксель как таблица получается. А какой вариант, если XML?
Могу на скайп кинуть экселевский для общего представления..

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

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

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

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

WPF Painter Micro

Visual Basic .NET: Графика @Shark1 02.09.2012 20:55
Простенькая "рисовалка" на WPF.
Минимум кода - максимум простоты.

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

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

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

Вакансии в IT

Программист (разработчик)

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

Программист-математик

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

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

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

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

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

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

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

Программист

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

Программист Visual Basic

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

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

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

Ведущий инженер-программист

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

Младший программист андроидовских платформ

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

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

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

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

Доменный регистратор Reg.ru получил аккредитацию ICANN

Регистратор доменных имен Reg.ru получил аккредитацию ICANN. Как пояснили в компании, статус аккредитованного регистратора позволит компании напрямую работать с реестрами доменных имен и обеспечивать своим клиентам безопасность и скорость обработки данных на более высоком уровне.

Корпорация Интернета по распределению имен и адресов (ICANN) аккредитовала регистратора российскую компанию в международных зонах .AERO, .ASIA, .BIZ, .CAT, .COM, .COOP, .INFO, .JOBS, .MOBI, .MUSEUM, .NAME, .NET, .ORG, .PRO, .TEL, .TRAVEL, .XXX. В настоящее время Reg.ru подключается к реестрам доменных имен – центральным базам данных соответствующего домена верхнего уровня, содержащим информацию о зарегистрированных доменных именах и соответствующих DNS-серверах. Подключение регистратора к реестрам будет осуществляться постепенно. В данный момент проводится подключение реестра зоны .ORG, в ближайшее время будут подключены .COM, .NET, .INFO, .BIZ, и .NAME. 

В любой доменной зоне регистрация доменного имени происходит либо через аккредитованного в этой зоне регистратора, либо через реселлера доменов. Ранее Reg.ru, как и большинство российских доменных регистраторов, осуществлял регистрацию доменов в международных зонах через своих партнеров – иностранных аккредитованных регистраторов.

Аккредитация ICANN означает признание соответствия компании стандартам осуществления функций регистратора доменов и предполагает заключение между регистратором и корпорацией договора об аккредитации. ICANN выдвигает определенные требования к техническому оснащению, финансовому обеспечению и другим сторонам деятельности аккредитуемого регистратора. Например, регистратор обязан продемонстрировать способность немедленного оформления на свое имя ликвидного капитала в размере не менее $ 70 000 и иметь полис страхования общей коммерческой ответственности с лимитом $ 500 000 и более.

Сегодня же другой российский доменный регистратор Webnames.ru сообщил о получении аккредитации в доменной зоне Казахстана. С сегодняшнего дня компания предоставляет возможность регистрации доменов .ҚАЗ всем желающим. Домен ҚАЗ предназначен для использования носителями казахского языка, а также размещения интернет-ресурсов на территории Казахстана. В мире насчитывается более 10 миллионов носителей казахского языка, из них более 4,3 миллионов являются пользователями интернета.

Домен ҚАЗ предусматривает использование символов национального алфавита Казахстана (Cyrillic (Kazakh), код по ISO «kk»). Сам домен верхнего уровня .ҚАЗ также содержит символ казахского национального алфавита "Қ". Срок регистрации домена - от 1 до 10 лет. Стоимость регистрации домена .ҚАЗ на 1 год составляет 700 рублей.

06.09.2012 10:57 · Категория: Бизнес в IT · Источник: CyberSecurity.ru

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

Asus прекратит выпуск нетбуков

Компании Acer и Asus свернут производство нетбуков. Отказ от линейки Eee PC подтвердил глава Asus Джерри Чен; Acer официального заявления пока не сделала. Одной из причин падения интереса производителей к нетбукам может быть отсутствие "дешевых" редакций в ОС Windows 8.

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

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

Microsoft откладывает дату выхода Windows Phone 8 SDK

В корпорации Microsoft обещали ранее выпустить набор Windows Phone 8 SDK в течение лета этого года, но сегодня признали, что не успевают сделать это и перенесли дату выхода на середину или конец осени года. В сообщении блога Windows Phone Developer Blog официальные представители Microsoft заявили о переносе даты запуска нового SDK. Теперь компания ожидает, что его выпуск состоится одновременно с самой операционной системой - 29 октября.

На будущей неделе, 12 сентября, Microsoft намерена предоставить подробные данные и инструкции о том, как нынешние разработчики приложений под Windows Phone с уже опубликованными приложениями могут получить практически законченную версию Windows Phone 8 SDK в ближайшие пару недель. Однако в Microsoft признали, что это количество разработчиков будет невелико и большинству придется ждать официального релиза.

06.09.2012 10:55 · Категория: Программирование · Источник: 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.
Kbyte.Ru является парнёром компаний Mail.Ru Group, WebMoney Transfer, Ozon.Ru и др.
Выпуск рассылки подготовлен автоматически. Все права на материалы выпуска принадлежат Kbyte.Ru если иное не указано отдельно.


В избранное