Мир программирования на Visual BASIC и HTML
Информация
  SnoozeX Design
  VB Проекты
  Архив рассылки
  Рассылка

Спонсоры
  Городской кот
  Subscribe.Ru
  Russian Surf

Ссылки
  VB Streets
  Visual BASIC
  VB: Step by Step
  SnoozeX Design
  СообЧа

VB Форумы
WEB:
  VBS Форум
  Ru.Visual.Basic
Mail:
  VBStreets
  СообЧа: VB
  подписка - пустое   письмо в VB группу

Доска почета
  Sergey VIMBERG
  Олег
  Oleg Palayda
  BSP

Вопросы
  Автору
  По VB
  По HTML

Кнопки

Рассылка 'Мир программирования на Visual BASIC и HTML.'

мы в режиме:

SUPERTOP

SnoozeX Design
Несколько слов от автора: Здравствуйте. На вопрос в прошлом выпуске не откликнулся, повторяюсь: сделать ли нам почтовую конфу по VB? Читайте новый выпуск.
Ваши пожелания:


E-Mail для ответа:   

ПРИМЕЧАНИЕ: Выпуски данной рассылки начиная с первого вы сможете прочитать на http://subscribe.ru/archive/comp.design.snoozex/    @LEXis

2.03.2001 Выпуск N18 Обзор ведет @LEXis

 Сегодня в выпуске:

# Полезные коды Visual BASIC
:
Бегущая строка
# Практикум на примерах:
Классы в Visual BASIC (Часть 1 - Понятия)
# В разделе "вопросы/ответы":
Ответы на вопросы читателей
# Рубрика "Объявления"


 Полезные коды Visual BASIC
Бегущая строка

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

Создайте стандартный проект и поместите на него:
TextBox - t1
CommandButton - Com1
Timer - Timer1
Label - statusbar


И добавте следующий код:

'----
Private Type snaplab
  label As String
End Type

'Ради понтов, можно еще написать процентную соплю и
'запланированный перенос слова до того, пока она
'вылезет на экран полностью.

'Объявляем
Private mega As snaplab

'Процедура принимает значения
Public Sub go1(lab)
statusbar.Caption = "" 'очищаем
mega.label = lab
timer1.Enabled = -1 'включаем таймер
End Sub

Private Sub Form_Unload(Cancel As Integer)
End
End Sub

Private Sub timer1_Timer()
'считывание
a1 = Len(mega.label)
a2 = Len(statusbar.Caption)

If a1 = a2 Then 'если уже конец :-(
  timer1.Enabled = False
  Exit Sub
End If

'смотрим: чаво бы добавить?

a3 = Left(mega.label, a2 + 1)
statusbar.Caption = a3

End Sub


Private Sub Com1_Click()
go1 t1.Text 'вызываем строку
End Sub
'----

 Практикум на примерах
Классы в Visual BASIC (Часть 1 - Понятия)

Евгений Февраль 2001

Привет всем!

