Главная Гостевая Форум INFA

Программируем на Visual Basic'e:

Часть 2/Часть 3/Часть 4/Часть 5/Часть 6/Часть 7/Часть 8/Часть 9/ Часть 10 /Часть 11/Часть 12/Часть 13/Часть 14/Часть href="vbasic11.htm">Часть 11/Часть 12/Часть 13/Часть 14/Часть 15

ШАГ 91

Убираем эту уродскую Data

Почему злой дядька Билл Гейц сделал такую уродскую Data? На этот вопрос может ответить только он сам, но к счастью у Date есть несколько свойств, и c помощью них можно заменить Data, на свои кнопки. Для этого усовершенствуем прогу, которую ты сделал на 70 шаге. У объекта Data свойство Visible = False, это чтоб ее скрыть, на форму кинь 4 кнопки. У 1 - ой кнопке свойство Caption = "<", у 2 - ой = ">", у 3 - ей = "|<", у 4 - ой = ">|".
Private Sub Command1_Click()
Data1.Recordset.MovePrevious 'Предыдущая запись
If Data1.Recordset.BOF Then Data1.Recordset.MoveNext 'Тут, если дошло до самой первой записи, и ты еще 2 раза нажмешь на кнопку, то выскочит Error, и чтобы этого не произошло, мы каждый раз, когда запись равна первой, и ты еще раз жмешь на кнопку, сдвигаем ее в перед.
End Sub

Private Sub Command2_Click()
Data1.Recordset.MoveNext 'Следующая запись
If Data1.Recordset.EOF Then Data1.Recordset.MovePrevious 'Здесь все тоже самое, только наоборот
End Sub

Private Sub Command3_Click()
Data1.Recordset.MoveFirst 'Первая запись
End Sub

Private Sub Command4_Click()
Data1.Recordset.MoveLast 'Последняя запись
End Sub
Исходник проги - Здесь Теперь научимся Удалять и создавать новые записи.

ШАГ 92

Создание & Удаление записей

Для добавления & удаления записи усовершенствуем наш проект (см. выше), добавь туда 2 кнопки, у 1 свойство Caption = "New Запись", у 2 - ой = "Del Запись". Код:
Private Sub Command5_Click()
Data1.Recordset.AddNew 'Добавляем запись
End Sub

Private Sub Command6_Click() 'Последняя запись
'чтобы выполнить последовательность инструкций над
'одиночным объектом Data1, не перечисляя его каждый
'раз, используем инструкцию With
With Data1.Recordset
.Delete
.MoveNext

If .EOF Then .MoveLast
End With
End Sub

ШАГ 93

Задание:

Т.к. мне было лень писать этот шаг, я решил дать тебе задание, СДЕЛАЙ ТЕЛЕФОННЫЙ СПРАВОЧНИК!!! Но не просто справочник, а чтоб туда E - Mail поместился. Делай. Если что - то не получиться мыль мне, и я подскажу. Мой E - Mail: padre03@mail.ru. Жду.

ШАГ 94

Закладки

Например, если в Базе очень много записей, и тебе надо от одной записи вертеть несколько сотен до другой, то проще будет на одну запись кинуть закладку, и потом с любой записи одним щелчком попасть на запись, на которой стоит закладка. Ты что - нибудь понял? Ну, если не понял то сам разбирайся. Опять усовершенствуем наш проект, добавим туда еще 2 кнопки. У первой кнопки Caption = "Закладка", у 2 - ой = "Переход". Код:
Dim qw As String 'Объявляем переменную qw для хранения наше закладки


Private Sub Command7_Click()
qw = Data1.Recordset.Bookmark 'Устанавливаем закладку
End Sub

Private Sub Command8_Click()
Data1.Recordset.Bookmark = qw 'Переходим к ней
End Sub
Теперь ставь закладку на любую запись, и потом на другой записи жми Переход, и ты попадешь на ту запись, где стояла закладка.

ШАГ 95

Поиск в записях

Т.к. базы нужны в основном для фирм (туда имена, адреса... вносят, что не видел на рынках ими торгуют?), то когда накапливается очень много имен, то поиск может занять несколько часов, и для этого иногда программеры делают кнопочку поиск, вот и мы щас такую сделаем.
Представьте себе, что тебе нужно найти конкретное имя автора из тысяч других... WOW!!! :-)) Представили? Ну, так вот листать - вроде совсем не интересно... Нужно воспользоваться одним из способов нахождения: FindFirst, FindLast, FindNext или FindPrevious. В этой таблице представлены их значения:
Метод Пояснение
FindFirst Ищет первую запись в БД
FindLast Ищет последнюю запись в БД
FindNext Ищет каждую следующую запись в БД
FindPrevious Ищет предыдущую запись в БД

