← Декабрь 2001 → | ||||||
1
|
2
|
|||||
---|---|---|---|---|---|---|
3
|
4
|
5
|
6
|
8
|
9
|
|
10
|
11
|
12
|
13
|
15
|
16
|
|
17
|
18
|
19
|
20
|
22
|
23
|
|
24
|
25
|
26
|
27
|
29
|
30
|
|
31
|
За последние 60 дней ни разу не выходила
Сайт рассылки:
http://vbnet.ru
Открыта:
31-07-2001
Статистика
0 за неделю
Visual Basic: новости сайтов, советы, примеры кодов. Новогодний выпуск 22.
Visual Basic: новости сайтов, советы, примеры кодов.
Новогодний выпуск 22.
VB Студия
Голосование: Ваш голос отсылается по E-mail владельцу сайта, после чего голоса анализируются и на отдельной странице выводятся результаты. Subscribe.Ru увеличило максимальный размер рассылки до 100 кб. В связи с этим вопрос: Какого размера Вы хотели бы получать рассылку? В какой день (дни) недели Вы хотели бы получать рассылку "Visual Basic: новости сайтов, советы, примеры кодов."? С какой периодичностью Вы хотели бы получать рассылку "Visual Basic: новости сайтов, советы, примеры кодов."? Результаты голосования Доска почёта: Sergey Y. Tkachev Кононенко Роман Sergey Sapozhnikov Sobic Ссылки: |
Несколько слов от автора:
Это новогдний выпуск рассылки. Через несколько дней Новый год. В этом выпуске определяется победитель в конкурсе на лучший баннер, а также будут награждены самые активные участники раздела "Вопрос/ответ".
Читайте! Содержание выпуска
Конкурсы В десятом номере рассылки был объявлен конкурс на лучший баннер. Представлены 3 работы двух создателей. Это анимированные gif кнопки. Мы распределили места так: I место: Автор - Назаров Евгений II место поделили две кнопки: Автор - Anton B. Lozovski Автор - Anton B. Lozovski Главным критерием при присуждени мест был размер баннера. Назаров Евгений получает 5000 показов баннерообменной системы TLE.RU. Anton B. Lozovski получает 4000 показов сети TLE.RU. Все участники конкурса получают возможность разместить кнопку 88x31 на главной странице сайта VBСтудия. Также я решил наградить самых активных участников раздела "Вопрос/Ответ". Вот трое самых активных на мой взгляд участников: Они прислали больше всех ответов на вопросы. Но это не главное. Главное то, что они присылали грамотные, полные ответы. Sergey Y. Tkachev, Кононенко Роман и Kirill получают возможность разместить кнопку 88x31 на главной странице сайта VBСтудия наверх Citycat by Email
Программа Citycat by Email позволяет работать с сервером Subscribe.ru с
помощью электронной почты. Теперь Вам не нужно тратить деньги на работу в
online и просматривать мегабайты рекламы для того, чтобы подписаться на
нужную рассылку! Вам просто необходимо скачать небольшую базу данных по всем
рассылкам каталога с нашего сайта, после чего Вы сможете подписываться и
отписываться от рассылок, заказывать архивы прошлых выпусков, выполнять
поиск по каталогу рассылок и многое другое.
Программу Citycat by Email можно бесплатно загрузить с сайта http://sapisoft.h1.ru. наверх Новости сайта VB Студия
наверх Новости сайта VB Line 23 декабря 2001 г. Ну вот, так то лучше! Мой почтовый ящик за последние дни принял множество интересных примеров, статей и контролов. Итак, с сегодняшнего обновления, я буду их выкладывать на сайт. Не обижайтесь, если Ваш код появится не самым первым, а, например, к Новому году. Новоселов Андрей порадовал нас очень качественным и полезным контролом DublWindow. Контрол предназначен для отслеживания запущенных копий одной и той же программы и имеет множество интересных возможностей. Например, Вы можете обмениваться информацией между разными копиями и т.д. Рекомендую всем. Ковалев Сергей прислал контрол FlexGridPlus, созданный на основе всем известного FlexGrid, но имеющий несколько новых полезных свойств: TextEdit = true позволяет вводить текст в ячейки, свойство FormatString позволяет задать формат вводимого текста, если FormatString=1, то в ячейки можно вводить только числа и десятичные точки, а также рад других нужных свойств. Ну и напоследок еще два примера от SeRg, Сергей очень порадовал и прислал множество своих примеров, контролов. Большое ему спасибо. Итак, на сегодня я выбрал два примера: работа с FSO библиотекой и красивые стрелочные часики. Ну и на закуску новый сайт про ЭТО VBasic. Фууух, ну на сегодня хватит обновлений. 16 декабря 2001 г. В прошлый раз я предложил создать новый раздел ЖЗП. Ну и где Ваши истории? Пришло куча писем - "классный раздел, будет интересно", но НИКТО не решился написать о себе. Я обиделся... Еще вот что, каждый день на сайт приходит более 130 посетителей, которые, как я понимаю, являются программистами или считают себя таковыми. Так вот если каждый из Вас хотя бы раз в месяц пришлет на сайт пример, совет, контрол или что-нибудь еще, то будет очень много материала. Вам же будет лучше и легче программировать! Присылайте, жду. Ну да ладно, Новоселов А.Г. (интересно, а как же его зовут) прислал свой контрол, для решения задачки по запихиванию иконки в сис.трей (там где часики). И еще в разделе Статьи, добавил интересную статью Армена Мнацаканяна посвященную FSO - объектной модели файловой ситемы. наверх Новости сайта VBMania
наверх Вывод свойства Caption у контрола одновременно с вводом текста Это совет Михаила Эскина с сайта http://www.mik.h1.ru. Вы, наверно, неоднократно замечали что у стандартных контролов Label или TextBox при изменении свойства, отвечающего за вывод текста (Caption или Text соответственно) изменения на контроле происходят одномоментно с введением текста в окне свойств. У созданных Вами контролов такое изменение текста на контроле происходит только после подтверждения ввода клавишей ENTER. Однако VB позволяет исправить это положение. Создайте контрол, установите свойство AutoRedraw=True, а затем скопируйте нижеуказанный код. Ничего сложного в нем нет - просто создается одно свойство Caption, которое печатается на контроле. Option Explicit На тестировочной форме отобразите Ваш контрол и попытайтесь изменить его свойство Caption. Все происходит обычным порядком, т.е. текст обновляется только по нажатии ENTER. Перейдите в контрол и выберите меню Tools/Procedure Attributes ..., нажмите кнопку Advanced>> и для свойства Caption в выпадающем списке Procedure ID - выберите так же Caption. Нажмите ОК. Если сейчас в тестировочной форме вы попробуете изменить данное свойство контрола, то увидите, что это происходит одновременно и на самом контроле. Такая ситуация характерна не только для контролов, созданных с "нуля", но и для контролов, использующих готовые элементы управления (например Label). Если используете TextBox, то, соответственно, необходимо выбрать Procedure ID = Text. Из недостатков этого метода можно отметить два: 1. Если данное свойство используется по умолчанию (Procedure ID = Default), то второе ID ему присвоить уже нельзя. Хотя, в VB.Net свойств по умолчанию, вроде бы, не предвидится.
2. Если Вы используете, допустим, 2 или более Label, Caption которых имеют самостоятельные свойства. В данной ситуации Вы сможете такую манипуляцию провести только у одного из них.
Как узнать описание ошибки, возвращенной функцией API Если Вы используете API, то Вам пригодится следующий совет. Функции API, обычно возвращают код ошибки, а нам бы хотелось ещё узнать и ее описание. Оказывается сделать это не сложно. Нужно обратиться к функции FormatMessage из API. Она возвратит Вам описание любой ошибки по ее номеру, причем описание зависит от языка операционной системы, т.е. если у Вас установлена русская версия Windows, то и описание Вы получите на руссом языке. Ниже приведена функция, которая облегчает работу с FormatMessage. Private Function ApiErrorText(ByVal ErrNum As Long) As String Private Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" (ByVal
_ Именование закрытых переменных На каком бы объектно-ориентированном языке Вы ни программировали, наверняка сталкивались с проблемой именования переменных. Переменным, представляющим одно и то же значение, приходится присваивать разные имена. Допустим, Вы определили свойство FileName В программе имеется переменная с именем файла, и ее значение надо присвоить этому свойству. Программист, который придерживается венгерского именования, может назвать переменную как sFileName. Значение, присваиваемое свойству, на самом деле передается как аргумент в процедуру Property Let. Вы должны как-то назвать параметр, принимающий имя файла, на ум сразу приходит sFileName Теперь это же значение надо хранить внутри процедуры — и снова подходит sFileName. А как насчет самого свойства? Извне оно и выглядит, и пахнет как переменная, да и на вкус такое же. Что, опять sFileName. На практике совпадение имен внешней и внутренней переменных проблем не создает. У внешней своя область видимости, отличная от остальных, и в этом случае одинаковые имена допустимы. И все же лучше не применять венгерского именования в именах свойств, а не то Ваш код станет похож на бормотание индюка. thgMyThing.nMyCollection.iProperty. Кроме того, Вы сильно разойдетесь со схемой именования, принятой в элементах управления, формах и других предопределенных объектах. Да и неприлично это — навязывать другим свою схему именования. Остается конфликт между именем параметра в процедуре Property Let и именем внутренней переменной. Вы должны как-то различать их, даже если они относятся к одному и тому же. Имя внутренней переменной можно подправить двумя способами Например, в библиотеке MFC в таких ситуациях перед именем элемента класса всегда ставится префикс т_ (m_sFileName). При этом модификация имен не сказывается на процедурах Вот так то, это совет не от меня - его автор замечательный программист Брюс Мак Кинни. Так что слушайтесь его, он плохого не посоветует! наверх Как показать стандартный диалог выбора папки Вы уже неоднократно видели в различных программах окно выбора папки. А вот как его показать, ведь в Visual Basic такого элемента управления нет. Для этого воспользуйтесь нижеследующим кодом. Public Const MAX_PATH = 260 'Максимальное число символов в наименовании папки Function SelectFolder() As String наверх Используя ListView восстанавливайте ширину каждой колонки Если в своих программах Вы используете элемент управления ListView, то пользователь может менять ширину каждого его столбца. По правилам "хорошего тона" Вы просто обязаны сохранять эти значения в реестре, а затем, при следующем запуске программы, восстановить их. Для этого не следует изобретать "велосипед", а лучше всего воспользоваться моим кодом. Итак, воспользуйтесь двумя нижеследующими процедурами. Первая сохраняет, а вторая восстанавливает нужные значения. Каждая процедура имеет два параметра: ей передается ListView и имя секции в реестре, в которой будем сохранять значения (имя может быть любое). Кроме того если Вы читали мой совет №2 (на сайте), то Вам уже известны константы APP_NAME, KEY_SET. К ним прибавляется ещё одна COLUMN_WIDTH. В общем смысле эти константы задают имя ключа в реестре Windows, в котором хранятся настройки Вашей программы. Public Const COLUMN_WIDTH = "ColumnWidth" 'ширина колонок 'сохраняем ширину колонок таблиц в реестре SaveColumns Me.ListView1, "Table1" Для восстановления параметров в событие Load впишите вызов процедуры LoadColumns с пеми же параметрами. Вот, собственно и все. наверх Книги
Остальные книги о VB из магазина Колибри можно найти здесь. наверх Анонсы эхо-конференций СообЧа Хостинг. Где лучше?
Ну, сделал ты свою страничку. А дальше? Выбираешь
хостинг-провайдера и заливаешь ее для всеобщего
обозрения. И тут тебя ждет сюрприз — через неделю
пропадает связь с сервером, и на твой сайт уже
никто попасть не может. Судорожно летишь останавливать
показ баннеров. Через неделю повторяется то же самое.
Начинаешь задумываться о смене провайдера, но как же
выбрать, чтоб опять не ошибиться? Подписаться Сервисы в интернете
Интернет — это не только сайты с анекдотами и новостями.
Интернет — это еще и море всевозможных и разнообразных
услуг, платных и бесплатных. А что, вы о них знаете?
Ааа… знаете? Тогда поделитесь с другими.
А если не знаете — спросите. Подписаться Интернет-программирование
Вы хотите создать страницу в Сети, но не хотите
использовать различные готовые шаблоны или же уже
много умеете, но вам надоели гостевые книги и
конференции от других сайтов. Вы изучаете язык,
на котором хотите программировать в Интернет, но у
вас появляются различные вопросы. Для всего этого
и нужна группа SoobCha_Inet_Prog. Подписаться Графика
Вам нравиться рисовать? Надо обработать фотографии?
Создать баннер или логотип? У вас есть опыт работы
с рисунками, и вы хотите с ним поделиться? У вас
нет опыта, но вы горите желанием научиться? Тогда
вам сюда. В группе обсуждаются все вопросы,
связанные с двухмерной графикой. Подписаться Информатика в школе
Целью конференции, на первом этапе, является
объединение общеобразовательных школ, обмен
педагогическим и практическим опытом, а также
обсуждение, и перспективы - для разработки, методов
и программ направленных на улучшение преподавания
информационных технологий Подписаться наверх Доска объявлений Ищу телеработу.
наверх Мои программы BalloonMessage for MS Agent BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels. Автор: Шатрыкин Иван. Соавтор: Павел Сурменок. наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: alex Ответ ожидается по этому адресу Как подгружать на RunTime картинку(bmp)в приложение из файла mdb? Картинка линкуется в филде не из готового файла,а через Create New. Автор вопроса: Сергей Ответ ожидается по этому адресу Создание ярлыка. Из программы требуется создать ярлык на имеющийся файл (и поместить его в другую папку). Автор вопроса: Алексей Ответ ожидается по этому адресу На VBA никогда не программировал. Вопрос: в некой директории содержатся некоторое количество поддиректорий, в каждой поддиректории файлы с расширением rtf. Нужно написать макрос, чтобы эти файлы быстро сохранить в формате *.txt. Бегло изучив Help по VBA нашел как это делать с ActiveDocument, но не открывать же вручную все файлы. Автор вопроса: kisa Ответ ожидается по этому адресу Нужно перебрать файлы из директории по маске. Столкнулся с таким глюком (стандартный exampl в хелпе на FileName): При вызове поиска без маски, т.е. (.FileName = "") выводит все файлы. Когда маска не пустая и по маске найдены фаилы (должны быть найдены)- вызывается ошибка выполнения '5'(Недопустимый вызов процедуры или аргумент). Если же под маску файлы не попадают, тогда выводит сообщение, что таких файлов нету. Вопрос простой - где грабли Процедура в полном тексте: Sub CommandButton2_Click() With Application.FileSearch .NewSearch .LookIn = CommandButton1.Caption .FileName = "cmd*" If .Execute() > 0 Then MsgBox "There were " & .FoundFiles.Count & _ " file(s) found." For i = 1 To .FoundFiles.Count MsgBox .FoundFiles(i) Next i Else MsgBox "There were no files found." End If End With End Sub Автор вопроса: Андрей Юрьевич Ответ ожидается по этому адресу Вопрос вот в чем. Я хочу создать е-майл сообщение и отправить его из своей формы.Пишу как обычно: Dim out As Object Set out = CreateObject("Outlook.Application") Но на это обработчик ошибок мне выдает, что ActivX компонент не может создать объект,ошибка 429. Подскажите пожалуйста, как быть? Автор вопроса: Бранислав Ответ ожидается по этому адресу Если есть у кого-нибудь пример как делат из VB в 3Д график. Импорт dxf фајла в VB пројецт. Мя руский очен лучший Поздрављайет рускою Автор вопроса: Дмитрий Ответ ожидается по этому адресу Во-первых, всех читателей рассылки - с наступающим Новым Годом! Во-вторых, скажите мне - обычному бизнесмену, пытающемуся использовать VB (и очень недавно) для решения прикладных задач, ЧТО ТАКОЕ MSDN, С ЧЕМ ЕГО ЕДЯТ и КАК ЕГО УСТАНОВИТЬ? Все, наверное, поняли, что я не могу запустить справку в VB6 Prof. Буду очень и очень благодарен если кто-нибудь разъяснит мне это. Автор вопроса: Smoke Ответ ожидается по этому адресу Я хочу чтобы моя прога сохраняла текст из формы в текстовый файл после нажатия кнопки при помощи Microsoft Dialog Control 6.0, тоесть стандартного окна сохранения Виндоуз. Как мне это сделать? Автор вопроса: Фарит Ответ ожидается по этому адресу Как можно ия VB работать с портами ввода-вывода по их фияическому адресу? Автор вопроса: Дмитрий Ответ ожидается по этому адресу Люди добрые, помогите!!! Как сделать так, чтобы при вводе данных в БД в DBList набранное сортировалось по алфавиту, только на русском языке. Автор вопроса: alex Ответ ожидается по этому адресу Моё почтение! Ввиду моего дилетанства ,заранее приношу извинения за возможные некорректные формулировки аспектов вопроса. Ситуация. Моё приложение на VB 6 использует файл Access 2000. В полях таблицы этого файла,имеющих тип Text ,я без проблем пишу по-русски (весь "офис" у меня с русской поддержкой). Но при "вытаскивании" содержимого этих полей в TextBox-ы приложения ,получаю лишь набор ????? и т.д. На машине у меня 98-й windows(английский). Помогите ,пожалуйста, разобраться в причине проблемы.По-возможности, пример разрешения подобной ситуации, Ответы: Вопрос: Как сделать такую вещь: программа в процессе работы должна сделать паузу, ну скажем, на 2 сек. и в это время НИЧЕГО НЕ ДЕЛАТЬ! То есть просто подождать и продолжать выполнение работы. Ответ: Автор ответа: Александр Я использую API но можно и без нее использовать функцию Time это у меня кусок от класса для замера быстродействия так что я непеределывал ничего. Работает нормально Вызов Sleep(5) 'возвращает время в милисекундах Private Declare Function timeGetTime Lib "winmm.dll" () As Long Sub Sleep(dblSecond As Double) 'dblSecond- время в секундах на которое нужно подождать Dim lngTimeEnd As Long Dim lngTimeCur As Long lngTimeEnd = timeGetTime + (dblSecond * 1000) lngTimeCur = 0 Do While lngTimeEnd > lngTimeCur lngTimeCur = timeGetTime DoEvents Loop End Sub Вопрос: Как сделать такую вещь: программа в процессе работы должна сделать паузу, ну скажем, на 2 сек. и в это время НИЧЕГО НЕ ДЕЛАТЬ! То есть просто подождать и продолжать выполнение работы. Ответ: Автор ответа: Игорь Для начала нужно объявить в форме или в модуле (тогда печатать Private или Public соответственно) в разделе "(Generals)" объявить API-функцию Sleep следующим образом: Public Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long) Теперь вызвать эту функцию: Sleep(количество миллисекунд), где количество милисекунд это число от 1 до ~64000. Для справки: 1 минута = 1000 миллисекунд. Вопрос: Как сделать такую вещь: программа в процессе работы должна сделать паузу, ну скажем, на 2 сек. и в это время НИЧЕГО НЕ ДЕЛАТЬ! То есть просто подождать и продолжать выполнение работы. Ответ: Автор ответа: Yaroslav На примере я покажу, как можно реализовать функцию ожидания в VB. Вначале помести на форму таймер и установи его свойство Интервал = 1 и свойство Enable = False, две метки (Label1 и Label2) и кнопку. Напишите следуйщую подпрограмму и код события Таймер для таймера: Public Sub Wait(seconds) включение таймера Timer1.enable = True установка интервала таймера Timer1.interval = 1000 * seconds While Timer.Interval > 1 DoEvents Wend выключение таймера Timer1.Enable = False End Sub Private Sub Timer1_Timer() Timer1.Interval = 0 End Sub Теперь можете использовать функцию Wait везде, где требуется какая либо задержка, например: Private Sub Command_Click() Label1.Caption = Now Wait (5) Label2.Caption = Now End Sub Вот и всё :) Вопрос: У меня установлен MSVB6 отдельно от VisualStudio6 (пиратский CD по 70р.). Программы работают, компилятся, запаковываются в дистрибутив c помощью Package and Deployment Wizard, который говорит, что не нашёл зависимостей (Missing Dependency Information) с библиотеками msado20.tlb и msstdfmt.dll. Как итог - дистрибутив не ставится на удаленном компьютере, выдавая ошибку при инсталляции. Помогите разобраться, в чем дело? Ответ: Автор ответа: Mihail Bykov Package and Deployment Wizard вообще по сути своей глючен. Как откомпилишь - возьми где-нить MSInstaller и запакуй все сам. Там мона и связи библиотек указывать и какие библиотеки в реестре регестрировать и как шареные их делать или как приватные. Деинсталлятор создает. Строка для поиска: isetup-2.0.17.exe Лично я ей только и пользуюсь... Вот и все. Можешь попробовать LSB02bt9.exe - она покруче, но посложнее в подготовке пакета. Вопрос: Кто мне скажет, как сделать так, чтобы при нажатии на кнопку у меня отдельно открывалась те файлы которые я укажу? типа Private Sub Command1_Click() Open C:\windows\desktop\cool proga.exe 'или htm, jpg End Sub Или чето типа того, я не знаю. Цель: сделать autorun на диск в виде простой VB-формы с кнопками. Ответ: Автор ответа: Yaroslav Для запуска программы используется функцияShell с таким синтаксисом: Shell(Имя_Файла_программы[, Тип_Окна]) В следуйщем фрагменте кода с помощю функции Shell запускается калькулятор: Private Sub Command1_Click() Shell (C:\windows\calk.exe, vbNormalFocus) End Sub Вопрос: Есть текстовые данные,вываливающиеся в Excel в таблицу. Нужно анализировать строки таблицы пусто/заполнено и сортировать заполненные в определ. порядке (сверху вниз подряд без пропусков)Где про это прочитать? Пример есть у кого-нить? Ответ: Автор ответа: Kirill Первый же ответный вопрос -- в каком виде данные представлены в текстовом файле и как из этого текстового файла берутся? (можно ведь открывать текстовый файл с разделителями колонок как Excel'ный, или открывать как файл для последовательного чтения). У меня, собственно, куча самых разных примеров на эту тему (работа такая), все зависит от того, что надо. Анализировать же можно довольно просто -- при занесении данных в таблицу: Dim emptyRow As Boolean Dim i As Integer ' для нумерации строк исходного файла Dim j As Integer ' для нумерации столбцов Dim k As Integer ' для нумерации строк в выходном файле Dim dataStr As String '... 'цикл заполнения соотв. ячеек значениями For i = 1 To emptyRow = True For j = 1 To 'dataStr = Trim(...) If dataStr <> "" Then Cells(k, j).Value = dataStr emptyRow = False End If Next j If Not emptyRow Then k = k + 1 ' если строка не пустая увеличиваем счетчик строк в выходном файле Next i Потом упорядочить, зная количество записанных строк, довольно легко: Range(Cells(<N_перв_строки>, 1), Cells(<N_посл_строки>, <N_посл_столбц>)).Sort Columns(1) ' сортировка области ячеек по первому столбцу этой области Вопрос: я разаработакл кнопки и иконки для своего приложения. они у меня в гифе. в какой программе их пожно сохранить как .ICO или .CUR? Ответ: Автор ответа: Smoke Зайди сюда(это не реклама) www.ufa.com.ua - и найди какойнить конвертор. Вопрос: я разаработакл кнопки и иконки для своего приложения. они у меня в гифе. в какой программе их пожно сохранить как .ICO или .CUR? Ответ: Автор ответа: Кирилл Братищев IconEdit Pro V5.0. Попробуй - мне нравится (она там еще много чего умеет). Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
||||||
Выпуск подготовили: | Сурменок Павел и Шатрыкин Иван |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||