Visual Basic 6.0 - Threads
Re: Threads
Hello, Dmitriy!
You wrote to "A Skrobov" <A Skrobov [@] p16.f1003.n5080.z2.fidonet.org>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"
Kozyrev [@] p148.f11.n5023.z2.fidonet.org>to Dmitriy Kozyrev on 17 Jul 04
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" <A Skrobov [@] p16.f1003.n5080.z2.fidonet.org>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"
Kozyrev [@] p148.f11.n5023.z2.fidonet.org>to Dmitriy Kozyrev on 17 Jul 04
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" <A. Skrobov [@] p2.f175.n5020.z2.fidonet.org>to A.
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" <A. Skrobov [@] p2.f175.n5020.z2.fidonet.org>to A.
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" <A. Skrobov [@] p2.f175.n5020.z2.fidonet.org>to A.
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 <tyomitch [@] r66.ru>
* From: "A. Skrobov" <tyomitch [@] r66.ru>
* 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"
Demidow [@] p35.f112.n5015.z2.fidonet.org>to Ruslan Demidow on 28 Jul 04
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" <serg [@] enseza.elcom.ru>
Wed Jul 28 2004 21:18, Igor Kagitin wrote to All:
IK> Подскажите пожалуйста как передавать данные массивного типа меж процедур?
IK> Публиковать массив я так понял нельзя. Пока есть варианты использовать БД
Почему нельзя.. можно.. но иожно использовать и ссылки - ключевое слова by
ref. Более подробно писать не буду, ибо боюсь ошибиться, а по ключевому слову
ты все найдешь либо в мсдне, либо в гугле...
можно и возращать (именно возращать) массив - но вот это я уже не помню как,
но помню, что это как-то не сложно делается:).
IK> или какой-нибудь грид, только имхо жирно будет с собой библиотеки их
IK> таскать.
Hу так создал бы свой класс - типа myarray, сделал бы там методы, push, pop,
доступ к элементу сделал бы.. да оно и не требуется - просто объявил бы там
массив как публик, а в функции и из функций возращал бы уже экземпляры этого
класса:)). Решение а-ля Си++:). Только не думаю, что это был бы самый быстрый
способ работы с массивами, хотя х.з...
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
Re: консоль с юникодом
Hello, Aleksej!
You wrote to "A Skrobov" <A Skrobov [@] p16.f1003.n5080.z2.fidonet.org>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)