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

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

Часть 1/Часть 2/Часть 3/Часть 4/Часть 5/Часть 6/Часть 7/Часть 8/Часть 9/ Часть 10 /Часть 11/Часть 12/Часть 13/Часть 14/Часть 15

ШАГ 81:

Компонент Microsoft Rich Textbox Control 6.0:

Этот компонент нужен для открытия больших файлов, ведь текстовое поле не потянет файл весом 50 - 60 KB, а разместив этот компонент, ты сможешь открывать большие файлы. установив галку на компоненте Microsoft Rich Textbox Control 6.0 у тебя на панели инструментов появится объект Rich TextBox. Но этот компонент нужен не тока для этого, с помощью него можно в одном текстовом поле поместить текст с разным цветом, шрифтом... Вот например щас сделаем прогу. На форму кинь 4 кнопки, 1 Rich TextBox.



Private Sub Command1_Click()
RichTextBox1.SelColor = vbRed ' Делаем цвет текста красный
End Sub

Privte Sub Command2_Click()
RichTextBox1.SelFontSize = 15 ' Меняем размер шрифта
End Sub

Private Sub Command3_Click()
RichTextBox1.SelItalic = 1 ' Делаем шрифт курсивный
End Sub

Private Sub Command4_Click()
RichTextBox1.SelBold = 1 ' Делаем шрифт жирный
End Sub



Ну что впечатляет? А в текстовом поле такого сделать нельзя. Исходник - Здесь

ШАГ 82:

PasswordChar:

Свойство PasswordChar нужно для скрытия в текстовых полях текста. Это как при соеденение с инетом, в соединение пароль скрыт звездочками. Так и это свойство, делает тоже самое. На форму кинь Textовое поле. Код:

Private Sub Form_Load()
Text1.PasswordChar = "*"'Скрываем звездочками текст в текстовом поле.
End Sub

Вот в этом примере показано как скрывать пароли от Злых и Добрых дядек. Но есть одно НО, все скрытые пароли можно рассекретить с помощью спец прог. Если мне не веришь, то скачай вот вот эту прогу(Хей! Она же на VB написана). Открой ее, и открой нашу прогу. Теперь нажми на текстовое поле - звездочек нет! И чтоб этого избежать, у Билл Гейца не хватило ума, сделать прогу(Даже я смог!). Эту прогу мы сделаем через Шаг.

ШАГ 83:

Ловим нажатые клавиши.

Для ловки нажатых клавишь сделаем прогу. На форму кинь кнопку(Caption = "", Enabled = False). Код:

Private Sub Form_KeyPress(KeyAscii As Integer) 'Событие KeyPress, если ты не забыл, действует тогда, когда нажата какая - нибудь клавиша
Command1.Caption = Command1.Caption + Chr(KeyAscii) 'Надпись кнопки = надписи кнопки + Chr(KeyAscii). KeyAscii - код нажатой клавиши, только он в Ascii кодировке. А с помощью функции Chr(про нее читай в 7 Шаге) мы переводим из Ascii в обычную кодировку. Если KeyAscii = 0 то сигнала от клавы нет.
End Sub

ШАГ 84:

Защита.

Принцип защиты будет прост - наеб...а(кто не понял, скажу по русски(хотя и там было по русски), я имел введу обман. Да, да, принцип защиты будет обман). Мы не будем пользоваться свойствами PasswordChar, а в Текстовое поле будем посылать свои звездочки. На форму кинь 2 текстовых поля(В Text1 будет все зассекречено звездочками, а в Text2 без них(и свойство Text у них = "")). Код:

'
Private Sub Text1_KeyPress(KeyAscii As Integer) 'Если в Text1(т.е. должен курсор в нем мегать) нажата клавиша клавы то:
Text2.Text = Text2.Text + Chr(KeyAscii) 'Text2.text = Text2.Text + Нажатая клавиша(с помощью KeyAscii ловим нажатую клавишу, а с функцией Chr переводим ее из Ascii в обычную кодировку)
If KeyAscii = 8 Then 'Если юзер нажимает на BackSpace то:
KeyAscii = 8 ' Посылаем код нажатой клавиши BackSpace(т.е. стирается один символ из текстового поля)
Else ' Если юзер не нажал BackSpace, а нажал на другую клавишу то:
Text1.Text = Text1.Text + "*" 'К Текстовому полю 1 прибовляем звездочку(и теперь нас не одна хак прога не возмет(т.к. под звездочкой нет не каких символов))
KeyAscii = 0 'И не куда не посылаем сигнал нажатой клавиши(это чтоб в текстовом поле после звездочки не писались введенные в него(в текстовое поле(ты что забыл?)) символы)
End If
End Sub

