Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Visual Basic: новости сайтов, советы, примеры кодов. Выпуск 316.


Информационный Канал Subscribe.Ru

Visual Basic: новости сайтов, советы, примеры кодов.
Выпуск 316.


VBNet VBMania
Ссылки:

  • GotDotNet
  • Улицы VB
  • Азбука VB
  • VB по русски
  • MDesign
  • DanSoft
  • Хрестоматия VB
  • VBCoder
  • Господа, читайте MSDN!

    Несколько слов от автора:

       Я на работу устроился... Поэтому, совмещая учебу и работу, на все остальное, включая рассылку, времени остается необходимый минимум, а иногда даже меньше :) Так что звиняйте, хлопцы, если рассылка будет выходить ненмного с перебоями!
    Читайте!


    Содержание выпуска




    Новости сайта VBNet

    Дата: 01.12.2004 20:10 | Раздел: Примеры кода | Автор: AFC

    Automatic File Copier - программа автоматизирует перенос файлов с одного сервера на другой. всё данные прописываются в ini: from_dir to_dir interval (seconds) еще одно условие. директории должны быть заранее созданы. ВНИМАТЕЛЬНО!!! программа именно ПЕРЕМЕЩАЕТ файлы! использованы куски кода http://vbnet.ru/samples/download.aspx?id=401 спасибо

    Дата: 01.12.2004 20:00 | Раздел: Статьи по VB | Автор: Салихов Рафаиль Ильдусович

    Обработка склонение ФИО - Обработка склонение ФИО

    Дата: 01.12.2004 19:55 | Раздел: Примеры кода | Автор: sne

    ApiByNameEx - сем уже знакомый ApiByName, но немного оптимизирован как в плане удобства, теперь параметры можно передавать массивом, так в плане и ассемблерногокода и процедуры его создания...

    Дата: 01.12.2004 19:55 | Раздел: Примеры кода | Автор: sne

    file2base64 - Пример реализации: - Сабклассинга (имеетсчя удобный модуль для множественного сабклассинга) - Кодирования в Base64 (при желении и обратно) - Реализации перетаскивания файлов на окошко программы.

    Дата: 01.12.2004 19:55 | Раздел: Примеры кода | Автор: sne

    LoadPic - Пример загрузки JPG\GIF файла на прямую, без сохранения его на диск!



    Последние 20 тем форума на VBNet.Ru:

    15:48 / 6 дек.  Перекодирование видео | Хитов: 2 |  Ответов: 0
    15:02 / 6 дек.  Image i TEXTbox | Хитов: 4 |  Ответов: 0
    12:20 / 6 дек.  MANIFEST&save as HTML | Хитов: 5 |  Ответов: 0
    11:54 / 6 дек.  так как же всетаки "вшить" звук в програ | Хитов: 9 |  Ответов: 1
    11:16 / 6 дек.  Мой компьютер | Хитов: 6 |  Ответов: 0
    04:51 / 6 дек.  Помогите плиз... Пример Winsock + ProgressBar | Хитов: 12 |  Ответов: 1
    02:17 / 6 дек.  набор номера | Хитов: 17 |  Ответов: 4
    00:19 / 6 дек.  Text Box другой проги | Хитов: 17 |  Ответов: 3
    19:08 / 5 дек.  Странное поведение XP | Хитов: 47 |  Ответов: 7
    18:58 / 5 дек.  Открыть URL методом POST | Хитов: 17 |  Ответов: 2
    17:49 / 5 дек.  Формат кодирования СМС | Хитов: 18 |  Ответов: 3
    16:43 / 5 дек.  иконка в трей 128x32 | Хитов: 19 |  Ответов: 1
    21:19 / 4 дек.  Тултипы для "широких" элементов ListView | Хитов: 45 |  Ответов: 8
    20:29 / 4 дек.  BaloonTip | Хитов: 25 |  Ответов: 2
    20:04 / 4 дек.  Mysql + PHP редактор | Хитов: 17 |  Ответов: 4
    19:46 / 4 дек.  Проблема со службой индексации | Хитов: 8 |  Ответов: 0
    18:23 / 4 дек.  Изменение фонового цвета меню | Хитов: 30 |  Ответов: 6
    16:44 / 4 дек.  админам | Хитов: 17 |  Ответов: 0
    14:51 / 4 дек.  "8181"??? | Хитов: 25 |  Ответов: 3
    12:40 / 4 дек.  Ход конём | Хитов: 16 |  Ответов: 0


    Последние поступления в Библиотеку кодов:



    наверх


    Новости сайта MSDN



    наверх


    Новости сайта GotdotNet



    Новые статьи:



    наверх


    Новости сайта dotSite

    Новые статьи:



    Новые примеры:



    наверх


    Один момент из жизни форума: Ждущий режим

    Адерес темы: http://vbnet.ru/forum/show.aspx?id=62912

    Вопрос:
    Автор вопроса: rascal

       Как можно программно заставить комп выйти из ждущего режима?


    Ответы:

    Автор: sne
       Попробуй послать сочетания клавиш, или подвигать программно мышью.



    наверх


    Вопрос/Ответ

    Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы.

    Вопросы:


    Автор вопроса: NeoN

    Ответ ожидается по этому адресу

       Нужно сделать программу, которая открывала бы документ Word, заменяла символы, печатала всё это в 3-х экземплярах и завершала свою работу.


    Автор вопроса: Пащенко А.

    Ответ ожидается по этому адресу

       Хотелось бы высказать несколько мыслей по поводу следующего вопроса:
    Есть N чисел. Как найти 3 числа, произведение которых максимальное?

    В рассылке было дано пять ответов, но, к сожалению, ни один из них не является правильным.

    Во-первых, произведение трёх максимальных чисел не обязательно будет максимальным. Например:

    1, 5, 8, -10, 6, -4

    Очевидно, что максимальное произведение дадут числа 8, -10, -4, а не 5, 8, 6.

    Во-вторых, ответы, предложенные "Ольга" и "C...R...a...S...H" находят максимальное произведение, но не находят самих чисел.

    Так что, делаем выводы...


    Автор вопроса: XuMuK

    Ответ ожидается по этому адресу

       Форма состоит из TabStrip с расположенным на нем Frame. Создал манифест, TabStrip стал в стиле XP - градиент от светлого к темному сверху вниз. Frame тоже стал XP-шным, но его однотонный фон выделяется на фоне градиентного TabStrip'а. Как можно сделать так, чтобы фон у Frame'а стал таким же как у TabStrip'а, короче, прозрачным?


    Автор вопроса: Retributor

    Ответ ожидается по этому адресу

       Честно говоря, я уже замучился искать ответ на этот вопрос. Но так как я его так и не нашел, повторю:
    Как программно провести громкостный анализ MIDI файла? Необходимы: возможность перемотки, регуляции громкости.
    Желательно пример с объяснением. Вывод визуалияации на манер винампа. Исходно: программа производит только анализ миди, не проигрывая музыку.


    Автор вопроса: Andrey

    Ответ ожидается по этому адресу

       Как можно соединить два модема подобно как делает HyperTerminal и переслать какой-нибуть текст?


    Автор вопроса: Andrey

    Ответ ожидается по этому адресу

       Как сделать неограниченный Undo/Redo для текста?


    Автор вопроса: AM

    Ответ ожидается по этому адресу

       Est printer Barcode ya pisal takoye code:

    Private Sub Command1_Click()
    Open "lpt1" For Output As #1
      Print #1, " " & Me![ITEM#]
      Print #1, " " & Me![DESC]
      Print #1, " " & Me![LIST_PRICE]
      Close #1
    End Sub

    Ya hotel pechatat kakoye-to text tolka ne na angliskom naprimer russki ili arabski,to dayot zakalaki
    Kak ya Magu vibrat font chtobi pechatal provel'na?
    Printer imeet svoye software i pechataet arabski normal'no, a cherez moye code ne poluchitsa.


    Автор вопроса: Dmitri

    Ответ ожидается по этому адресу

       Как задать координаты, по которым курсор мыши будет передвигаться и, в определённой точке (координате), сделать Click?


    Автор вопроса: NoName

    Ответ ожидается по этому адресу

       Как отправить почту на ящик незаметно для пользователя?


    Автор вопроса: NoName

    Ответ ожидается по этому адресу

       Программируя под VB столкнулся с проблемой: если в теле программы
    попадается большой цикл, программа использует чуть ли не все системные
    ресурсы (что тормозит комп). Может можно сделать как-нибудь небольшое
    прерывание в самом коде программы, не прибегая к GoTo, чтобы хотя бы снизить
    торможение?


    Автор вопроса: Andrey

    Ответ ожидается по этому адресу

       Как вытащить список всех юзеров из MSSQL в VB?




    Ответы:


    Вопрос:

       Пишу смотрелку фонтов.

    Знаю:
    Как установить фонт

    Не знаю:
    1. Как узнать внутренне название шрифта, имея файл шрифта?
    2. Как узнать, установлен ли уже этот шрифт (в принципе смогу, если буду знать первое)?
    3. Как деинстальнуть фонт или как инстальнуть его временно?

    Ответ:

    Автор ответа: Vir_rus

    Иди в реестр и смотри ветку:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
    Тут есть все установленные шрифты. Их названия и имена их файлов. Чтобы деинсталлировать шрифт, сначала удаляешь сам файл, а потом регистр. Пиши, если нужен модуль по работе с реестром.


    Вопрос:

       Подскажите пожалуйста, как сделать так, чтобы запустился одни экземпляр exe файла в VB6?

    Ответ:

    Автор ответа: Andrey

    sub form_load()
    ...
    if app.previnstance then
         unload me
    end if
    ...
    end sub



    Ответ:

    Автор ответа: Yachnev

    Вот как я делаю в своих прогах. Если есть легче вариант - сам им воспользуюсь, только подскажите какой.

    Private Sub Form_Load()
    'Запуск программы
    On Error GoTo .... 'Здесь вписываете переход на обработчик ошибок
    If App.PrevInstance = True Then 'Если предыдущая
                                     ' копия проги найдена, то ...
       atitle$ = App.Title 'Переменной присваиваем имя
                                     ' предыдущей копии /для того чтобы передать фокус/
       App.Title = App.Title & "1" 'Меняем имя второй копии программы, т.к.
                                     ' если мы его не сменим, то закроем обе копии сразу
       AppActivate (atitle$) 'Передаем фокус на первую копию, для
                                     ' того чтобы было видно что она есть
       End 'Завершаем работу второй копии программы
    End If

    'Здесь
    'и далее
    'продолжение
    'вашей программы
    End Sub



    Ответ:

    Автор ответа: Ольга

       If App.PrevInstance = True Then
         MsgBox "Приложение уже запущено!"
         End
       End If



    Ответ:

    Автор ответа: Bullet [PCLO]

    Попробуй так:

    If App.PrevInstance Then
         MsgBox "Программа уже запущена"
         End
    Else
         ... ' Код программы
    End If



    Ответ:

    Автор ответа: Пащенко А.

    Данный код ищет ранее запущенныю копию программы и показывает её окно.
      
    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal
    lpClassName As String, ByVal lpWindowName As String) As Long
    Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal
    cCmdShow As Long) As Long

    Dim PrevApp As Long, Res As Long
      
    If App.PrevInstance Then
         PrevApp = FindWindow(vbNullString, Me.Caption)
         If PrevApp <> 0 Then
             Res = ShowWindow(PrevApp, 9)
             Res = ShowWindow(PrevApp, 10)
         End If
    End
    End If



    Ответ:

    Автор ответа: Markelov Eduard

    /* Hi! */
    ERROR_ALREADY_EXISTS = 183L
    CreateMutex(NULL, TRUE, "YourProgramName")
    if GetLastError() = ERROR_ALREADY_EXISTS then
        ' good bye

    /* NEVER STOP THE MADNESS!!! */


    Вопрос:

       Как поменять в WinXP границы окна (заголовок и т.п.), как это делают другие программы типа Windows Blinds?

    Ответ:

    Автор ответа: Тоша

    BOOL SetWindowPos(

         HWND hWnd, // handle of window
         HWND hWndInsertAfter, // placement-order handle
         int X, // horizontal position
         int Y, // vertical position
         int cx, // width
         int cy, // height
         UINT uFlags // window-positioning flags
        );

       API. Вокруг да около :)


    Вопрос:

       Как лучше всего проверить, поменял ли пользователь время и дату? (Нужно для написания shareware).

    Ответ:

    Автор ответа: Тоша

       Дату запуска лучше хранить в реестре. После анинсталляции твоей проги дату не удаляем. Если пользователь ее заново установит, то она проверит в ключе {asfdljka324sdkjfasf} (к примеру :) ) зашифрованную дату и будет ругаться :)


    Вопрос:

       Как узнать загруженность CPU?

    Ответ:

    Автор ответа: Хатламаджиян

    Если это под виндами 95/98/ME, то код:

    Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
    Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String,
    phkResult As Long) As Long
    Private Declare Function RegQueryValueExB Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal
    lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long

    Public Sub GetCPU_notNT()
         Dim dwCPUUsage As Long, hKeyID As Long
         On Error Resume Next
         If RegOpenKey(HKEY_DYN_DATA, "PerfStats\StartStat", hKeyID) <> 0 Then Exit Sub
         RegQueryValueExB hKeyID, "KERNEL\CPUUsage", 0, 0, dwCPUUsage, 4
         RegCloseKey hKeyID
         If RegOpenKey(HKEY_DYN_DATA, "PerfStats\StatData", hKeyID) <> 0 Then Exit Sub
         Do While True 'бесконечно
             RegQueryValueExB hKeyID, "KERNEL\CPUUsage", 0, 0, dwCPUUsage, 4
             Sleep 200
             Label1.Caption = "Загруженность: " & CStr(dwCPUUsage) & "%"
             DoEvents
         Loop
         RegCloseKey hKeyID
         If RegOpenKey(HKEY_DYN_DATA, "PerfStats\StopStat", hKeyID) <> 0 Then Exit Sub
         RegQueryValueExB hKeyID, "KERNEL\CPUUsage", 0, 0, dwCPUUsage, 4
         RegCloseKey hKeyID
    End Sub

    а если под NT/2000/XP, то
    код:

    Private Type LARGE_INTEGER
         dwLow As Long
         dwHigh As Long
    End Type
    Private Type SYSTEM_BASIC_INFORMATION
         dwUnknown1 As Long
         uKeMaximumIncrement As Long
         uPageSize As Long
         uMmNumberOfPhysicalPages As Long
         uMmLowestPhysicalPage As Long
         uMmHighestPhysicalPage As Long
         uAllocationGranularity As Long
         pLowestUserAddress As Long
         pMmHighestUserAddress As Long
         uKeActiveProcessors As Long
         bKeNumberProcessors As Byte
         bUnknown2 As Byte
         wUnknown3 As Integer
    End Type
    Private Type SYSTEM_PERFORMANCE_INFORMATION
         liIdleTime As LARGE_INTEGER
         dwSpare(0 To 75) As Long
    End Type
    Private Type SYSTEM_TIME_INFORMATION
         liKeBootTime As LARGE_INTEGER
         liKeSystemTime As LARGE_INTEGER
         liExpTimeZoneBias As LARGE_INTEGER
         uCurrentTimeZoneId As Long
         dwReserved As Long
    End Type

    Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
    Private Declare Function NtQuerySystemInformation Lib "ntdll.dll" (ByVal dwInfoType As Long, ByVal lpStructure As Long,
    ByVal dwSize As Long, ByVal dwReserved As Long) As Long

    Public Sub GetCPU_NT()
         Dim liOldIdleTime As LARGE_INTEGER, liOldSystemTime As LARGE_INTEGER
         Dim SysTimeInfo As SYSTEM_TIME_INFORMATION
         Dim SysPerfInfo As SYSTEM_PERFORMANCE_INFORMATION
         Dim SysBaseInfo As SYSTEM_BASIC_INFORMATION
         Dim dbIdleTime As Currency, dbSystemTime As Currency
         Dim dwCPUUsage As Long
         If (NtQuerySystemInformation(3&, VarPtr(SysTimeInfo), LenB(SysTimeInfo), 0&) Or NtQuerySystemInformation(2&,
    VarPtr(SysPerfInfo), LenB(SysPerfInfo), ByVal 0&)) <> 0 Then Exit Sub
         liOldIdleTime = SysPerfInfo.liIdleTime
         liOldSystemTime = SysTimeInfo.liKeSystemTime
         Do While True 'бесконечно
             dwCPUUsage = 0
             If (NtQuerySystemInformation(0&, VarPtr(SysBaseInfo), LenB(SysBaseInfo), 0&) Or NtQuerySystemInformation(3&,
    VarPtr(SysTimeInfo), LenB(SysTimeInfo), 0&) <> 0 Or NtQuerySystemInformation(2&, VarPtr(SysPerfInfo), LenB(SysPerfInfo),
    ByVal 0&)) <> 0 Then Exit Sub
             dbIdleTime = LI2Currency(SysPerfInfo.liIdleTime) - LI2Currency(liOldIdleTime)
             dbSystemTime = LI2Currency(SysTimeInfo.liKeSystemTime) - LI2Currency(liOldSystemTime)
             If dbSystemTime <> 0 Then dbIdleTime = dbIdleTime / dbSystemTime
             dwCPUUsage = CDbl(100 - dbIdleTime * 100 / SysBaseInfo.bKeNumberProcessors + 0.5)
             liOldIdleTime = SysPerfInfo.liIdleTime
             liOldSystemTime = SysTimeInfo.liKeSystemTime
             Sleep 200
             Label1.Caption = "Загруженность: " & CStr(dwCPUUsage) & "%"
             DoEvents
         Loop
         Exit Sub
    EndCPUShowOST2:
    End Sub




    Можете заполнить эту форму, либо отослать вопрос СЮДА

    Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта.
    Текст сообщения:
    Ваше имя
    E-mail для ответа

    наверх


    Выпуск подготовили:

    Сурменок Павел

    http://subscribe.ru/
    http://subscribe.ru/feedback/
    Подписан адрес:
    Код этой рассылки: comp.soft.prog.vbnewsadvices
    Отписаться

    В избранное