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

Visual Basic для новичков и профессионалов


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

Visual Basic для новичков и профессионалов # 43
Выпуск от 2005-10-06 03:38:05 - Архив Рассылки


Сегодня в выпуске:
>
Новости сайта
>
Курс обучения для начинающих
>
Статья выпуска
>
Вопросы и ответы
>
Компоненты, контролы, исходники
>
Наши партнеры
Бред автора

Здравствуйте уважаемые подписчики!

Начну с сайта. Наш сайт продолжает глобальное обновление и оно может еще продолжиться несколько недель, так как времени на разработку сайта мало. Что будет нового после обновления? Расскажу подробней: прежде всего я заострю внимание на разрабатываемой QA-системе (Question/Answer System), которая может и не скоро появится в сети. Что означает QAS? QAS - система вопросов и ответов сайта VisualBasic.noka.ru, где каждый подписчик или просто посетитель (при условии регистрации) может давать вопросы и ответы в рассылку, которую Вы читаете в данный момент. Преимущественно в системе будет присутствовать функция "Эксперт", т.е. каждый подписчик может стать Экспертом рассылки. Каждому эксперту отправляются вопросы, поступающую в систему. За каждый ответ начисляются баллы, статус эксперта растет от посетителя до профессора. В общем все это Вы увидите обязательно позже и испробуете.
Регистрация. Регистрация кардинально изменилась, добавилось множество пунктов, т.е. регистрационная информация представляется в виде анкеты пользователя. Сейчас на сайте регистрация и вход в "личный кабинет" временно заблокирован во избежание несовпадения информации (разные пароли). Теперь, войдя в личный кабинет, Вы сможете посмотреть количество скачанных Вами файлов, количество баллов в QAS, сменить пароль, а также удалить аккаунт.
Статистика. Немного совершенствовалась статистика сайта, теперь ясно видно, сколько человек в данный момент просматривают сайт, сколько было хитов/хостов, скачано файлов.
Голосование. Изменился скрипт голосования, немного усовершенствована система голосований.
Лучшая TOP-20 файлов на сайте. На главной странице теперь можно с легкостью узнать самые популярные файлы на сайте.
Статьи. Пеперь Вы можете поставить оценку любой из статей всего одним кликом!
Исходники. Теперь на странице исходников можно увидеть и прочитать подробней о каджом исходнике, а также узнать о популярности каждого файла.

В общем, все это и много другое скоро, скоро будет на сайте, а пока читайте рассылку!


Внимание! Ссылки на ресурсы сайта (прикрепленные файлы к ответам) не работают до конца обновления! Просьба участников рассылки не присылать пока файлы в письмах. После обновления в рассылке будут опубликованы все ссылки на файлы из вопросов!


Правила рассылки
1. Вопросы, касающиеся другой сферы программирования, а также сферы ПО - НЕ ПРИНИМАЮТСЯ!
2. Письма с указанием ссылок на какой-либо ресурс или сайт будут отвергнуты, либо ссылкы будут заменены на <РЕКЛАМА> и не будут опубликованы в рассылке!
3. Используйте текстовый (не HTML) формат писем при написании вопроса или ответа.
4. ПИСЬМА С СОДЕРЖАНИЕМ ТИПА "ПИШИ СЮДА, Я ТЕБЕ ВЫШЛЮ ИСХОДНИК", ЛИБО "НАПИШИ МНЕ, Я ТЕБЕ ОБЪЯСНЮ" БОЛЬШЕ НЕ ПУБЛИКУЮТСЯ! ЕСЛИ ВЫ ХОТИТЕ ПОДЕЛИТЬСЯ ФАЙЛОМ, ПРИСЫЛАЙТЕ ЕГО АВТОРУ РАССЫЛКИ. ЭТО ВАМ НЕ ФОРУМ И НЕ СЛУЖБА СООБЩЕНИЙ МЕЖДУ ПОДПИСЧИКАМИ!
5. Если Вы присылаете некорректные вопросы, они будут рассмотрены автором и откорректированы. Вопросы, смысл которых будет не понятен, либо не найден, будут перезапрошены у отправителя вопроса.
Новости сайта www.visualbasic.noka.ru


Темы ФОРУМА:

Visual Basic / Basic не в пачёте?
FAQ Visual Basic / Моя первая программа
FAQ Visual Basic / Установка системных настроек принтера
FAQ Visual Basic / Последняя версия VB
Все об ActiveX / MS Agent's
FAQ Basic / Шифрование данных
Предложения и пожелания / Комментарии к статьям

Вопросы и ответы

Наши лидеры:

Место
Имя (ник)
Счет
1
Игорь (=)
167
2
*Casper* (=)
86
3
Андрей (=)
64
4
Bullet [PCLO] (+)
59
5
Stormbringer (-)
57
6
Bourn None (=)
52
7
HouseBugs (=)
50
8
AGavrilov (=)
28
9
Андрей (now@) (=)
24
10
Артемий (New!)
23


(+) - на место выше, (-) - на место ниже, (=) - прежнее место, (New!) - впервые в таблице.

Всего участников: 80
Общее число баллов: 1068
Максимальный счет: 167
Минимальный счет: 0

Новые вопросы

166/ Создал Программу: при ОК на кнопку выходит очередной Перл.
Каждый Перл пронумерован. Как спрограммировать на VB6, чтобы при клике на кнопку Найти Перл или хотя бы его Номер по СЛОВУ? Если требуется перешлю Исходник (в архиве 15 Кб).
[Ответить]
167/ Здравствуйте
Как получить спектр музыкального файла?
[Ответить]
168/ Для скачки файла из инета я использую в своей проге такой код:

Private Function DownloadFile(ByVal FromUrl As String) As String
'процедура загрузки файла
Dim hSession As Long

Dim hFile As Long
Dim LLenthFile As Long
Dim AllFile As String
Dim fBuffer As String
Dim Ret As Long

hSession = InternetOpen("прога", 0, "", "", 0)
DoEvents

hFile = InternetOpenUrl(hSession, FromUrl, "", 0, 0, 0)
Do
DoEvents
fBuffer = Space(1024)
InternetReadFile hFile, fBuffer, 1024, Ret
If Ret <> 1024 Then fBuffer = Left$(fBuffer, Ret)
AllFile = AllFile & fBuffer

