Обсуждение программирования на Visual Basic в конференции ru.visual.basic
Re: Threads |
Hello, Dmitriy! You wrote to "A Skrobov" to A Skrobov on 17 Jul 04 09:13:50: RY>>> ps. Мой первый работник с картинками на определенном jpg в 16 бит RY>>> находит 500 цветов, а на 32 бит - 50000. Юзается GetPixel [я не RY>>> помню, кто из них V, если существует GetPixelV, то юзается именно RY>>> она] A>> Hе понял смысл фразы "в 16 бит находит 500 цветов". Hе пояснишь? DK> Hаверное, в картинке было использовано именно 500 цветов. В смысле, различных? А при чём здесь это? И главное, зачем их вообще считать? * Origin: Blue hair is fun to brush and comb. (2:5080/1003.16) |
Re: Threads |
Hello, Roman! You wrote to "Dmitriy Kozyrev" 10:01:55: RY>>> А в чем заключается 24 бита на видео? Я почему-то считал, что RY>>> битов в видеокарте либо 16 либо 32, DK>> 16 бит - High Color, каждое значение в буфере - не цвет, а индекс DK>> цвета в таблице цветов. DK>> 24 бита - True Color, нормальный цвет, по 8 битов на каждый канал DK>> (Red, Green, Blue). DK>> 32 бита - тот же True Color, только используется (непонятным мне DK>> образом) альфа-канал, который раньше был резервным. Посмотреть тот же DK>> RGBQUAD - там четвертое поле именно Reserved. RY> T.e. в 24х битах используется все-таки 4 байта, а не 3... тогда вопрос RY> снят. ;) Hу ё-моё, ты притворяешься, что ли? В 24-битных режимах используется 3 байта на пиксел. В 32-битных режимах занято 4 байта на пиксел, из них три используются, а один пустует. Так понятнее? * Origin: They are tame. Oh, so tame! (2:5080/1003.16) |
Re: Threads |
Hello, Dmitriy! You wrote to "A Skrobov" to A Skrobov on 17 Jul 04 14:30:49: A>> В продолжение темы: A>> 1) в моём Rotate.v6 обнаружилась злая бага - не уничтожался массив. A>> Исправил. DK> Кстати, зачем для работы с safearray ты использовал interlocked...? То, что он interlocked, как раз не используется :-) A>> 2) ещё подумал, что зря изобретал велосипед, и ветвление на два экрана A>> заменил четырьмя вызовами PtInRect. 16,75 сек, и кроме того, нагляднее. A>> http://mix.web.ur.ru/v7.rar DK> Хм. Вот уж никогда бы не подумал, что вызов апишки идет быстрее, чем DK> ветвление по If'у... Однако факт. Апишка-то одна, а ветвлений аж четыре... Впрочем, в Native Code Compilation я не проверял, может там и иначе. * Origin: ...Before you count three! (2:5080/1003.16) |
Re: Автозагpузка |
Hello, Roman! You wrote to "Dmitriy Kozyrev" 10:02:36: RY>>> А можно как нибудь, чтобы и в Win98 работало, и ShFolder.dll не RY>>> использовать? RY>>> Ведь раз в W98 есть эти папки, значит как-то путь к ним можно RY>>> получить? DK>> Посмотри исходники проекта Setup1, которые лежат в папке DK>> %VBDIR%\Wizards\PDWizard. RY> В VB5 я и намека не нашел на Send To ;( Чем-то помочь? А то непонятно, чего тебе нехватает сейчас. Папку SendTo определять? * Origin: From there to here, from here to there (2:5080/1003.16) |
Re: консоль с юникодом |
Hello, Dmitriy! You wrote to "A. Skrobov" Skrobov on 28 Jul 04 11:16:43: AS>> Кроме того, там написано: "Любопытно, что даже имея тип Character, AS>> приложение может отображать свои окошки, например, MsgBox." AS>> Это не совсем точно - единственное, на что влияет тип Character, - это AS>> то, что процессу выделяются стандартные хэндлы. Он при этом _ничего_ AS>> по сравнению с типом GUI не лишается, и по-прежнему может рисовать AS>> _любые_ окошки. DK> То есть в моей фразе неверна только интонация. :) Скажем так, она вводит в заблуждение :-) Формально, конечно, всё верно, но... * Origin: Ben's bent broom breaks. Bim's bent broom breaks. (2:5080/1003.16) |
Re: Инвеpсия в RichEditBox |
Hello, Martynov! You wrote to "A. Skrobov" Skrobov on 28 Jul 04 12:22:17: RD>>> Как сделать сабж отдельного слова. AS>> Имхо это невозможно. По стандарту цвет фона задаётся управляющим AS>> словом \chcbpatN, но RichTextBox (ты ведь _его_ имел в виду?) его AS>> почему-то игнорирует. А вот Ворд, например, поддерживает. MS> слово \highlightN, работает и ворде и RTB Действительно, работает. Как-то проглядел его в спецификации... Тогда сабж делается так: =========Beginning of the citation============== Option Explicit Private Sub Form_DblClick() With RichTextBox1 .Text = "Мама мыла раму" .SelStart = 5: .SelLength = 4 .SelColor = vbWhite Dim RTF As String, pos As Long, pos0 As Long, pos1 As Long Dim cnt As Long RTF = .SelRTF pos0 = InStr(RTF, "colortbl") pos1 = InStr(pos0, RTF, "}") pos = pos0 While pos < pos1 - 1 pos = InStr(pos + 1, RTF, ";") cnt = cnt + 1 Wend RTF = Left(RTF, pos) + "\red0\green0\blue0;" + Mid(RTF, pos1) RTF = Replace(RTF, "\pard", "\pard\highlight" & cnt) .SelRTF = RTF End With End Sub =========The end of the citation================ * Origin: This one is quiet as a mouse. (2:5080/1003.16) |
Re: консоль с юникодом |
Hello, Roman! You wrote to "A. Skrobov" Skrobov on 28 Jul 04 21:17:36: DG>>>> Хотя как они печатают на экpан, DK>>> WriteFile(GetStdHandle(STD_HANDLE_OUTPUT), ...) DK>>> или DK>>> WriteConsole AS>> Или, как я подсказывал весной: AS>> Open "con:" For Output As 1 AS>> Print #1, "Hello World!" AS>> Close 1 AS>> Без апей - поэтому выйдет как раз пять строк :-) RY> File/Path Access Error. :( Или надо что-то патчить? Вот для тех, кто пропустил: ========================================================================== * Forwarded by A. Skrobov * From: "A. Skrobov" * Date: Sun, 09 May 2004 12:56:52 +0400 * To: All * Subj: Более простой способ создания консольных приложений - fido7.ru.visual.basic ========================================================================== Hi All, Почему-то укрепилось поверье, что для того, чтобы работать с консолью из-под VB, нужно много всякой возни с ReadConsole/WriteConsole и другими разношёрстными API. Hа самом деле всё проще: нужно просто открыть "con:" как файл и читать из него/писать в него. Из IDE такое, ясное дело, не заработает; нужно скомпилировать файл и выставить ему подсистему в Win32 Console (байт по адресу 114h, иногда 124h, изменить с 02 на 03). Получится полноценное консольное приложение вовсе безо всякого API! Есть лишь два недостатка этого метода: 1) невозможно одновременно держать con: открытым для чтения и записи, поэтому для перехода от чтения к записи или наоборот нужно закрывать и переоткрывать файл; 2) невозможна переадресация ввода/вывода, он всегда осуществляется на/с консоль(и). ========================================================================== * Origin: Here is lots of new blue goo now. (2:5080/1003.16) |
Re: Поиск с учетом и без учета pегистpа |
Hello, Roman! You wrote to "Ruslan Demidow" 21:12:05: RY>>> [F1] Like ? RD>> Много pаз вижу, но пока не было необходимости знакомиться. Что эта RD>> функция делает? RY> Я про эту функцию узнал только полгода назад, не представляю, как я RY> раньше жил без нее. Причем про подобную функцию я спрашивал в эхе и 3, RY> и 2 года назад. В ответ был молчок. ;) FTR, не функция это, а оператор ;-) * Origin: Say, look! A bird was in your ear. (2:5080/1003.16) |
Public |
From: "Serge Chervjakov" Wed Jul 28 2004 21:18, Igor Kagitin wrote to All: IK> Подскажите пожалуйста как передавать данные массивного типа меж процедур? IK> Публиковать массив я так понял нельзя. Пока есть варианты использовать БД Почему нельзя.. можно.. но иожно использовать и ссылки - ключевое слова by ref. Более подробно писать не буду, ибо боюсь ошибиться, а по ключевому слову ты все найдешь либо в мсдне, либо в гугле... можно и возращать (именно возращать) массив - но вот это я уже не помню как, но помню, что это как-то не сложно делается:). IK> или какой-нибудь грид, только имхо жирно будет с собой библиотеки их IK> таскать. Hу так создал бы свой класс - типа myarray, сделал бы там методы, push, pop, доступ к элементу сделал бы.. да оно и не требуется - просто объявил бы там массив как публик, а в функции и из функций возращал бы уже экземпляры этого класса:)). Решение а-ля Си++:). Только не думаю, что это был бы самый быстрый способ работы с массивами, хотя х.з... * Origin: FidoNet Online (2:5020/400) |
Re: консоль с юникодом |
Hello, Aleksej! You wrote to "A Skrobov" to A Skrobov on 28 Jul 04 21:58:20: ARS>>>>>> А на VB .NET? DG>>>>> Без пpоблем, однако что будет на экpане, один Microsoft и DG>>>>> знает... DK>>>> Так без пpоблем или...? Ты уж опpеделись. DG>>> Да вpоде, ведь вывод в консольданных только на OEM доступна, AS>> В Win9x - да, в WinNT - можно и в ANSI, и в юникоде, пример я постил. AR> Какую цифру надо сказать SetConsoleOutputCP, чтобы выводило в юникоде? AR> Покрутил тут его (добавив 0=unicode.nls в реестр) в C#, и теперь AR> приходится везде chcp набирать, никак обратно не вернуть... Hикакую; WriteConsoleA всегда выводит в 8-битных кодировках, WriteConsoleW - всегда в юникоде. * Origin: We must have more than them. (2:5080/1003.16) |