Часть 2/Часть 3/Часть 4/Часть 5/Часть 6/Часть 7/Часть 8/Часть 9/ Часть 10 /Часть 11/Часть 12/Часть 13/Часть 14/Часть href="vbasic11.htm">Часть 11/Часть 12/Часть 13/Часть 14/Часть 15
Почему злой дядька Билл Гейц сделал такую уродскую 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
Исходник проги - Здесь Теперь научимся Удалять и
создавать новые записи.
Для добавления & удаления записи усовершенствуем наш проект (см.
выше), добавь туда 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
Т.к. мне было лень писать этот шаг, я решил дать тебе задание, СДЕЛАЙ ТЕЛЕФОННЫЙ СПРАВОЧНИК!!! Но не просто справочник, а чтоб туда E - Mail поместился. Делай. Если что - то не получиться мыль мне, и я подскажу. Мой E - Mail: padre03@mail.ru. Жду.
Например, если в Базе очень много записей, и тебе надо от одной
записи вертеть несколько сотен до другой, то проще будет на одну запись кинуть
закладку, и потом с любой записи одним щелчком попасть на запись, на которой
стоит закладка. Ты что - нибудь понял? Ну, если не понял то сам разбирайся.
Опять усовершенствуем наш проект, добавим туда еще 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
Теперь ставь закладку на
любую запись, и потом на другой записи жми Переход, и ты попадешь на ту запись,
где стояла закладка.
Т.к. базы нужны в основном для фирм (туда имена, адреса... вносят,
что не видел на рынках ими торгуют?), то когда накапливается очень много имен,
то поиск может занять несколько часов, и для этого иногда программеры делают
кнопочку поиск, вот и мы щас такую сделаем.
Представьте себе, что тебе нужно
найти конкретное имя автора из тысяч других... 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
Этот объект, очень стремный, но иногда без него не обойтись (я им
пользовался только 1 раз, когда прихватило:-)). С помощью этого объекта, можно
из других прог что - нибудь вставлять. Например из Worda, мы сможем вставить
текст, или его знаменитые объемные рисунки. Начнем. На форму кинь объект
OLE().Жди. Через 5-15 сек. появится окно
Вставка объекта, там ты выбираешь прогу, из которой будет вставлен объект. В нем
крути в самый конец, там найди Рисунок Word, и нажми ОК. От куда не возьмись,
появляется окошко, да не простое, а вордовское. В нем впиши текст, впихни
рисунки... и закрой его. Теперь вернись в VB, в объекте OLE появился твой текст!
Отлично!
Т.к. Басик входит в 5 лучших языков, то он и должен уметь работать с
принтером. Ты понял на что я намекаю? А я намекаю на то, что этот и последующие
шаги будут посвещены ПРИНТЕРАМ. Если у тебя нет принтера, то срочно купи, а то
несколько следующих шагов тебе придется пропустить. Так что, быстро бери бабки,
и беги в магазин :-)). Начнем с печати всей формы. Для этого у формы есть
свойство PrintForm(Печать формы).
Form1.PrintForm 'Печатаем
форму
Ну это все фигня, т.к. форму почти ни кто не когда не печатает,
а люди обычно печатают текст :-)).
Ну если есть в текстовых полях текст, значит его можно отпечатать, и
не обязательно в текстовых полях, а можно просто текст. Ну короче, не буду
тянуть, для работы с принтером, есть спец объект - Printer, а у этого объекта
уже есть свойства и методы для управления им. Первый метод который ты узнаешь в
этом шаге будет Print(Печать). На форму кинь 1 Текстовое поле, и 1 кнопку (я
специально не сказал Войди в VB(Standart EXE), не маленький, должен
запомнить:-)).)
Private Sub Command1_Click()
Printer.Print Text1.Text
'Печатаем текст введенный в Текстовое поле
End
Sub
Ну что печатает? Не знаю как у тебя, а я, у себя заметил глюк (у меня VB5
- но я не америкос (Почему - то в инете принято считать, что если у тебя VB5 -
то ты америкос, наверное это придумали те у кого VB6...)), я нажимаю на кнопку,
и не печатает, надо обязательно выйти из проги, и только тогда принтер
зафурычит.
Ты наверное скажешь: "Не фига себе заголовок" - и ты будешь прав,
т.к. ни чего лучше я не придумал, но зато как сказал - не в бровь а в глаз:-)).
Например:
Printer.Font.Name = "Script" 'Буде использован
шрифт Script
Printer.Font.Size = 18 'Текст будет
размером = 18
Это свойство уже почти не используется, т.к. монохромные принтеры
остались только в музеях, и в моей школе:-)). Но я все равно тебе о нем
расскажу. На форму кинь текстовое поле, и кнопку. И впиши: автор учебника: Падре
Private Sub
Command1_Click()
Text1.Text = Printer.ColorMode 'В
текстовом поле появится цифра 1,или 2.Это тип принтера. Если появится 1 значит
принтер монохромный, если 2 - то цветной.
End Sub
Если у
тебя есть вопросы, пожелания, и т.д., то оставляй их на форуме, гостевой книге,
или пиши в наглую на е - мэйл: padre03@mail.ru. И если ты зайдешь на мой
сайт, кликни плиз по банеру Porta(сиреневый), мне за это немного бабла
отвалется(2 цента). И если ты захочешь поддержать Отечественного
производителя(т.е. Меня), то кликай по банеру раз в месяц. А если ты очень
богатый, то не просто кликни, а еще что - нибудь купи.
Дата создания: 12 апреля 2003
года
Место под Банеры |
![]() |