Loop Until Ret = 0
InternetCloseHandle hFile
InternetCloseHandle hSession
DownloadFile = AllFile
End Function

но он подвисает, думаю что в цикле Do(скачиваю много файлов)
как сделать лучше(но без контролов)?
[Ответить]
169/ Hi.Есть такой вопрос: Еть сайт на котором есть небольшая картинка и она
не постояна тоесть, надо утянуть картинку из определённой части сайта
или хотябы узнать какая картинка загружена в етот момент на сайте? (url
картинки постоянно меняется.). Заранее спасибо.
[Ответить]
170/ Здраствуйте.
Столкнулся со следующей проблемой:
Как передать в приложение строку с пробелами и кирилицей в имени файла.
"D:\Program Files\IrfanView\i_view32.exe C:\мои картинки\мой рисунок.jpg"
, где "i_view32.exe" программа обработки графики.
[Ответить]
171/ Загоняю в ListView список файлов в директории. стиль report.
Проблема - отобразить рядом с файлами значки соответствующих расширений, короче сделать проводник в стиле "таблица". Если подскажете буду благодарен.
[Ответить]
172/ вопрос по RAS:
как получить параметры имеющихся на компе соединений(dial-up)?
[Ответить]


Вопросы, ответы на которые не были получены

40/ Здраствуйте ! У меня к вам будет один вопрос. Можно ли на ВБ (у меня установлена 6-я версия программы) сделать поиск подключенных компьютеров по локальной сети.Мне нужно узнать их ай-пи адрес и желательно имя компьютера. Я начинающий программист, если можно, обьясните более подробно. Заранее спасибо [Ответить]
63/ Здравствуйте! Как сделать столбец для таблицы с помощью VB который будет показывать номера кварталов с min зарплатой(в таблице 4 квартала). Другой столбец - Динамика изменения средней зарплаты по кварталам (рост, падение, колебание, постоянно)\ нужно найти среднее знаение среди записей каждого отдела и чтобы написал динамику изменени, то что напискано в скобках, одно слово. [Ответить]
76/ podskazhite pozhalusta, kak pravil'nee pristupit' k sozdaniu tablic i kakogo roda tablica nujna dlya vvoda, obrabotki i rascheta dannix, na VB.net. mne bazu sozdavat' ne nado. Zaranee spasibo [Ответить]
88/ Здравствуйте. У меня такой вопрос: можно ли из VB послать команду так, чтобы включилась удалённая машина в сети, на которой включен WakeUp on LAN. Если да, то как? За ранее спасибо за оказанную помощь! [Ответить]
99/ Здравствуйте. Создается регистратор переговоров. Подскажите, пожалуйста, каким образом записать звук в файл, чтобы в дальнейшем можно было открыть его и прослушать? Заранее спасибо. [Ответить]
100/ Здравствуйте. Меня интересует протокол ZModem или подобный. Спасибо [Ответить]
111/ У меня к компу подключен принтер который в сети сделан общедоступным, можно ли сделать такое, чтобы если кто-то с другого компьютера послал что-нибудь ко мне на печать, то это застопорилось, а то я шнур принтера от компьютера включаю то в лазерный принтер, то в матричный (взависимости от того, что надо печатать), а в винде он у меня установлен как лазерный. А если мне пошлют на печать документ, когда у меня
матричный подключен ??? знаете какая кака-бяка получается...

Заранее благодарен Евгений
[Ответить]
115/ Как при работе в сети при разрыве связи можно узнать, что связь разорвана
удаленным сервером или локальной программой (ошибка 600)?
[Ответить]
117/ Как сделать чтобы при выборе шрифта с помощью Microsoft CommonDialog менялся
и набор символов (Кириллица, Западноевропейский и т.п.)? Спасибо.
[Ответить]
122/ Как сделать чтобы при нажатии на объект ListView НЕ воспроизводился тот
идиотский звук, который воспроизводится?
[Ответить]