Private Sub cmdFind_Click()
'у пользователя запрашивается имя а потом происходит
'поиск его в БД
Data1.Recordset.FindFirst "Author = '" _
& Trim(InputBox("Введите имя ")) & "'"
'если запись не найдена появляется следующая надпись:
If Data1.Recordset.NoMatch Then MsgBox "Имя не найдено"
End Sub

ШАГ 96

Объект OLE

Этот объект, очень стремный, но иногда без него не обойтись (я им пользовался только 1 раз, когда прихватило:-)). С помощью этого объекта, можно из других прог что - нибудь вставлять. Например из Worda, мы сможем вставить текст, или его знаменитые объемные рисунки. Начнем. На форму кинь объект OLE().Жди. Через 5-15 сек. появится окно Вставка объекта, там ты выбираешь прогу, из которой будет вставлен объект. В нем крути в самый конец, там найди Рисунок Word, и нажми ОК. От куда не возьмись, появляется окошко, да не простое, а вордовское. В нем впиши текст, впихни рисунки... и закрой его. Теперь вернись в VB, в объекте OLE появился твой текст! Отлично!

ШАГ 97

Объект PrintForm

Т.к. Басик входит в 5 лучших языков, то он и должен уметь работать с принтером. Ты понял на что я намекаю? А я намекаю на то, что этот и последующие шаги будут посвещены ПРИНТЕРАМ. Если у тебя нет принтера, то срочно купи, а то несколько следующих шагов тебе придется пропустить. Так что, быстро бери бабки, и беги в магазин :-)). Начнем с печати всей формы. Для этого у формы есть свойство PrintForm(Печать формы).
Form1.PrintForm 'Печатаем форму
Ну это все фигня, т.к. форму почти ни кто не когда не печатает, а люди обычно печатают текст :-)).

ШАГ 98

Печать текста

Ну если есть в текстовых полях текст, значит его можно отпечатать, и не обязательно в текстовых полях, а можно просто текст. Ну короче, не буду тянуть, для работы с принтером, есть спец объект - Printer, а у этого объекта уже есть свойства и методы для управления им. Первый метод который ты узнаешь в этом шаге будет Print(Печать). На форму кинь 1 Текстовое поле, и 1 кнопку (я специально не сказал Войди в VB(Standart EXE), не маленький, должен запомнить:-)).)
Private Sub Command1_Click()
Printer.Print Text1.Text 'Печатаем текст введенный в Текстовое поле
End Sub
Ну что печатает? Не знаю как у тебя, а я, у себя заметил глюк (у меня VB5 - но я не америкос (Почему - то в инете принято считать, что если у тебя VB5 - то ты америкос, наверное это придумали те у кого VB6...)), я нажимаю на кнопку, и не печатает, надо обязательно выйти из проги, и только тогда принтер зафурычит.

ШАГ 99

Устанавливаем свойства шрифта, который будет отпечатан

Ты наверное скажешь: "Не фига себе заголовок" - и ты будешь прав, т.к. ни чего лучше я не придумал, но зато как сказал - не в бровь а в глаз:-)). Например:
Printer.Font.Name = "Script" 'Буде использован шрифт Script
Printer.Font.Size = 18 'Текст будет размером = 18

ШАГ 100

Определяем тип принтера (цветной, монохромный)

Это свойство уже почти не используется, т.к. монохромные принтеры остались только в музеях, и в моей школе:-)). Но я все равно тебе о нем расскажу. На форму кинь текстовое поле, и кнопку. И впиши:
Private Sub Command1_Click()
Text1.Text = Printer.ColorMode 'В текстовом поле появится цифра 1,или 2.Это тип принтера. Если появится 1 значит принтер монохромный, если 2 - то цветной.
End Sub


Если у тебя есть вопросы, пожелания, и т.д., то оставляй их на форуме, гостевой книге, или пиши в наглую на е - мэйл: padre03@mail.ru. И если ты зайдешь на мой сайт, кликни плиз по банеру Porta(сиреневый), мне за это немного бабла отвалется(2 цента). И если ты захочешь поддержать Отечественного производителя(т.е. Меня), то кликай по банеру раз в месяц. А если ты очень богатый, то не просто кликни, а еще что - нибудь купи.

автор учебника: Падре
Дата создания: 12 апреля 2003 года

Место под Банеры

Официальный сайт учебника - 'Программируем на Visual Basic'