Современные решения

для защиты Windows приложений

и восстановления исходного кода

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)