130/ Доброго времени суток, User`ы. Подскажите пожалуйсто, как в VB 6.0 к какому-либо устройству в порте COM по определённому адресу? Благодарю за внимание и за ответ. Спасибо. [Ответить]
136/ Здравствуйте!
У меня возникла проблема: для создания страниц сайта специфической тематики (математика) требуется программа, способная сохранять введенные пользователем в объект Equation данные в формате gif или png [как это делает MS Word, при сохранении документа в html формате. Т.е. технологический процесс такой: введение формул в Ворде, сохранение в html -> получение рисунков -> верстка страницы].
Сохранять данные в виде рисунка не проблема, но размер у них не такой какой необходим. Это и есть проблема: как сделать так, чтобы OLE объект со вставленным Equation'ом, изменял свои размеры в соответствии с изменениями размеров Equation'а (как это реализовано в MS Word)
[Ответить]
144/ Подскажите: есть MySQL база, в ней есть какбы ячейки с номером,
например 84538834 или 444449329232, эти ячейки содержат информацию -
числа например 100 332 или 50.
Как можно средствами VB сделать программу которая искала бы в
этой базе значения этих ячеек равные нулю и удаляла бы их, и самое
главное нужен отчет о номерах удалённых ячеек, т.е. сколько чего
удалено из базы.
[Ответить]
152/ Прошу вас подсказать мне в решении проблемы.
Я начинающий программист на VB6.
Проблема такова: Требуется отправить файл на E-mail с компьютера который подключен к интернету, у него нет почтового клиента, и всё это незаметно для пользователя.
Подскажите пожалуйста.
[Ответить]
153/ Задачка такая:
Есть продукция металлопрокатного стана – палки с определенной длинной.
Нужно с них нарезать заготовки заданных длин.
Требуется разместить на палках заготовки так, чтобы получить минимальный отход.
Т.е. было израсходовано как можно меньше палок и обрезки были как можно короче.
Как это все сделать на VB?
Буду благодарен, если просто укажите, где найти алгоритмы раскроя с оптимизацией.
[Ответить]
155/ Здравствуйте. Как изменить иконку у EXE файла програмным методом на VB с помощью функций: BeginUpdateResource, UpdateResource, hResUpdate? [Ответить]
159/ Можно-ли в MS Access в таблице сохранить документ html и вывести его на форму для просмотра. А если можно, то как? [Ответить]
160/ Благодарю Игоря за ответ,очень помогло,также уже сделал редактирования.
Но дальше возникли еще вопросы.
Например:
1.Не как не могу сделать меню правка с подменю
копировать,вставить,вырезать.
Ну уже все перепробовал нечего не помагает((((
2.Везде искал но не как не могу найти,хоть что нибудь про импорт и
экспорт из базы данных.
Почему так мало информации по Visual Basic.NET?
Пожалуйста помогите,кто может начинающему.
Учусь програмироватьб на Visual Basic.NET, вроде что-то наченает
получатся,вот только некоторые вещи тормозят.
Заранее благодарен за помощь.
С уважением Роман.
[Ответить]
162/ Вот у меня вопрос. Имею 2 модема. Опишите мне подробно:
1) набор номера
2) соединение межде модемами
3) установка связи
Желательно через MSComm
[Ответить]
Полученные ответы

129/Проблема то в том, что с оборотом нужно напечатать на сетевом принтере не
все листы, а только последний, на обороте которого печатается так называемый
"расчет рассылки", в котором указывается, сколько отпечатано экземпляров,
кто исполнял документ, кто печатал, дата печати документа и т.п. (выпускные
данные) это такое правило делопроизводства. Для этого в конце документа
вставляется разрыв страницы и на новой странице набирается или генериться
расчет рассылки. Сетевой принтер с двухсторонней печатью первые n-2 листа
выкидывает в выходной лоток, а предпоследний кладет в лоток оборотной
печати, затем его оттуда забирает и прогоняет его еще раз через блок печати,
но печатает его уже с оборотной стороны, так как лист прошел через лоток
оборотной печати. Если б я знал, как из свойств документа изъять количество
листов, то как-нибудь решил бы задачку сам и мои девушки не мучались бы с
этой проблемой.

Вопрос:

предполагаю, как можно решить, но не знаю, как реализовать. Исходные данные.

Есть сетевой принтер с возможностью двухсторонней печати. Пользователи
работают с MS Word. На печать посылаются задания из n листов. При этом листы
с 1 по n-2 должны быть напечатаны с одной стороны. Лист n-1 является
последним листом документа, а лист n оборотной стороной листа n-1.

Предполагаемое решение. По нажатию кнопки "Печать1" из переменной
"Количество листов в документе" извлекается значение и присваивается
переменной n. Если n<<2 выводится на экран сообщение "Печать с оборотом
невозможна" и производится выход из программы, если n>>2 вызывается на
исполнение функция печати, которой в параметрах передается:

1) Печатать листы с 1 по n-2;
2) Печатать без оборота.
Вызывается на исполнение функция печати, которой в параметрах передается:
1) Печатать листы n-1, n;
2) Печатать с оборотом.

При этом желательно сделать так, чтобы между вызовами функций печати в
очередь печати не проскочило какое-нибудь задание. Естественно, все это
оформить в виде макроса. Прошу Вас помочь мне>.



На Си++ получилось что-то вроде этого:

void Print1 (void) /* Эта функция связана с кнопкой "Печать1" */
{
int n; /* количество листов в документе */
n = (Извлекаем количество листов);
if (n < 2)
{
cout << "Печать с оборотом невозможна";
/* Можно вызвать функцию Worda для односторонней печати, если n >> 0 */
if (n > 0) PrintWorda (int 1, int 1, int 0);
}
if (n > 2) PrintWorda (int 1, int n-2, int 0); /* Печать без оборота */
PrintWorda (int n-1, int n, int 1); /* Печать с оборотом, в том числе для n
== 2 */
}
[Ответить]

Отвечает: А. Майоров
Поскольку я так полагаю что ты печатаешь документ типа Word, то
следующая строка возвращает количество страниц в активном документе
ActiveDocument.ActiveWindow.Panes(1).Pages.Count.
Дальше я думаю все и самому становится ясно с процессом запуска на печать.

Оценка за ответ: 5

132/ Добрый день! На вопрос "Как узнать программно(есть ли стандартные функции или нестандартные): -уровень заряда батарее в ноутбуке; -температуру жесткого диска; -температуру процессора; -скорости вентиляторов. Заранее благодарен!" я что-то не получил ответь
Тожностью как можно на text1.text = "температура"
[Ответить]

Отвечает: Андрей
Создай форму, помести на неё 3 текст-бокса, таймер и Microsoft SysInfo
Control 6.0

Приложение к ответу (исходный код):


Оценка за ответ: 5

148/Скажите пожалуйста, как сделать массив типа Variant (или String)
видимым на всю программу? Заранее благодарен.
[Ответить]

Отвечает: Stormbringer
вставь в прогу стандартный модуль и в самом верху(в начале модуля) напиши:
Option Explicit
Public ArrName() as string

и все.

Оценка за ответ: 5

149/Здравствуйте уважаемые программисты. У меня к вам такой вопрос. Я сделал
себе программу дозвона до Интернет с подсчетом времени работы в сети,
используя для этой цели стандартный объект "Таймер". Но, как выяснилось
позже, таймер, поставляемый с Visual Basic работает неправильно. А именно,
с каждой минутой он задерживается приблизительно на 1,5-2 секунды,
следовательно после 2-х минут работы - это уже 3-4 секунды, а после 10-ти
...(!!!). Я уже не буду говорить как наломала меня моя программа после 6-ти
часов работы. Время, которое отображалось на странице моей статистики у
моего провайдера ничуть не было похоже на время, отображаемое моей
программой...
Я проделал следующий опыт: Создал проект, добавил в него таймер и вставил
следующий код:

Option Explicit
Dim i As Integer

Private Sub Form_Load()
Timer1.Interval = 1000
Timer1.Enabled = True
i = 0
End Sub

Private Sub Timer1_Timer()
i = i + 1
Me.Caption = i
End Sub

Проследите сами, совпадает ли время таймера с реальным. Для проверки я
использовал несколько бытовых секундомеров. Может такая проблема только у
меня? Если нет, то как можно исправить эту проблему? А больше всего,
хотелось бы узнать, можно ли обойти этот таймер от Microsoft каким-либо
другим способом? Заранее благодарен всем советчикам, подключившимся к моему
вопросу.
[Ответить]

Отвечает: Андрей
Может чего у тебя с системными часами компа случилось, попробуй батарейку поменять.

Оценка за ответ: 3


Отвечает: Stormbringer
по - моему все просто: нужно просто не считать за секунду интервал равный 1000 а подправить это дело, например если таймер отстает нужно ставить < 1000, если опережает нормальное время то > 1000, считать этот интервал секундой и все.

Оценка за ответ: 5

150/Привет всем кодерам!
у меня такой вопрос, как сделать свое расширение? И потом, как сделать, чтобы
файл с этим расширением ассоциировался с моей программой.
Заранее спасибо.
[Ответить]

Отвечает: Bourn
См. приложение

Приложение к ответу (исходный код):


Оценка за ответ: 5


Отвечает: Перекладов Владимир
Это просто.
Пишешь этот текст враздел General Declarations:

Приложение к ответу (исходный код):


Оценка за ответ: 5

151/Если работает несколько программ, то как сделать чтобы все они
свернулись, в развёрнутом состоянии осталась только твоя программа?
Заранее спасибо!
[Ответить]

Отвечает: HouseBugs
Создай форму на нее повесь кнопку и в её событие Click вставь этот код:

Приложение к ответу (исходный код):


Оценка за ответ: 5

154/Как отправить форму в трей, если такая команда?
Я делаю её не видимой, но она присутствует в Диспетчере Задач.
Заранее благодарю!
[Ответить]

Отвечает: Bourn
См. приложение

Приложение к ответу (исходный код):


Оценка за ответ: 5


Отвечает: Bourn
Смотри пример
Скачать прикрепленный файл >>>
Оценка за ответ: 5

156/Кто-нибудь знает как можно сделать следующее:
Как из первого файла (например 1.txt) построчно читать строки с
числами причём после прочтения числа, к нему добовляются ещё данные, и всё это записывается построчно в новый файл (например 2.txt).
Без использования API, на худой конец можно и сним.
Спасёте по крупному. Заранее благодарен.
[Ответить]

Отвечает: MaxiM
Используй Сhar(13 ) как определитель того что строка закончилась или между групи тули пробел помойму
(7) посмтри в ASCI и по циклу забивай как хочеш....и куда хочеш

Оценка за ответ: 4


Отвечает: Александр Шапошников
open "1.txt" for input as #1
open "2.txt" for output as #2
do while eof(1)
line input #1,linp
linp=linp & "еще какие-то данные"
print #1,linp
loop
close #2
close #1

Оценка за ответ: 4


Отвечает: Stormbringer
насколько я понял из вопроса эт то что тебе надо(создай проект и вставь
это):

Приложение к ответу (исходный код):


Оценка за ответ: 5


Отвечает: Филатов Евгений
В текущем каталоге создаем файл FILE1.TXT
в него заносим содержимое
10
20
30

В модуле добавляем следующий код:

Приложение к ответу (исходный код):


Оценка за ответ: 5

157/У меня возникла проблемма: как запустить файл .bat или .doc
Заранее благодарю!
[Ответить]

Отвечает: Fedos
Для исполняемых файлов (*.ехе *.com или кстати *.bat) можно использовать
стандартную функцию Shell.
Синтаксис: Call Shell("путь_к_файлу", стиль_запуска)
Например: Call Shell("c:\autoexec.bat", vbNormalFocus)

Но если файл не исполняемый (*.doc *.txt ...), то без апи (я их с рождения
:) нелюблю), имхо, необойтись.
Call ShellExecute(0&, "open", "путь_к_файлу", "", "", 0)
С ее помощью можно открыть любой файл в ассоциированной с ним программе, или
прсто программу.
(Код в пустую форму)

Private Declare Function ShellExecute& _
Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long)

Private Sub Form_Click()
Call ShellExecute(0&, "open", "www.visualbasic.noka.ru", "", "", 0)
End
End Sub

Оценка за ответ: 5


Отвечает: Перекладов Владимир
Создаёшь модуль и пишешь туда:
Public Declare Function ShellExecute Lib "shell32" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Создаёшь кнопку и пишешь событие:
Private Sub Command1_Click()
ShellExecute 0, "open", file_path, "", "", 1
End Sub
где file_path полный путь к файлу.

Оценка за ответ: 5


Отвечает: MaxiM
Run Shell
помойму так запускает все
с док на худой конец мона при помощи OLE обєкта но тогда твой документ откроется в окне..

Оценка за ответ: 4


Отвечает: Stormbringer
файл *.bat наверно нужно запускать обычным Shell'ом, т.е.
shell "C:\autoexec.bat"
файл док:
если нужно открыть ассоциированой прогой то см аттач...
Скачать прикрепленный файл >>>
Оценка за ответ: 5


Отвечает: Super-Vadim
Справиться с такой траблою тебе поможет API ShellExecute.

Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String,
ByVal lpFile As String, ByVal lpParameters As String, ByVal
lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub Command1_Click()
ShellExecute 0, vbNullString, "C:\File.doc", vbNullString,
vbNullString, 1
End Sub

Оценка за ответ: 5


Отвечает: Александр Шапошников
shell ("cmd /C c:\asd.bat")
почитай хелп к команде cmd - там ключей всяких немеряно

Оценка за ответ: 4


Отвечает: Андрей
Точно также как и exe-файлы: через ShellExecute(), ShellExecuteEx() или
WinExec(). Чтобы открыть doc-файл, ShellExecute нужно передать параметр
'open'. WinExec умеет только запускать приложения.

Оценка за ответ: 4

158/Помогите!!!
Есть обычный текстовой файл, внём хранятся цыфры, например:
842
333333453
131314143
......
и т.д. их 10000, 10000 строк в файле со всякими числами, суть такова -
мне нужно например "вырезать" 1000 чисел и их скопировать в файл в
такойже структуре (см. выше), а остальные числа нетрогать.
Можно просто 1000 первых чисел, скопировать в файл, и остальные тоже
скопировать но вдругой файл. Смысл такой - нужно отделить.
Может кто
знает какие-нибудь операторы? Люди добрые, спасите по крупному.
[Ответить]

Отвечает: MaxiM
После каждой группы есть символ Char(13)
в цикле используй его как определитель конца строки..

Оценка за ответ: 4


Отвечает: Super-Vadim
Мышкой чую – решит твою проблему функция Split.
Массив=Split(строка, разделитель)
Массив нужно объявить так:
Dim Массив() As String

Split делит “строка” на части и заносит эти “кусочки” в массив.

У функции Join обратное назначение.

Приложение к ответу (исходный код):


Оценка за ответ: 5


Отвечает: Александр Шапошников
См. приложение

Приложение к ответу (исходный код):


Оценка за ответ: 5


Отвечает: Stormbringer
вот код:

Option Explicit

Private Sub FileParts(sourceFN As String, DestFN As String, startLine As
Long, NumLines As Long)
'функция сохраняет количество цифр (Numlines) начиная с startLine(первое
число номер 0) из файла sourceFN в 'файл DestFN

Приложение к ответу (исходный код):


Оценка за ответ: 5


Отвечает: Филатов Евгений
Посмотри мой ответ на вопрос 156

Приложение к ответу (исходный код):


Оценка за ответ: 3

161/Уважаемые эксперты ! Ответьте пожалуйста, если сможете, на следующие вопросы.

1. Создаю инсталяционный пакет штатными средствами Visual Basic. Однако, попытка установить программу на другом компьютере с помощью этого пакета обычно проваливается, хотя изредка получается. Причем, у меня подозрение, что это бывает на чистом компьютере (в том смысле, что на нем ни разу я не устанавливал эту программу). Обычно устанавливаю под Windows XP (всякие -без
SP,SP1,SP2). Ошибки выдаются разные, но обычно следующая:

The file 'D:\docume~1\tima\locals~1\temp\msftqws.pdw\$(DLLSelfRegisterEx)'
could not be registered because it was not found. Что это за файл. И вообще как решить проблему. Обычно я поступаю так. Вызываю диспетчер задач и снимаю пакет установки. После этого обычно приложение запускается без проблем. Хотя бывает и нет (но редко). И программная группа в меню Пуск пуста. Приходится потом ярлык от программы вставлять туда вручную.

2. Может использовать пакеты установки от других производителей ? Но тогда как регистрировать ActiveX сторонних производителей имеющих лицензионную информацию. В штатном пакете это как-то решено. И после установки в штатном режиме не появляются требования зарегистрировать тот или иной ActiveX.
[Ответить]

Отвечает: Bourn
Вот статья из интернета, чтобы ее не искать решил выложить сдесь:


Автор: Гайдар Магдануров. Дата публикации: 20.08.2004


Пишем инсталлятор


Наиболее частый вопрос, который мне задают - как сделать свою программу инсталляции? А когда я
расспрашиваю подробнее мне объясняют, что нужна просто красивая программка, которая скопирует
файлы из одного места в другое. Поэтому я решил написать статью, где соберу многое из того, что
писал ранее (и это есть на VBStreets). мы напишем программу, которая будет устанавливать файлы.

Сразу извиняюсь за некоторую сумбурность и непоследовательность повествования, просто у меня
сейчас ОЧЕНЬ мало времени. поэтому здесь лежит пример.

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

Теперь объясняю идею - надо написать программу, которая может извлекать, копировать (добавлять
запись в system.ini и в реестр и т.д.). Но все это мелочи ... Основная идея - все файлы держать в
ресурсах как бинарные, а потом извлекать их куда надо.

Количество форм программы может быть любым, но я не рекомендую делать их слишком много, чтобы не
злить и без того злого юзверя. Для того, чтобы формы появлялись там, где надо, мы будем их
настраивать так:

При нажатии кнопки Далее>> (или Next>>), можете назвать так, как хотите.

CODE NOW!

frmNext.Show
frmNext.Height = Me.Height
frmNext.Width = Me.Width
frmNext.Move Me.Left, Me.Top
Unload Me





Юзер может подвинуть форму, поэтому другую нужно отображать там же, где была предыдущая, т.к. это
будет очень эффектно, как будто это одна форма :-).

В код первой формы мы вставим такую штуку (Form_Load):

CODE NOW!

If App.PrevInstance Then
End
MsgBox "Уже запущена одна версия программы установки!", 16, "Setup"
End If





Это для того, что бы шибко умный пользователь не запустил два приложения одновременно.

Далее вы можете насовать сколь угодно много форм, но желательно сделать диалог выбора папки для
установки. Тут пригодятся следующие вещи: размещаем Dir1, List1, Label1, Label2,Command1. Пишем
код.

CODE NOW!

Private Declare Function GetDiskFreeSpace
Lib "kernel32" Alias "GetDiskFreeSpaceA" (
ByVal lpRootPathName As String,
lpSectorsPerCluster As Long,
lpBytesPerSector As Long,
lpNumberOfFreeClusters As Long,
lpTtoalNumberOfClusters As Long) As Long





События:

CODE NOW!

Private Sub Drive1_Change()
Spaces = GetDiskFreeSpace(Mid$(Drive1.Drive, 1, 2),
secpercl, bytespersec, numoffreecl, AllCl)
Dim l As Long
l = 1024 ^ 2
ss = bytespersec / l
fs = secpercl * ss * numoffreecl
fs = Format(fs, "0")
label2.Caption = "Свободно на диске: " & fs & " MB"
Dir1.Path = Drive1.Drive
End Sub

Private Sub Dir1_Change()
mDir = Dir1.Path
Label1.Caption = mDir ' Эту переменную загоняем в модуль как
' Public InsDir as String, она нам еще пригодится.
End Sub

Private Sub Command1_Click()
On Error GoTo ree_
nd = InputBox("Введите имя директории", "Новая папка...")
If nd = "" Then Exit Sub
MkDir Dir1.Path & "\" & nd
Dir1.Refresh
Exit Sub
ree_:
MsgBox "Ошибка, однако.", 16, "Setup"
End Sub





Можете добавлять еще что-нибудь. Это же я так для примера.

Потом идет диалог, установка. Там делаем такую вещь:

CODE NOW!

Private Sub Form_Load() 'Извлекаем из ресурсов файл, и создаем ярлык.
ProgressBar1.Value = 20
Dim BinaryData() As Byte
BinaryData = LoadResData(101, "Files")
ProgressBar1.Value = 80
Open mDir & "\wininfo.exe" For Binary Access Write As #1
Put #1, 1, BinaryData
Close #1
ProgressBar1.Value = 98
'В английских форточках работает.
lngresult = fCreateShellLink("..\..\Desktop", "WinInfo", mDir & "\wininfo.exe", "")
ProgressBar1.Value = 100
Unload Me
frmFinish.Show
End Sub





Все, после этого выводим последний диалог с поздравлениями.

Примечания:

Возникает проблема - самому инсталлятору нужны посторонние файлы, вроде msvbvm60.dll и ocx,
которые вы использовали. Это решается так - эти файлы тащите вместе и инсталлятором в sfx архиве.
При распаковке которого запускается ваш setup. что не раздражает пользователя. А в инсталляторе
добавляете команды типа FileCopy - переносите файлы туда, куда надо.

Приложение к ответу (исходный код):


Оценка за ответ: 5

163/Sos Sos Sos please help me
I am using Vb6 and making print to picturebox
likefrmHishbonit.Picture3.FontSize = 8
frmHishbonit.Picture3.FontBold = False
frmHishbonit.Picture3.Print Tab; Tab; Tab; Tab; Tab; frmMain.DeskTime.Caption; Tab; frmMain.DeskDate.Caption
and know I need to print to printer all picturebox I can not do thet .What can I do for printing PictureBox
[Ответить]

Отвечает: Fedos
(Вообще-то, я думаю, стоит переводить вопросы на русский.
Рассылка ведь существует для того тобы НЕ задавший вопрос человек,
узнал для себя что-то новое. А он и прочитать то вопрос не сможет.
Хорошо что промт переводит с английского, а если кто нибудь напишет по
китайски?)

Если текст не печатается в Picture3, то это скорее всего потому-что из-за
большого колличества табов, он уходит за правую границу объекта.

А если текст всёже надо распечатать на принтере, то идея не очень удачная
(у меня он печатается пиксель в пиксель). Но так и быть. Если ширина листа,
будет больше чем ширина формы, то текст скорее всего не отпечатается.
Поэтому:
1. Свойство AutoRedraw у Picture3 выставляем True
2. Собственно код.

Dim fW As Integer, fH As Integer
fW = frmHishbonit.Width
fH = frmHishbonit.Height 'Запоминаем размеры формы
frmHishbonit.Width = 3150000
frmHishbonit.Height = 3150000 'Чтоб наверняка уместилось на листе :)
Printer.PaintPicture frmHishbonit.Picture3.Image, 0, 0 'Выводим на печать
frmHishbonit.Width = fW
frmHishbonit.Height = fH 'Восстанавливаем размеры формы

Оценка за ответ: 5

164/Я столкнулся с проблемой опроса клавиатуры. Дело в том, что если использовать такой способ :

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 37 Then
Shape1.Left = Shape1.Left - 80
End If
If KeyCode = 39 Then
Shape1.Left = Shape1.Left + 80
End If

End Sub

То квадратик двигается неравномерно. Происходит задержка после первого сдвига, обусловленная паузой до повторения при нажатии.
Теперь сам вопрос, точнее два.
1. Как эту паузу можно убрать программно?
2. Есть ли другой способ опроса клавиатуры?
3. А как отследить, что нажата не одна клавиша, а две или более?
Для перемещения квадратика в окне нужно 4 клавиши, но как сделать так, чтоб при нажатии, к примеру, одновременно вправо и вверх квадратик пошел именно по диагонали, а не по одной из осей?
Заранее спасибо за помощь.
[Ответить]

Отвечает: Bourn
См. приложение

Приложение к ответу (исходный код):


Оценка за ответ: 5


Отвечает: Fedos
Добавьте на форму объекты Shape1 и Timer1, и вставте этот код:

Приложение к ответу (исходный код):


Оценка за ответ: 5

165/Привет Дорогие VB-шники Я написал заставку на VB но не знаю как предотвратить повторный запуск Windows-ом и связать ее параметрами в окне Свойства: Экран. Прошу помогите. Заранее Благодарен [Ответить]

Отвечает: EnzO)Stalker
При запуске заставки в каждом конкретном случае Виндовс посылает программе особую командную строку. Она нужна для определения типа запуска: в нормальном режиме и режиме настроек. Для обработки строки в форму необходимо добавить функцию CheckCommandLine:

Приложение к ответу (исходный код):


Оценка за ответ: 5

Обучение для новичков

Работа с Visual Basic

В данном разделе будет описано создание двух приложений. Первое мы создадим буквально вручную, оно представляет собой обычное окно с кнопками Maximize, Minimize и Exit. Для второго приложения будет использован Application Wizard (мастер приложений), поставляемый с Visual Basic, применяемый при построении интерфейсов к программам. Такой тип приложений носит название MDI (multiple document interface). Как и в обычной среде разработки, поставляемой с Visual Basic, данные приложения позволяют добавлять окна внутри родительского окна.

Кроме того, в приложениях будет присутствовать расширяемое меню, содержащее ряд стандартных пунктов: File, Help и так далее. Application Wizard генерирует большое количество полезного кода автоматически. Поэтому требуется добавить только небольшое количество дополнительного кода, чтобы полностью "оживить" все автоматически созданные возможности. (Конечно, написание такого кода потребует дополнительных знаний о программировании в Visual Basic. Application Wizard представляет собой мощное, но всего лишь вспомогательное средство программирования; он не может полностью заменить программиста.)

Простое приложение

В диалоговой панели New Project следует дважды щелкнуть на значку Standard EXE
Отметим, что пустое окно носит имя Projecti-Form1 (Form). Внутри него находится другое окно с названием Form1, в котором видна сетка из точек. Это и есть форма, которую можно модифицировать. Сетка используется для выравнивания элементов управления на экране, таких, как командные кнопки и списки.
При запуске проекта (или его компиляции с целью независимого запуска от среды разработки Visual Basic), формы, наподобие Form1, становятся окнами, которые и видит пользователь. Вверху пустой формы размещается строка заголовка (title bar) с заголовком формы (caption). Заголовком в Visual Basic называется текст в строке заголовка конкретного окна. В настоящий момент форма озаглавлена по умолчанию как Form1; такой заголовок Visual Basic присваивает форме в начале работы над новым проектом. Слева от окна Form1 размещается окно панели инструментов (toolbox), в котором видны элементы управления, доступные к размещению на форме. (Как было отмечено до этого, элемент управления представляет собой термин, используемый в Visual Basic для объектов, размещаемых на форме при ее создании.) Справа от окна формы размещаются еще три окна. Верхнее носит название Project Explorer. Непосредственно под ним находится окно Properties, где устанавливаются различные свойства формы и элементов управления на ней. Справа внизу размещается окно Form Layout, рассказать о функциях которого можно за несколько секунд.

Теперь сконцентрируем внимание на центральном окне с названием Project1 -Form 1 (Form) и дополнительном окне внутри его с наименованием Form1. В большинстве приложений Visual Basic размер и местоположение формы в момент окончания ее разработки (обычно это называют временем создания) определяют размеры того, что пользователь видит на экране в момент работы программы. Это не означает того, что в Visual Basic нельзя изменить размер или местоположение форм при запуске проекта; фактически одним из основных достоинств Visual Basic является возможность производить динамические изменения в ответ на события, генерируемые как реакция на действия пользователя.
Изменим размер окна Project1 с тем, чтобы оставить побольше места для работы с формой внутри его. Для этого необходимо просто щелкнуть по кнопке Maximize.
Сейчас стало больше места для работы с окном Form1, попробуем изменить его размер. Опишем один из способов изменения размеров формы, который является общим для всех приложений Windows. Сперва необходимо щелкнуть мышью внутри формы, чтобы она стала активной. (Всегда можно определить, является ли окно активным, поскольку его заголовок выделяется цветом.) Затем сдвинем курсор мыши к любой части рамки окна формы. При этом он должен изменить свой вид на двунаправленную стрелку. С этого момента размеры формы можно изменять, двигая курсор по экрану.
Для того чтобы начать разработку первого тестового приложения, необходимо сделать следующие шаги:
1. Изменить размер формы по умолчанию, пользуясь технологией, описанной выше.
2. Запустить проект, нажав F 5 либо выбрав пункт Start из меню Run (ALT+R,S).
Отметим, что на экране появляется обычное окно Windows, размеры которого совпадают с размерами окна в режиме разработки. Кроме того, данное окно имеет все стандартные черты окон Windows, такие, как границы с изменением размера, оконное меню управления (в левом верхнем углу), а также кнопки Maximize, Minimize и Exit в правом верхнем углу. Данный факт иллюстрирует одну из основных особенностей Visual Basic: созданная программистом форма становится окном, по умолчанию получающим все стандартные характеристики окна текущей версии Windows, причем для этого не нужно писать ни одной строчки кода.

Вернемся в среду разработки, нажав ALT+F4 либо дважды щелкнув по оконному меню управления в форме Form1, или щелкнув по кнопке Exit в форме Form1. Отметим, что текущее приложение реагирует на все эти стандартные способы завершения работы с программой Windows. Это демонстрирует такой важный момент, что в большинстве случаев приложения Visual Basic ведут себя так, как ожидает пользователь Windows, не требуя при этом специального вмешательства программиста (или пользователя).
Далее попробуем изменить месторасположение формы, видимое пользователю изначально. Для этого передвинем окно Form Layout в правый нижний угол экрана.
Попробуем просто перетащить форму внутри окна на новое место. Затем снова запустим приложение. Можно увидеть, что окно формы теперь размещается там, куда его перетащили внутри окна Form Layout.

Примечание: Размер, форма и месторасположение окна являются примерами свойств (properties) данной формы. Как можно наблюдать, они установлены путем непосредственных манипуляций с ней. Кроме того, их значения можно установить при помощи окна Properties.


Компоненты, контролы, исходники

Трюки с CD-Rom
CD-ROM. Открываем и закрываем
Модуль: Управление CD-Rom
 
Формы: операции с формами
Вызывает стандартное окно About
Запрещаем нажатие кнопки X на форме
Модуль: Прозрачные окна
Модуль: Разные формы
Перетаскивание окна не за заголовок
Операции с формами (отображение, скрытие, загрузка, выгрузка) New!!!
Форма с закругленными концами
 
VBA – все, относящееся к прикладному программированию
Excel - программное создание базы данных в книге Excel New!!!
Проверка орфографии с помощью Word
 
Файлы – операции с файлами
Модуль: Считывает размер файла, папки
Применение FSO в приложении
Пример показывает анимирование Gif-файла в приложении
Просмоторщик ресурсов
Создание MP3-коллекции файлов New!!!
Файлы - стандартные операции с файлами в VB New!!!
Операции с BMP (создание волн)
Создание щтрих-кода в BMP-файле
 
Реестр и INI-файлы
INI-файлы. Очень подробный пример для работы с Ini-файлами в приложении New!!!
Изменяем параметры Internet Explorer New!!!
Модуль: Работа с реестром
Работа с реестром
Пример реализации проверки файлов методом CRC New!!!
 
Панель задач и трей
Progress Bar в Task Manager
Блокирование/разблокирование, скрытие/отображение кнопки ПУСК New!!!
Иконка в трее
Иконка в трее
Модуль: Иконка в трее
Модуль: Иконка в трее 2
Программно впихиваем текст в панель задач (рядом с часами) New!!!
Часики в трее
 
Меню в Visual Basic
Меню с использованием BMP-файлов (1)
Меню с использованием BMP-файлов (2)
Стильное VB меню
 
Диалоги в Visual Basic
Вызов стандартного диалога открытия файла без использования контрола
Модуль: Стандартные диалоги
 
Элементы управления в Visual Basic
Кнопка XP New!!!
Крутой ProgressBar
Магическая кнопка! New!!!
Перебор цвета в Combo Box New!!!
Поворот текста под любым углом в PictureBox New!!!
Работа с таблицами в MSFexGrid New!!!
Создание таблицы с заголовками из ListBox
Текст под любым углом в PictureBox New!!!
 
Windows XP Style все по работе со стилями
Модуль: XP стиль
ХР стиль в приложении Visual Basic
 
Разное
Запрет нажатия клавиш Ctrl+Alt+Del
Звонилка New!!!
Информация о текущем пользователе New!!!
Модуль: Информация о жестком диске
Модуль: Программное переключение языка ввода с клавиатуры
Модуль: Сортировка массива
Модуль: Функции выключения, перезагрузки компьютера
Модуль: Шатдаун компьютера
Монитор статуса соединения с сетью New!!!
Пример известной игры Lines
Работа с DirectX
Работа с консолью в windows
Работа с портами в Windows
Создание анимированных изображений
Создание программы установки
Считывает серийный номер жесткого диска
Удаленное подключение к компьютеру
Устанавливаем приоритет приложения в Windows
Цифровое табло
Часики
Часы с таймером
Читаем разную информацию о БИОСЕ


Статья

Как загрузить файл из интернета

Если Вам необходимо загрузить файл из интернета, то воспользуйтесь следующим кодом.

Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal lpszFile As String) As Long

Private Sub Command1_Click()
DownLoadFile "http://demin.narod.ru/2001/wall/", "wall3.jpg"
End Sub

Public Sub DownLoadFile(sUrl As String, sFile As String)
Dim DL As Long
On Error GoTo errHandler
If sUrl$ = "" Then sUrl$ = strUrl$
If strUrl$ = "" Then strUrl$ = sUrl$
If Left(strUrl$, 4) <> "http" Then strUrl$ = "http://" & strUrl$
If Right$(strUrl$, 1) <> "/" Then strUrl$ = strUrl$ & "/"
If Left$(sFile$, 1) = "/" Then sFile = Mid$(sFile$, 2)
DL& = DoFileDownload(StrConv(strUrl$ & sFile$, vbUnicode))
Exit Sub
errHandler:
Debug.Print "Error Source:", Err.Source
Debug.Print "Error Description:", Err.Description
Debug.Print "Error Number:", Err.Number
MsgBox "An error has occured attempting to start download to " & sUrl & sFile$ & ".", vbApplicationModal + vbCritical + vbDefaultButton1, "Error"
End Sub




Есть вопросы относительно статьи, задавайте!

Stormbringer:
при тестировании примера на адресах
www.yandex.ru
www.rambler.ru
www.google.com

я не получил размер документа, Почему?
[ОТВЕТИТЬ НА ВОПРОС]

Тимур Бекбулатов:
Уважаемые эксперты ! Ответьте пожалуйста, если сможете, на следующие
вопросы.

1. Создаю инсталяционный пакет штатными средствами Visual Basic. Однако,
попытка установить программу на другом компьютере с помощью этого пакета
обычно проваливается, хотя изредка получается. Причем, у меня подозрение,

что это бывает на чистом компьютере (в том смысле, что на нем ни разу я не
устанавливал эту программу). Обычно устанавливаю под Windows XP (всякие -без
SP,SP1,SP2). Ошибки выдаются разные, но обычно следующая:

The file 'D:\docume~1\tima\locals~1\temp\msftqws.pdw\$(DLLSelfRegisterEx)'
could not be registered because it was not found. Что это за файл. И вообще
как решить проблему. Обычно я поступаю так. Вызываю диспетчер задач и снимаю
пакет установки. После этого обычно приложение запускается без проблем. Хотя
бывает и нет (но редко). И программная группа в меню Пуск пуста. Приходится
потом ярлык от программы вставлять туда вручную.

2. Может использовать пакеты установки от других производителей ? Но тогда
как регистрировать ActiveX сторонних производителей имеющих лицензионную
информацию. В штатном пакете это как-то решено. И после установки в штатном
режиме не появляются требования зарегистрировать тот или иной ActiveX.
[ОТВЕТИТЬ НА ВОПРОС]

Артемий:
Internet Transfer Control это конечно хорошая вещб но всеже она очень мало
функциональна, в ней заложены основные возможности основной Internet
библиотеке Windows WININET.DLL. В то время как WININET.DLL содержит
множество других интересных и полезных вещей, например, через нее можно
узнать скорость передачи даных и общий объем передоваемого трафика.
А вопрос вот какой существует ли документация или файлы помощи по этой
библиотеке, если да то неплохо былобы эту информацию опубликовать в
рассылки.

И еще вопрос как можно скачивать файл в несколько потоков одновременно,
например, разбить файл на три части и качать каждую часть отдельно и
оодновременно.
И если произощел разрыв связи, и файл был недокачен, как можно продолжить
процесс с тогоже места.
[ОТВЕТИТЬ НА ВОПРОС]

Sergey:
Здравствуйте, Игорь.
У меня есть сэмплы запросов файлов по http и созданию http сервера. Но
меня интересует другое, связанное с этим, но... Меня интересует proxy
сервер написанный на Visual Basic. Интересует по двум причинам 1)
шпионить за одной из программ 2) перенаправлять её запросы на нужное
мне место. Разбираться мне в этом нет времени и особого желания,
почитать ещё куда не шло, а вот разбираться в одиночку -- н-е-е-е.
Считаю это интересная тема, подробно касающаяся методов
приёма/передачи данных по http, которую стоило бы рассмотреть. Хотя...
у меня нет никаких представлений и данных о том, как работает proxy.
Как Вы на это смотрите?
[ОТВЕТИТЬ НА ВОПРОС]

Дружественные сайты
http://www.delphi.int.ru - Программирование на DELPHI: Вопросы и Ответы читателей; Статьи по программированию на Delphi, других языках программирования, графике (OpenGL/DirectX); Компоненты, Пакеты, Plug-in'ы, Модули для Delphi; Исходники программ, игр; Документация и ссылки на документацию по программированию; Рассылка, в которой каждый программист найдёт что-то полезное!

http://infomania2004.webhost.ru. Этот сайт создан для того, чтобы вы могли получить интересующую вас информацию с минимальными затратами сил и времени. Если вы не нашли здесь нужной информации, оставьте заявку...">

Все о Динамо - www.DynamoMania.ru На этом сайте вы найдете все новости и интервью ВСЕХ видов спорта Динамо. Также на сайте есть таблицы всех видов спорта. Видео и Фото материалы. И все это на одном сайте - www.DinamoMania.ru Это первый и единственный сайт, который освещает все виды одного клуба.
Юмор


На берегу реки сидят три поросенка и пьют водку. По реке на лодке плывет волк. Причаливает к берегу, подходит к веселой компании и спрашивает:
- Эй, поросята, как мне доплыть до Лимпопо?
- Как доплыть до Лимпопо, мы не знаем, а до мордобоя ты уже доплыл!

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

Вечер, почти ночь. Девушка - своему парню:
- Коля, ты меня проводишь?
- Конечно! Взглядом!!

:))

Наши партнеры

Рассылки Subscribe.Ru
Visual Basic для новичков и профессионалов
Программирование на Delphi

Хотите стать нашим партнером? Пишите сюда.


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.vbforbeginprof
Архив рассылки
Отписаться
Вспомнить пароль

В избранное