DELPHI: Сам cебе программист - FAQ, Советы начинающим,Cтатьи | |
Первая программа : всё тут ясно! | |
Главная
Обучение
Мои программы
FAQ
В дело-2
Рассылка
3D+Delphi
Антиглюк
Прикольно?
Заказ!
Кто мы?
Перевод:
System Parameters Info |
Если Вы совершенно ничего не понимаете, то скачайте пожалуйста УЧЕБНИК
УЧЕБНИК(тот же самый, другая ссылка)
Если ничего не получилось скачать, то скажу, что файлик зовётся delphi.rar и лежит прямо в главном каталоге
...Возможно, Вы это уже видели... Так как это самый популярный "учебник" по Delphi. Я его видел в 5-ти разных исполнениях! Но там всё понятно - по крайней мере, в начале. А дальше - разберёмся вместе. Если всё-таки что-то окажется непонятным, тогда не стесняйтесь, спрашивайте! Ведь рассылка для этого и предназначена!:о) Полагая, что Вы одним глазом уже поглядели на учебник, приступаем! |
В путь! Программа первая: "Сам себе...сделаю что-нибудь!"Для начала нужно придумать, что мы будем делать? Например - "Записную книжку". Она будет появляться на экране при наведении мышки в определённую область экрана на 1,5 секунды, в неё можно будет записывать всё что угодно, вставлять адреса Интернета и быстро переходить на них, просто выделив адрес и нажав комбинацию клавиш, она будет легко убираться с экрана, возможно, добавим функцию "Сохранить скопированный рисунок", она будет поддерживать прозрачность! Как идейка? Да пойдёт пока!Поехали! Запускаем Delphi, видим перед собой пустое окно - там будут располагаться элементы управления. Сверху - главное окно Delphi, там стандартное меню, кнопки, стандартные элементы на ПАЛИТРЕ КОМПОНЕНТ. Закладка "Стандартные"="Standart": ищем там компоненты Memo, ComboBox, MainMenu помещаем их по очереди на форму(окно с заголовком Form1).
Memo - поле для ввода текстов, родня стандартного Блокнота. В него мы будем записывать что хотим.
Поместили? Теперь нужно задать необходимые свойства нашим компонентам.ComboBox - поле ввода с выпадающим списком, мы будем использовать его для ввода адресов MainMenu - главное меню окна. Там будут пункты < Файл > - "Сохранить текст как..", "Очистить", "Выход" < Правка > - "Копировать", "Вырезать", "Вставить" Выделим Memo1 - в самом левом окне Delphi - инспекторе обьектов(Object Inspector) появятся свойства Memo1 Сейчас нам нужно убрать текст "Memo1" из поля ввода, изменить шрифт, установить, где будут полосы прокрутки, установить, где будет "Прилеплен" этот компонент.
В Инспекторе обьектов две закладки: Параметры(Properties) и События(developments)
На вкладке Параметры отображается имя компонента, его класс, его свойства:
название свойства и его значение,
например:
Установим свойство Align у Memo1 как albottom. Memo1 "прилепится" к нижнему краю.
ComboBox1 поместим повыше Memo1, так, чтобы на форме не было свободного места.
Теперь уберём текст из Memo1 : Щёлкаем на поле свойства "Lines" по многоточию и
открывается редактор текста - стираем там всё и ОК. Align - Положение обьекта на форме,может принимать значения : AlLeft(СЛЕВА), AlRight(СПРАВА), AlClient(ВСЁ СВОБОДНОЕ МЕСТО), AlBottom(СНИЗУ),AlTop(СВЕРХУ),alnone(НЕТ) У ComboBox есть свойство "Anchors" - щёлкаем по плюсику и устанавливаем TRUE(истина) у AKRIGHT, AKLEFT и AKTOP - ComboBox1 растянется от левого края до правого! Выбираем свойство "TEXT" и стираем. Можете написать "ПРОСТО Адрес" или любимый адрес интернета.
Кстати, если вы вдруг не заметили, у кажного обьекта по углам и
серединам сторон чёрные квадратики - хватаем их мышкой и изменяем размеры.
Теперь займёмся компонентом MainMenu - делаем на нём двойной щелчок
и перед нами возникает редактор меню.Вы можете сразу вводить текст - он будет появляться в Инспекторе Обьектов, в поле "Caption" Как введёте текст(наример,ФАЙЛ), жмите ENTER - и вводим следующий текст(СОХРАНИТЬ), СОХРАНИТЬ КАК, ВЫХОД. Вы можете поставить знак & перед каким-нибудь символом - он будет подчёркнут,
это будет "быстрая" кнопка
Итак, с интерфейсом (интерфейс перевоится как "взаимодействие") мы разобрались.
Приступаем к написанию кода, товарищи программисты!!
Пишем себе, пишем...Где писать, что писать, зачем писать?Для начала сделаем возможность сохранить текст: Идём на закладку "Диалоги"(Dialogs) , берём компонент SaveDialog, кидаем его на форму. Самая нужная настройка в нём - фильтр расширения файла. Двойной щелчок по полю Filters - перед нами редактор фильтров. Пишем слева - "текст", справа - *.txt, во второй строке - "HTML" и *.htm, "все файлы" и фильтр *.* или ещё что-нибудь по своему желанию. Выделяем в нашем меню пункт "Сохранить", щёлкаем - и оказываемся в редакторе кода, как раз там, где нужно писать. Пусть при нажатии "Сохранить" текст сохранится просто - в файлике "По умолчанию". Для этого вводим между BEGIN и END следующий текст: Memo1.lines.savetofile('C:\Zapis.txt'); =Мемо1.Строки.СохранитьВфайл('C:\Zapis.txt'); - это если желаете сохранить текст как файл с именем C:\Zapis.txt или Memo1.lines.savetofile(extractfilepath(application.exename)+'Zapis.txt') =Мемо1.Строки.СохранитьВфайл(ИзвлечьПутьФайла(приложение.имя)); - если сохранять в одном каталоге с программой как Zapis.txt А если мы захотим сохранить текст как-то по-другому? Для этого есть пункт меню "Сохранить как" - щёлкаем и пишем : if savedialog1.execute then memo1.lines.savetofile(savedialog1.filename); = если ДиалогСохранения.исполнится то Мемо1.Строки.СохранитьВфайл(ДиалогСохранения1.ИмяФайла);Если Вы знаете английский, то Вы и сами это поняли. :о) Ух, теперь нужно сделать, чтобы адреса, введёные в ComboBox1, сохранялись там и чтобы можно было прямо из программы открыть браузер. Пишем!!!! Сделаем, чтобы текст, введёный один раз, там сохранялся при введении следующего и при нажатии "Домой" = "НОМЕ" браузер открывал заданный адрес. Выделим ComboBox1, и прогуляемся до Инспектора Обьектов - на закладку События, выбираем там событие "OnKeyDown", двойной щелчок в поле свойства - и мы уже в редакторе кода. Вводим: if Key=VK_HOME then shellexecute(0,'open',pchar(combobox1.text),'','',1); //Если кнопка= ВиртуальныйКод_Домой то командуем 'открыть' файл с именем=текст в комбобоксе Везде, где стоит 0 или '' - значит, в данный момент мы можем туда ничего не писать, кроме 0 или '' if key-VK_RETURN then ComboBox1.items.add(ComboBox1.text) // если кнопка = RETURN= возврат каретки, Enter то ComboBox1.пункт.добавить(ComboBox1Текст)Давайте сделаем так, чтобы при нажатии Insert в Memo1 в веб-обозревателе открывалась страничка, адрес которой-выделенный текст.Для этого в обработчике события "OnKeydown" у Memo1 напишем: if key=vk_insert then // если кнопка=вк_вставить тогда shellexecute(0,'open',pchar(memo1.SelText),'','',1);Для того, чтобы "shellexecute" работало, нужно добавить "Shellapi" после слова "Uses" в самом верху кода программы. Ещё : Вы можете нажать F1 в Delphi, ввести в поиск "virtual key codes" и получить полный список виртуальных кодов.Там всё по-английски, но догадаться легко! Всё, что написано после "Uses" до ";" - список используемых модулей.
Мы добавляем модуль "Shellapi", в котором есть описание команды "shellexecute"
Для того, чтобы сохранить введённые адреса, пишем там, где сохраняли просто текст:
ComboBox1.items.savetofile({тут уж как хотите, можно} 'c:\adres.txt'); ну, или добавляем пункт меню "сохранить адреса" и пишем if savedialog1.execute then ComboBox1.items.savetofile(savedialog1.filename); Про это я обьяснил уже... Продолжение следует!Анкету и рассылкаПродолжение >>>> |