Сам себе программист 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 - Положение обьекта на форме,может принимать значения :
AlLeft(СЛЕВА), AlRight(СПРАВА),
AlClient(ВСЁ СВОБОДНОЕ МЕСТО),
AlBottom(СНИЗУ),AlTop(СВЕРХУ),alnone(НЕТ)
  
Установим свойство Align у Memo1 как albottom. Memo1 "прилепится" к нижнему краю. ComboBox1 поместим повыше Memo1, так, чтобы на форме не было свободного места. Теперь уберём текст из Memo1 : Щёлкаем на поле свойства "Lines" по многоточию и открывается редактор текста - стираем там всё и ОК.
У 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);
Про это я обьяснил уже...
 

Продолжение следует!

Анкету и рассылка

Продолжение >>>>

Обучение Рассылка Мои программы FAQ 3D+Delphi АнтиглюкЮмор Прикольно?ю Заказ! Кто мы? Глюки... System Parameters Info
Хостинг от uCoz