ШАГ 85:

Прога Restorator:

Хоть это и к VB не имеет ни кокого отношение(хотя кто знает...), но все равно я решил, не проподать же добру, о такой проге должен знать каждый. Эта прога нужна для изменения EXE и DLL файлов(а ты думал только на ассемблере можно такие вещи можно делать?). Короче скачивай ее с моего сайта, вместе с русификатором и кряком. Русифицируй и взламывай ее. Сейчас мы немного изменим калькулятор. Нажми Файл>>Открыть. В папке Windows ищи файл CALC. Нашел? Молодец! Теперь открой его. В правой части Restorator`a появилось все содержимое калькулятора. В папке Menu - хранится меню калькулятора, в Dialog - диалоги, в String всякие слова, обращения, в папке Icon - хранятся все иконки. В файлах есть еще и папка Bitmap, JPEG..., они хранят рисунки. Ну начнем, наши великие исправления! Для начала сменим Iconку. В 3-ем окне выбери диск C:
Ресторатор
Теперь открой папку Icon, там будет файл SC. Нажми на него правой кнопкой мыши, и поставь Извлечь как>>Извлечь как SC.BMP. Теперь в диске C: утебя извлеклись несколько файлов BMP. Открой SC.BMP, и в нем что - нибудь подрисуй. Теперь из 3-его окна перениси файл SC.BMP в файл SC(он в папке Icon в 1-ом окне). Все, первое сделали(И у тебя всегда над исправленным объектом будет стрелка, как у ярлыка(Ресторатор)).
Теперь изменим меню. Включи Режим правки(Просмоторщик>>Режим Правки), выбери папку Menu, и файл 106. Там будет такая фенька:
106 MENU
{
POPUP "&СПравка"
{
MENUITEM "&CКопировать\tCtrl+C", 300
Сдесь я немного изменил раздел Правка(СПравка), и подраздел Копировать(на Скопировать). Тоже так измени. Нажми F8 чтобы принять изменения. Ну остальное сам меняй. Теперь сохраним. Нажми Файд>>Сохранить как, и выбери CALC.EXE, он тебя спросит: "Заменить?" Жми Да. Теперь войди в Пуск>>Програмы>>Стандартные>>Калькулятор. Все что мы меняли, поменялось!

ШАГ 86:

Прога Restorator. Захват Иконок:

Т.к. у тебя скорее всего не хватает иконок и курсоров, то мы сейчас захватим все иконки и курсора, которые известны системе(у меня теперь 13327 иконок и курсоров). Для этого войди в Инструменты>>Захват Ресурсов. Поставь галки на "Иконки" и "Курсора". В двух текстовых полях впиши C:\
Ресторатор
Жми на кнопку "Захват Теперь", и жди. Когда все иконки и курсора будут захвачены, заходи в диск C:, и там ты увидишь 2 папки Icon и Cyrsor.

ШАГ 87

Базы Данных - Начало

Ну как я и говорил, что база данных это любой текст, который где - то хранится. У МелкоСофта есть спец прога, для создания баз данных. Ты скажешь: "Мне это не надо, и я не буду читать этот глупый шаг, т.к. на хрен мне нужно где - то хранить текст, с помощью каких - то прог, когда я могу сделать прогу, которая будет сохранять текст в текстовой документ". Нет ты не прав, т.к. в текстовой документ, больше 40 KB не поместится, но это не важно. В базах данных можно хранить картинки, упорядоченный текст..., а в текстовом документе таково ты не когда не сделаешь. Для их создания нужна прога Access, она входит в пакет МелкоСофт Офис (это где Word, Exel), а это есть почти на каждом системнике. Т.к. у меня Office 97,и Access соответственно старый (в Office 2000 наверное другие панельки, но смысл один и тот же).

ШАГ 88

Создание первой БД (База Данных)

Войди в Access, перед тобой появится окно:

Поставь переключатель на Новая БД, и нажми на ОК (или нажми на Файл/Создать БД, у тебя появится окно "Создание", в нем выбери значок Новая БД, и нажми ОК). У тебя откроется окно "Файл Новой БД", нажми создать.

Теперь у тебя на винте создался файл (у меня в Моих Документах), где будет все храниться. Потом появляется еще одно окошко.

Для начала ты научишься создавать таблицы, и для этого в кладке Таблицы нажми Создать, в появившимся окне (Новая таблица), жми на Режим таблицы. Все Table создана! В поле 1 впиши padre03@mail.ru, в поле 2 впиши VBStreets.narod.ru. Теперь удаляй все лишние столбцы, и сохраняй.

При сохранении появляется окно (Сохранение, в нем будет текстовое поле, там по умолчанию вписано Таблица, оставь ее, и не чего не меняй), нажимай на ОК. Появляется ошибка (Ключевые поля не заданы), жми Да. Все, свою первую БД мы создали, а толку от нее нет, т.к. от нее пользы ни какой нет. А чтоб была польза, создай новый проект(Standart EXE), на форму кинь 2 метки, 2 текстовых поля, и объект Data(), этот объект нужен для связи с Базой. У объекта Data, свойство Caption = "БД". У первой метки Caption = "Я напишу на:", у второй = "Я нажму на банер на:" .Написал? Молодец! Теперь выполняй (ЖМИ НА БАННЕР!!!) Вот что у тебя должно получиться:

Получилось? Отлично! Теперь присоеденим к нашему проекту, БД. Для этого выдели объект Data, и в свойствах 2 раза кликни по DatabaseName, в окне открытия файлов выбери свою базу, и кликни открыть, в свойстве RecordSource выбери Таблица. Теперь подсоединим Базу к текстовым полям. У Text1 в свойстве DataSource выбери Data1,и в DataField = Поле! (это то где мы вписывали мой E -Mail). У Text2 - DataSource = Data1,DataField = Поле 2.И если ты изменишь текст в текстовых полях, то он автоматом сохранится в базу. Отлично! Ты сделал свою первую Базу. Yes!!!

ШАГ 89

Подключаем Базу программно

В предыдущем шаге мы подключали Базу автоматом (т.е. без кода), но у этого способа есть 1 недостаток, его нельзя переносить на другие компы. Вот случай был, я сделал прогу Халявный инет (шаг 43), только пароль введенный одним ламером, который живет надо мной, записывался не в файл, а в базу. А я в начале даже и не подумал о том, что базу надо подключать не автоматом, а в ручную (автоматом не понятно почему глючит, но т.к. я по базам не спец, я не знаю (если ты знаешь, то пиши)). Ну, у ламера мы пароль узнали, только с помощью OpenPass и дискеты. Что - то я отвлекся, сделай такой же проект (как предыдущий), но ни чего не настраивай, а впиши код:
Private Sub Form_Load() 'При запуске формы:
Data1.DatabaseName = "db1.mdb" 'Ищем базу в той же дирке где и сама прога
Data1.RecordSource = "Таблица1" 'Имя таблицы, для доступа к ней
Text1.DataField = "Поле1" 'В Text1 из Поле1 будет загружаться текст
Text2.DataField = "Поле2" 'В Text2 из Поле2 будет загружаться текст
End Sub
Как ты наверное заметил (Или нет?), что мы у текстового поля не указали свойство DataSource, это единственное свойство которое нельзя указать программно. Ну раз нельзя, так нельзя - тогда поставь его в окне свойств = Data1. Исходник - Здесь

ШАГ 90

Задание по БД

Твоя цель расширить базу (под моим E - Mial`om и сайтом впиши что - нибудь), на форму кинь еще текстовое поле(Text3.DataField = "Код"), оно будет считать строки. Ну короче сам разбирайся! Исходник - Здесь

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

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

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

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