Решил писать в формате HTML, потому что так можно приятнее оформить и заодно отобразить можно в ваших HTML каталогах. Как создать HTML-каталог? Да очень просто! Совсем не обязятельно для этого знать HTML. Достаточно воспользоваться Word`оми создать свою первую страничку в этом текстовом редакторе. (Как это сделал я ;-) Лучше откройте ее в IE, т.к. ваш почтовый клиент может некорректно ее отображать. Должен быть желтенький фон, а в списках использованы ромбики.

Итак, поехали!

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

Что же такое классы? Классы - это компоненты многократного использования. Вы наверняка используете в свои программах стандартные элементы управления. Такие как TextBox, например. Так вот как раз элемент управления TextBox это и есть класс. Вы же его многократно используете? Да, многократно. Я бы еще сказал, что классы это шаблоны объектов многократного использования.

Существует такое понятие как экземпляр класса. Т.е. сам элемент управления TextBox, который находится на панели элементов рядом с другими элементами управления (Label, ImageBox, PictureBox и пр.) является классом, т.е. шаблоном шаблоном для всех текстовых полей, которые вы создадите в своей программе при помощи этого элемента управления. По этому шаблону создается любое текстовое поле со стандартными для него свойствами. У вас же ни разу не создавалось нестандартное текстовое поле при использовании элемента управления TextBox?

Так вот. Элемент управления TextBox - это класс, шаблон. Когда вы создаете текстовое поле в своей программе, вы создаете экземпляр текстового поля, т.е. экземпляр класса текстового поля. Этот экземпляр каждый раз создается по одному и тому же шаблону TextBox. В этом и есть суть многократного использования. Однажды создав шаблон, вы можете его использовать для создания экземпляров этого шаблона многократно в своей программе. И каждый экземпляр при этом будет иметь свои значения свойств.

Например, создав три текстовых поля, вы создадите три экземпляра класса TextBox. У каждого ведь будут одинаковые свойства. Но для каждого из этих экземпляров вы можете установить свои значения свойств. Например, свойство Text. Ведь у каждого вы можете записать в это свойство разный текст. Вот в этом и есть прелесть классов. Единожды создав шаблон, мы получаем возможность создавать и использовать множество его экземпляров. И у каждого экземпляра будут свои значения свойств. Это просто здорово! Благодаря этому у нас на форме может существовать множество текстовых полей, у которых будут свои индивидуальные настройки. Одно будет невидимым, другое с полосами прокрутки, третье недоступным и т.д.

Так мы плавно подошли к следующему понятию - объекты.

А все очень просто. Объекты - это экземпляры класса. Думаю здесь все уже должно быть понятно.

Ну, а раз перешли к объектам, то обратимся к понятию Объектно-ориентированное программирование (ООП).

Объектно-ориентированное программирование (ООП) - это способ создания программ из многократно используемых объектов. То бишь классов (шаблонов). Не используя прелести объектно-ориентированного программирования, вам бы пришлось самим создавать текстовое поле. Рисовать его на форме, делать ему заливку белым цветом. Прорисовывать на нем курсор. При нажатии клавиши с символом отображать его на позиции курсора… Короче одна сплошная мука! И это только для того, чтобы создать простое текстовое поле! Но, слава Богу, у нас есть объектно-ориентированное программирование. Есть класс (шаблон) TextBox, на основе которого мы создаем объект текстового поля. При этом нам не нужно заботиться о прорисовке текстового поля, отображении курсора, вывода символов… и т.п. За нас это уже давно сделали добрые дяди из Microsoft. Мы ведь даже не знаем, как это там происходит! И не нужно знать!!! В этом еще одна прелесть объектно-ориентированного программирования. И эта прелесть называется Инкапсуляция.

Инкапсуляция - означает сокрытие информации, т.е. это означает, что объекты скрывают детали своей работы. Нам неизвестно, что происходит в текстовом поле, когда мы меняем свойство Text. Наверняка там происходит накопление символов в одной переменной (что-то типа sTemp=sTemp+символ_нажатой_клавиши, но мы этого не знаем наверняка. И это нас не должно волновать. Это и есть Инкапсуляция.

Еще одно понятие ООП - Наследование.

Наследование

Наследование - это когда при создании нового объекта на основе уже существующего объекта, новый объект наследует от уже существующего все его свойства и методы.

При этом вы можете добавить к новому объекту к уже наследованным свойствам, новые свойства. Это как в жизни у людей. Сын наследует свойства отца, но при этом у него еще есть и свои индивидуальные свойства.

Еще одно понятие ООП - Полиморфизм. Многие объекты могут иметь одноименные методы. Тем не менее, у каждого объекта эти методы могут выполнять разные действия, определенные именно для этого объекта.

Типичный пример полиморфизма - использование оператора "+" для сложения строк и чисел. Для чисел это будет означать суммирование, а для строк - слияние. Visual Basic уже сам разберет, к чему какой метод применять, хотя используется один и тот же оператор.

Если вы хотите стать подкованным программистом, то эти понятия вы должны знать. Повторюсь вкратце.

Инкапсуляция - сокрытие.

Наследование - тут все и так ясно.

Полиморфизм - методы для разных объектов с одинаковыми названиями, выполняющие разные действия для разных объектов.


 Вопросы / Ответы
Вопрос от @LEXis`a
Здравствуйте,
Как снять изображение с экрана и сразу сохранить его в графический файл? Оченнннь надо. Плиз хелп.


 Объявления
Требуются люди
Хочу напомнить, что еще пусты многие вакансии рассылки:
- Рубрика "Рецензия книг"
- Рубрика "Практикум на примерах"
Также можно просто присылать коды.

Код моей кнопки: Код моей кнопки:

<!-- SnoozeX Design "PLAY" -->
<a href="http://snoozex.boom.ru" TARGET="_blank"><BR><IMG SRC="http://snoozex.boom.ru/new.gif" WIDTH=88 HEIGHT=31 BORDER=1 ALT="SnoozeX Design"></a>
<!-- SnoozeX Design "END" -->

Выпуск подготовили:                    
Евгений
@LEXis
@LEXis ICQ uin : 14912636
Подписаться на рассылку Кувалина Алексея
Мир программирования на Visual BASIC и HTML
© 2000 - 2001 @LEXis & Design by SnoozeX Design
Рассылка является составной частью проекта "СообЧа - СООБщество ЧАйников"
Сайт СообЧа: http://www.soobcha.ru/
Сайт группы по VB: www.soobcha-vb.narod.ru/
Подписаться на сообщество
© 2000 - 2001 СообЧа (СООБщество ЧАйников)
Спасибо за внимание. Ваш @LEXis

 

Home ] Up ] О группе ] Статьи ] Исходники ] Орфография ] Приёмы ] Проекты ]

Хостинг от uCoz