Обсуждение программирования на Visual Basic в конференции ru.visual.basic
Re: Threads |
Мы где-то виделись, Roman? 16 Jul 04 22:17:57 в RU.VISUAL.BASIC Roman Yuakovlev -> A. Skrobov: RY> А в чем заключается 24 бита на видео? Я почему-то считал, что битов в RY> видеокарте либо 16 либо 32, 16 бит - High Color, каждое значение в буфере - не цвет, а индекс цвета в таблице цветов. 24 бита - True Color, нормальный цвет, по 8 битов на каждый канал (Red, Green, Blue). 32 бита - тот же True Color, только используется (непонятным мне образом) альфа-канал, который раньше был резервным. Посмотреть тот же RGBQUAD - там четвертое поле именно Reserved. RY> а на три делить/умножать очень медленно. А при чем тут вообще деление/умножение? Всего хорошего! Дмитрий Козырев aka Master * Origin: Дорогу осилит идущий. (2:5023/11.148) |
Re: Автозагpузка |
Мы где-то виделись, Roman? 16 Jul 04 22:23:47 в RU.VISUAL.BASIC Roman Yuakovlev -> Sergey Merzlikin: RY> А можно как нибудь, чтобы и в Win98 работало, и ShFolder.dll не RY> использовать? RY> Ведь раз в W98 есть эти папки, значит как-то путь к ним можно получить? Посмотри исходники проекта Setup1, которые лежат в папке %VBDIR%\Wizards\PDWizard. Всего хорошего! Дмитрий Козырев aka Master * Origin: Дорогу осилит идущий. (2:5023/11.148) |
Еще вопрос по VBA |
From: "Skull" Hello All! Существует ли Дескриптор (hWnd или Handle) у элемента (ComboBox) размещенного прямо в окне Excel? Если существует то как бы его получить. With best regards, Skull. * Origin: Demos online service (2:5020/400) |
Re: я понял, в чем моя проблема |
Hello, Roman! You wrote to "A Skrobov" to A Skrobov on 16 Jul 04 21:11:47: RY> Если писать в ОБЩУЮ! ПАПКУ! для ВСЕХ! ПОЛЬЗОВАТЕЛЕЙ!... RY> a. Если первым программу запустил и записал файл администратор, то RY> обычный пользователь уже не может писать в этот файл. RY> b. Если первым программу запустил и записал пользователь, то писать в RY> этот файл могут он и администратор. RY> надо, чтобы в случаях А и Б писать ф файл (All Users/Application Data) RY> могли ВСЕ! пользователи. Имхо это security hole - позволять _любому_ юзеру менять _общие_ настройки. Hу да ладно, устал я тебе объяснять, чего ты на самом деле хочешь. Хочешь NTFS permissions менять? Hа здоровье! =========Beginning of the citation============== Option Explicit ' Success status of high level access control APIs Private Const ERROR_SUCCESS = 0& ' Type of Securable Object we are operating in this sample code Private Const SE_FILE_OBJECT = 1& ' The Security Information constants required Private Const DACL_SECURITY_INFORMATION = 4& Private Const GRANT_ACCESS = 1& Private Const SET_ACCESS = 2& ' Standard access rights extracted from WinNT.h Private Const SYNCHRONIZE = &H100000 Private Const READ_CONTROL = &H20000 Private Const WRITE_DAC = &H40000 Private Const WRITE_OWNER = &H80000 Private Const STANDARD_RIGHTS_READ = (READ_CONTROL) Private Const STANDARD_RIGHTS_WRITE = (READ_CONTROL) Private Const DELETE = &H10000 ' Generic access rights extracted from WinNT.h Private Const GENERIC_ALL = &H10000000 Private Const GENERIC_EXECUTE = &H20000000 Private Const GENERIC_READ = &H80000000 Private Const GENERIC_WRITE = &H40000000 ' Inheritance Flags Private Const CONTAINER_INHERIT_ACE = &H2 Private Const OBJECT_INHERIT_ACE = &H1 ' The TRUSTEE structure identifies the user account, group account, or logon session ' to which an ACE applies. The structure can use a name or a security identifier (SID) ' to identify the trustee. ' Access control APIs, such as SetEntriesInAcl and GetExplicitEntriesFromAcl, use this ' structure to identify the account associated with the access-control or audit-control ' information in an EXPLICIT_ACCESS structure. Private Type TRUSTEE pMultipleTrustee As Long MultipleTrusteeOperation As Long TrusteeForm As Long TrusteeType As Long ptstrName As String End Type ' EXPLICIT_ACCESS structure that specifies access-control information for a specified ' trustee such as access mask as well as inheritance flags Private Type EXPLICIT_ACCESS grfAccessPermissions As Long grfAccessMode As Long grfInheritance As Long pTRUSTEE As TRUSTEE End Type ' High Level access control API declarations Private Declare Sub BuildExplicitAccessWithName Lib "Advapi32.dll" Alias _ "BuildExplicitAccessWithNameA" _ (ea As Any, _ ByVal TrusteeName As String, _ ByVal AccessPermissions As Long, _ ByVal AccessMode As Integer, _ ByVal Inheritance As Long) Private Declare Function SetEntriesInAcl Lib "Advapi32.dll" Alias _ "SetEntriesInAclA" _ (ByVal CountofExplicitEntries As Long, _ ea As Any, _ ByVal OldAcl As Long, _ NewAcl As Long) As Long Private Declare Function GetNamedSecurityInfo Lib "Advapi32.dll" Alias _ "GetNamedSecurityInfoA" _ (ByVal ObjName As String, _ ByVal SE_OBJECT_TYPE As Long, _ ByVal SecInfo As Long, _ ByVal pSid As Long, _ ByVal pSidGroup As Long, _ pDacl As Long, _ ByVal pSacl As Long, _ pSecurityDescriptor As Long) As Long Private Declare Function SetNamedSecurityInfo Lib "Advapi32.dll" Alias _ "SetNamedSecurityInfoA" _ (ByVal ObjName As String, _ ByVal SE_OBJECT As Long, _ ByVal SecInfo As Long, _ ByVal pSid As Long, _ ByVal pSidGroup As Long, _ ByVal pDacl As Long, _ ByVal pSacl As Long) As Long Private Declare Function LocalFree Lib "kernel32" (ByVal hMem As Long) As Long Private Sub Command1_Click() Stop Dim result As Long Dim pSecDesc As Long Dim ea As EXPLICIT_ACCESS Dim pNewDACL As Long Dim pOldDACL As Long ' Get the DACL information of c:\test1 folder using GetNamedSecurityInfo() API. ' SE_FILE_OBJECT constant says that the named securable object is a file or folder result = GetNamedSecurityInfo("H:\Documents and Settings\All Users\Application Data\MyApp", SE_FILE_OBJECT, DACL_SECURITY_INFORMATION, 0&, 0&, pOldDACL, 0&, pSecDesc) If result = ERROR_SUCCESS Then ' Construct an EXPLICIT_ACCESS structure for Everyone with GENERIC_READ access that will apply for c:\test1 ' as well as subfolder and files using BuildExplicitAccessWithName() API BuildExplicitAccessWithName ea, "Пользователи", GENERIC_ALL, GRANT_ACCESS, CONTAINER_INHERIT_ACE Or OBJECT_INHERIT_ACE ' Merge constructed EXPLICIT_ACCESS structure to the existing DACL and get an updated DACL in memory from ' SetEntriesInAcl() API result = SetEntriesInAcl(1, ea, pOldDACL, pNewDACL) If result = ERROR_SUCCESS Then MsgBox "SetEntriesInAcl succeeded" ' Call SetNamedSecurityInfo() API with the updated DACL in memory to change the DACL of c:\test1 folder result = SetNamedSecurityInfo("H:\Documents and Settings\All Users\Application Data\MyApp", SE_FILE_OBJECT, DACL_SECURITY_INFORMATION, 0&, 0&, pNewDACL, 0&) If result = ERROR_SUCCESS Then MsgBox "SetNamedSecurityInfo succeeded" Else MsgBox "SetNamedSecurityInfo failed with error code : " & result End If ' Free the memory allocated for the new DACL by the SetEntriesInAcl() API, using LocalFree() API LocalFree pNewDACL Else MsgBox "SetEntriesInAcl failed with error code : " & result End If ' Free the memory allocated for the security descriptor by the GetNamedSecurityInfo() API, using LocalFree() API LocalFree pSecDesc Else MsgBox "GetNamedSecurityInfo failed with error code : " & result End If End Sub =========The end of the citation================ Взято из support.microsoft.com/default.aspx?scid=kb;EN-US;295004 Если интересно, посмотри ещё groups.google.com/groups?selm=2107d358.b941080c%40usw-ex0103-023.remarq.com&output=gplain AS>> Если это настройки, имеющие отношение ко всем юзерам, то имеет AS>> смысл писать их, например, в %WINDIR%. RY> Обычные пользователи уже могут писать в %WINDIR%? Что-то я пропустил? Обычные пользователи, как видишь, и в All Users писать "по умолчанию" не могут... * Origin: I can't do it, Mr. Fox, sir. (2:5080/1003.16) |
Re: компонент таблица |
From: "Vyacheslav Davydenko" > Подскажите компонент таблицу для Visual Basic .NET, который бы позволял: > - в ячейку таблицы помещать checkbox; > - создавать строки с одной ячейкой. Т.е., например, первая строка состоит из > одной ячейки, со второй > по пятую строки содержать 5 ячеек, шестая - опять одну ячейку, и т.д. VSFlexGrid Позволяет группировать ячейки, выводить checkBox и многое др. Очень рульная библиотека. * Origin: MT-Bank (2:5020/400) |
Re: Поиск с учетом и без учета pегистpа |
Мы где-то виделись, Ruslan? 22 Jul 04 01:59:36 в RU.VISUAL.BASIC Ruslan Demidow -> All: RD> Анализ пpедыдущего пеpед словом и следующего после слова символов - это RD> пеpвое что мне пpишло в голову, но ведь если опpеделять целое слово по RD> символам до него и после (т.е. пpедположить что если до слова символ не RD> буква, и после слова символ не буква), то тогда я натыкаюсь на такую RD> пpоблему: А ведь в стpоке для поиска может быть набpано всё что угодно. И RD> вообще, что можно считать целым словом? То что между пpобелами или между RD> знаками пpепинания и табуляции, а так же пеpевода каpетки. Вот, блин, RD> задачку задал. :) Вот уже вpемя 1:57, а я всё никак допетpить не могу. :( См. апишку IsCharAlpha. Всего хорошего! Дмитрий Козырев aka Master * Origin: Дорогу осилит идущий. (2:5023/11.148) |
Re: XML: Schemas |
Мы где-то виделись, A? 21 Jul 04 22:28:53 в RU.VISUAL.BASIC A Skrobov -> мне: DK>> Впервые работаю со схемами. Сразу же возникла непонятка: DK>> DK>> xmlns:dt="urn:mydoc:datatypes"> DK>> В MSDN сказано, что namespace может быть любым, но парсер не принимает DK>> ничего, кроме "urn:schemas-microsoft-com:xml-data". Где я торможу? A> Плохо читаешь MSDN ;-) [...] A> Platform SDK -> Data Services -> XML (Extensible Markup Language) -> XML A> Reference -> XML Schemas, reference; schemas, reference Да, действительно плохо читаю... Спасибо. Всего хорошего! Дмитрий Козырев aka Master * Origin: Дорогу осилит идущий. (2:5023/11.148) |
Re: Поиск с учетом и без учета pегистpа |
From: Dmitry Miloserdov Привет, Ruslan, Thursday, July 22, 2004, 3:59:36 AM, ты писал: RD> Как pеализовать поиск в тесте только целых слов? RD> Анализ пpедыдущего пеpед словом и следующего после слова символов - это пеpвое RD> что мне пpишло в голову, но ведь если опpеделять целое слово по символам до RD> него и после (т.е. пpедположить что если до слова символ не буква, и после RD> слова символ не буква), то тогда я натыкаюсь на такую пpоблему: А ведь в стpоке RD> для поиска может быть набpано всё что угодно. И вообще, что можно считать целым RD> словом? То что между пpобелами или между знаками пpепинания и табуляции, а так RD> же пеpевода каpетки. Вот, блин, задачку задал. :) RD> Вот уже вpемя 1:57, а я всё никак допетpить не могу. :( Если ты делаешь свой диалог Find&Replace, то лучше не парится. Почему-то многие забывают, что это стандартный виндозный диалог, как выбор принтера/шрифта/цвета/файла. Смотри PSDK на тему: ms-help://MS.PSDK.1033/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/aboutcommondialogboxes/findandreplacedialogboxes.htm#_win32_Customizing_the_Find_or_Replace_Dialog_Box ms-help://MS.PSDK.1033/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/commondialogboxreference/commondialogboxfunctions/findtext.htm ms-help://MS.PSDK.1033/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/commondialogboxreference/commondialogboxstructures/findreplace.htm В последнем особое внимание обрати на константу FR_WHOLEWORD - это как раз то, что ты спрашиваешь. А вообще, задача поиска текста многократно сложнее обычного бинарного поиска, так как включает в себя очень много факторов. Я давно искал библиотеку (и даже сам мечтал сделать) такой search engine, которая работала бы наподобие поисковых систем (т.е. с учетом морфологии языка/окончаний/падежей/порядка слов/кодировки/артиклей/преффиксов/суффиксов). Hо очень быстро понял, что в одиночку такую сложную тему не поднять. -- Best regards, Dmitry Miloserdov * Origin: www.softmajor.com (2:5020/400) |
Re: разница в записи |
From: Alexander Asyabrik Привет, Dmitry. Вы, было дело, писали 22 июля 2004 г., 4:20: Продолжаешь говорить очень умными словами. DM> что конечно, дезавуирует мою фразу "... и откомпилированный код меньше." Переведи, не понял :( -- С уважением, Alexander 12:05:53 PM * Origin: Talk.Mail.Ru (2:5020/400) |
Unicode |
*** Ответ на сообщение из DELSOFT_SYSTEM.FOR_ME (Моя карбонка). CONNECT A /||*()*|| 21 Июл 04 22:17, A Skrobov sent this data to Aleksej R Serdyukov: AR>>>> Как читать текстовый файл в Unicode? AS>>> StrConv(To_Kuda_Prochital, vbFromUnicode) AR>> Hу, раз вручную, то... AS> Почему вручную-то? AS> =========Beginning of the citation============== AS> Dim To_Kuda_Prochital As String AS> Open "yourfile.txt" For Binary As 1 AS> To_Kuda_Prochital = Input(LOF(1), 1) AS> Close 1 AS> MsgBox StrConv(To_Kuda_Prochital, vbFromUnicode) AS> =========The end of the citation================ Файл заведомо больше 32Кб. AR>> Почему от последнего символа в строке читается лишь второй байт? AS> [Sorry, skipped] AS> Потому что емнип в режиме Random после EOF(DF) = True одну запись ещё AS> можно прочитать... Hе в конце файла, а в конце всех строк. AR>>>> scrrun.dll cannot be loaded. Что делать? AS>>> Звать телепатов ;-) AR>> А, ну да. :-) VB6 SP5, W2k Pro en, MS Office 2000. AS> Что делаешь-то? Когда это сообщение вылезает? Hажимаю OK/Apply в диалоге добавления компонентов, выбрав scrrun.dll. Возможно, нужен ocx, но на одном сайте было написано dll. Good bye now... * Origin: Delete Software Limited, Moscow, Russia. (2:5020/1042.42) |