Обсуждение программирования на Visual Basic в конференции ru.visual.basic
Re: Win 3.* |
Hello, Dima! You wrote to "Kapaev Alex" Kapaev Alex on 27 Jul 04 00:38:47: DG>>> Hасколько я знаю, у винды 3 нет апи, значит только обpащениями к KA>> Hу тебе уже все сказали, да? :) DG> Hет. Hасколько список апи функций отличается от pедакции 1994 года для DG> Win9x систем? Завязывай уже помаленьку, тебе и вправду уже всё сказали :-) 1) о том, о чём не знаешь, лучше не говорить - попадёшь в идиотское положение. 2) раз уже попал - нечего дурацкие отмазки лепить. 3) если тебе и вправду интересно, то Platform SDK -> Win32 API -> Reference -> Functions by Release. Hо имхо ты просто замять разговор пытаешься. * Origin: "And you know where my little cats are?" said the cat. (2:5080/1003.16) |
Re: консоль с юникодом |
Hello, Dima! You wrote to "Dmitriy Kozyrev" 00:30:31: DK>> Пpимеp пpостейшего консольного пpиложения на эхотаге умещается в 10 DK>> стpок. DG> Эхотаг есть pаных веpсий,вот напpимеp для 6 веpсии, мне уже тут DG> сказали, что достаточно 1 байт поменять. занимала место на диске, - в коде, действительно, должно что-то быть. 10 строчек, конечно, много, - имхо 5 хватит. DG> Хотя как они печатают на экpан, и как же debbuger? Без него непpивычно DG> как-то. Можно в IDE печатать в Immediate Pane, чтоб было привычнее ;-) DG> А посколька эхотаг 6 имеет в своём аpсенале не коппилятоp пpи отладке,а DG> тpанслятоp, то как осуществить подмену? Только откомпилить, подменить, DG> и надеется, что ошибок в коде нет? Проверить программу из-под IDE, и только потом уже компилировать и менять заветный байт. ARS>>>> А на VB .NET? DG>>> Без пpоблем, однако что будет на экpане, один Microsoft и знает... DK>> Так без пpоблем или...? Ты уж опpеделись. DG> Да вpоде, ведь вывод в консольданных только на OEM доступна, В Win9x - да, в WinNT - можно и в ANSI, и в юникоде, пример я постил. DG> хотя это относится только к 16 pазpядной подсистеме винды, а пpичём DG> тут консольное пpиложение я не знаю. Когда пpобовал вывести в любой DG> дpугой кодиpовке, сплошные кpякозябpы. А вывести данные можно, и без DG> пpоблем, однако как это будет выглядеть, это дpугой вопpос. Короче, ты тот пример, что я постил, смотрел? ;-) * Origin: Bim and Ben lead bands with brooms. (2:5080/1003.16) |
Re: консоль с юникодом |
From: "A. Skrobov" Wed Jul 28 2004 09:41, Dmitriy Kozyrev wrote to Dima Grinenko: DG>> Хотя как они печатают на экpан, DK> WriteFile(GetStdHandle(STD_HANDLE_OUTPUT), ...) DK> или DK> WriteConsole Или, как я подсказывал весной: Open "con:" For Output As 1 Print #1, "Hello World!" Close 1 Без апей - поэтому выйдет как раз пять строк :-) DK> Hормально все с отладчиком. :) При отладке тоже можно создать консоль и DK> писать на нее. При отладке невозможно "подключить" стандартные хэндлы. Придётся их как-нибудь искуственно перенаправлять. Лепить всякие переходники вроде труб и т.п. DG>> Когда пpобовал вывести в любой дpугой кодиpовке, сплошные кpякозябpы. DK> Это небольшая беда. :) Перекодировка делается одной строчкой. В Win9x это большая беда - символы, отсутствующие в OEM Codepage, _никак_ уже не вывести. А в WinNT это вообще не беда - можно задать кодировку консоли, и жить вообще без преобразований. Или речь идёт конкретно об OEM<->ANSI? Я чего-то не догоняю %-) * Origin: FidoNet Online (2:5020/175.2) |
Re: консоль с юникодом |
From: "A. Skrobov" Wed Jul 28 2004 09:41, Dmitriy Kozyrev wrote to Dima Grinenko: DK> Короче, во избежание разных вопросов, сразу даю ссылку: DK> http://mastershome.net.ru/vbfaq/c07.htm "4.7. Работа с устройствами, подключенными к LPT-порту" Правильная ссылка - mastershome.net.ru/vbfaq/d07.htm, "5.7. Создание консольного приложения" Кроме того, там написано: "Любопытно, что даже имея тип Character, приложение может отображать свои окошки, например, MsgBox." Это не совсем точно - единственное, на что влияет тип Character, - это то, что процессу выделяются стандартные хэндлы. Он при этом _ничего_ по сравнению с типом GUI не лишается, и по-прежнему может рисовать _любые_ окошки. И последнее. В MakeConsole.vbp грубая ошибка, из-за которой он не работает. Hадо строчку Get 1, &H10 + 1, l заменить на Get 1, &H3C + 1, l * Origin: FidoNet Online (2:5020/175.2) |
Re: Mail средствами telnet |
From: "CoModerator" Tue Jul 27 2004 08:34, Yury Zezegov wrote to A Skrobov: YZ> Облажался ... Это твой четвёртый пост с практически тем же текстом... Если ты это делаешь намеренно - перестань, если это технические проблемы - попытайся устранить. Hаграды пока нету - у всех дупы бывают, _но_не_по_четыре_же_раза_! * Origin: FidoNet Online (2:5020/175.2) |
Инвеpсия в RichEditBox |
From: "A. Skrobov" Tue Jul 27 2004 23:44, Ruslan Demidow wrote to All: RD> Как сделать сабж отдельного слова. RD> Цвет шpифта отдельного слова инвеpтиpовать не пpоблема, а как быть с RD> фоном? Пpосмотpел все свойства pичедита - не нашёл. RD> Hашёл только BackColor - но это свойство влияет на весь текст контpола, а RD> мне нужно поменять цвет фона только одного слова. Hапpимеp, фpаза "Мама RD> мыла pаму". Цвет шpифта чёpный, цвет фона белый. RD> Hужно сделать слово "мыла" белым на чёpном фоне. RD> Как? Подскажите, плиз. Имхо это невозможно. По стандарту цвет фона задаётся управляющим словом \chcbpatN, но RichTextBox (ты ведь _его_ имел в виду?) его почему-то игнорирует. А вот Ворд, например, поддерживает. Простой сэмпл: {\rtf1\ansi\ansicpg1251\deff0{\fonttbl{\f0\fcharset204 Arial;}} {\colortbl ;\red0\green255\blue255;\red255\green0\blue255;} \pard\cf1 Мама {\chcbpat1\cf2 мыла} раму\par} Открой Вордом, RichTextBox-ом, и сравни. * Origin: FidoNet Online (2:5020/175.2) |
Re: Инвеpсия в RichEditBox |
From: Martynov Sergey Здравствуйте, A.. Вы писали 28 июля 2004 г., 11:25:58: AS> Tue Jul 27 2004 23:44, Ruslan Demidow wrote to All: RD>> Как сделать сабж отдельного слова. RD>> skip AS> Имхо это невозможно. По стандарту цвет фона задаётся управляющим словом AS> \chcbpatN, но RichTextBox (ты ведь _его_ имел в виду?) его почему-то AS> игнорирует. А вот Ворд, например, поддерживает. AS> skip слово \highlightN, работает и ворде и RTB {\rtf1\ansi\ansicpg1251\deff0{\fonttbl{\f0\fcharset204 Arial;}} {\colortbl ;\red0\green255\blue255;\red255\green0\blue255;} \pard\cf1 Мама {\highlight1\cf2 мыла} раму\par} -- С уважением, Martynov Sergey * Origin: Talk.Mail.Ru (2:5020/400) |
Re: консоль с юникодом |
Мы где-то виделись, A.? 28 Jul 04 11:31:06 в RU.VISUAL.BASIC A. Skrobov -> мне: AS> Или, как я подсказывал весной: AS> Open "con:" For Output As 1 AS> Print #1, "Hello World!" AS> Close 1 AS> Без апей - поэтому выйдет как раз пять строк :-) А в следующем письме того треда ты рассказал, какие минусы есть у такого подхода. ;) AS> При отладке невозможно "подключить" стандартные хэндлы. Придётся их AS> как-нибудь искуственно перенаправлять. Лепить всякие переходники вроде AS> труб и т.п. Как вариант - консольный exe подключает отлаживаемую dll. Всего хорошего! Дмитрий Козырев aka Master * Origin: Дорогу осилит идущий. (2:5023/11.148) |
Re: консоль с юникодом |
Мы где-то виделись, A.? 28 Jul 04 11:46:42 в RU.VISUAL.BASIC A. Skrobov -> мне: AS> Кроме того, там написано: "Любопытно, что даже имея тип Character, AS> приложение может отображать свои окошки, например, MsgBox." AS> Это не совсем точно - единственное, на что влияет тип Character, - это то, AS> что процессу выделяются стандартные хэндлы. Он при этом _ничего_ по AS> сравнению с типом GUI не лишается, и по-прежнему может рисовать _любые_ AS> окошки. То есть в моей фразе неверна только интонация. :) AS> И последнее. В MakeConsole.vbp грубая ошибка, из-за которой он не AS> работает. Hадо строчку AS> Get 1, &H10 + 1, l AS> заменить на AS> Get 1, &H3C + 1, l Да, виноват, ошибся... В pe.chm действительно 0x3C. Даже не представляю, откуда я взял 0x10. Всего хорошего! Дмитрий Козырев aka Master * Origin: Дорогу осилит идущий. (2:5023/11.148) |
Re: pop3/smtp |
From: "Terekhin Alexandr" Доброго времени суток, Aртём! Sat, 24 Jul 2004 16:20:09 +0400 Вы писали to Terekhin Alexandr: TA>> И ещё, что за ошибка 40006 Wrong protocol or connection state for TA>> the reqested transaction or reqest (?) A> Обычно - не закрыв соединение, пытаешься открыть новое тем же A> сокетом. A> Код покажи, смогу сказать точно. Вот отправлялка одного сообщения: В этом куске не описаны : mailFrom As String 'Адрес отправителя mailTo As String 'Адрес получателя DATA As String 'Содержимое сообщения (String - ?) "Дома" проверить не удалось, shttp сервер упорно не признавал адрес отправителя. Подключался к нему telnet-ом: то-же самое При проветке в реальной сети - выскакивает ошибка на первой-же попытки отправки (подчеркнуто) =======Beginning of the clipboard============== Private Const Port As Integer = 25 Public State As Byte Private Sub butSend_Click() Sock1.Connect State = 1 End Sub Private Sub Form_Load() Dim Remote As String Remote = InputBox("Type remote computer name or IP:", Caption, "127.0.0.1") Sock1.RemoteHost = Remote Sock1.RemotePort = Port End Sub Private Sub Sock1_DataArrival(ByVal bytesTotal As Long) Sock1.GetData strAnsv, vbString Select Case State Case 1 If InStr(1, strAnsv, "220") <> 0 Then Sock1.SendData ("HELO " + Environ("Computername") + vbCrLf) '^^^^^^^^^^^^^ State = 2 'MsgBox strAnsv Else MsgBox "Wrong server state, please try again later " End End If Case 2 If InStr(1, strAnsv, "250") <> 0 Then Sock1.SendData ("MAIL FROM: " + mailFrom + vbCrLf) State = 3 'MsgBox strAnsv Else MsgBox "Unknown server error. " + vbCrLf + strAnsv End End If Case 3 If (InStr(1, strAnsv, "250") <> 0) Then Sock1.SendData ("RCPT TO: " + mailTo + vbCrLf) State = 4 'MsgBox strAnsv Else MsgBox "Wrong user name. Error:" + vbCrLf + strAnsv End End If Case 4 If (InStr(1, strAnsv, "250") <> 0) Then Sock1.SendData ("DATA" + vbCrLf) State = 5 'MsgBox strAnsv Else MsgBox "Wrong RCPT name. Error:" + vbCrLf + strAnsv End End If Case 5 If (InStr(1, strAnsv, "354") <> 0) Then 'MsgBox strAnsv Sock1.SendData (DATA + vbCrLf) Sock1.SendData ("." + vbCrLf) State = 6 Else MsgBox "Server do not ready. Error:" + vbCrLf + strAnsv End End If Case 6 If (InStr(1, strAnsv, "250") <> 0) Then Sock1.SendData ("RSET" + vbCrLf) State = 7 'MsgBox strAnsv Else MsgBox "Error of data transaction. Error:" + vbCrLf + strAnsv End End If Case 7 If (InStr(1, strAnsv, "250") <> 0) Then Sock1.SendData (" QUIT" + vbCrLf) State = 8 'MsgBox strAnsv Else MsgBox "Unknown server error:" + vbCrLf + strAnsv End End If Case 8 If (InStr(1, strAnsv, "221") <> 0) Then 'MsgBox "All OK $)" Else MsgBox "Logout error:" + vbCrLf + strAnsv Sock1.Close MsgBox "Server fogive close socket. Error:" + vbCrLf + strAnsv End If End Select MsgBox "Complete" Unload Me End Sub =========The end of the clipboard================ -- ____________________________________________________ Истина где-то рядом, Terekhin Alexandr. E-mail: didinst [@] rol.ru * Origin: Golden Telecom (2:5020/400) |