Егор Зотов
S:15:23:13 02.05
R:15:23:15 02.05
Файл создать форму(unit.lrs, unit.pas)
Файл создать модуль (unit.pas)
Visible=false
В разделе uses вызывающего модуля необходимо прописать их имена:
Добавляемый модуль сохранить на диске
Код > добавить модуль в выражение uses (раздел IMPLEMENTATION)
Пример:
Разработать приложение, которое позволяет:
1 Вводить текст из нескольких строк, содержащих фамилию и имя (с произвольным количеством пробелов между ними)
2 Находить в тексте заданное имя
3 Выводить в дополнительном окне (с помощью кнопок этого окна) список фамилий или список имен
4 Выводить в дополнительном окне информацию о разработчике программы
Разработать подпрограмму удаляющая из строки лишние пробелы и поместить ее в отдельный модуль(использовать эту подпрограмму при поиске имени, выводе фамилий, выводе имен)
Алгоритм разработки приложения:
1 Разработка схемы взаимодействия модулей
2 Новый проект > приложение > сохранить все
3 Дизайн Form1
4 Сохранить Unit1
5 Файл > создать форму(Form2)
6 Дизайн Form2
7 Сохранить Unit2
8 Вернувшись в Unit1:
9 код > добавить модуль > выражение uses (раздел IMPLEMENTATION)
10 Дизайн Form3
(Необходимо поместить на нее компонент Timage (additional) )
Загрузка изображения:
Выбрать у Image свойство Picture, сделать 2лкм, а затем с помощью окна диалога загрузить картинку
Чтобы подогнать формат рисунка под Image необходимо у Image изменить 2 свойства: 1. Autosize=false 2. Proportional=true
1 Сохранить Unit3
2 Перейдя в Unit1:
3 Код > добавить > unit3
4 Файл > создать модуль(Unit4)
5 В Unit4 после interface’ной части пишем удаление
INTERFACE
Uses..
PROCEDURE UDALENIE(VAR ST:STRING);
IMPLEMENTATION
Uses..
PROCEDURE UDALENIE(VAR ST:STRING);
BEGIN
WHILE POS(‘ ‘,ST)<>0 DO
DELETE(ST,POS(‘ ‘),1);
IF ST[1]=‘ ‘ THEN
DELETE(ST,1,1,);
IF ST[Length(ST)] =‘ ‘ THEN
DELETE(ST,Length(ST),1,);
END;
1 Сохранить Unit4
2 В Unit1:
3 Код > добавить модуль(Unit4)
4 Списки: Form2.Visible:=true;
5 О программе: Form3.Visible:=true;
6 Выход: Close;
7 Поиск:
VAR
IM,ST:STRING;
I:BYTE;
NAIDENO:BOOLEAN;
BEGIN
IM:=InputBox(‘Поиск’,’Имя’, ‘’);
NAIDENO:=false;
FOR I:=0 TO M.LINES.COUNT-1 DO
BEGIN
ST:=M.LINES[I];
UDALENIE(ST);
IF IM=Copy(ST,pos(‘ ‘,ST)+1,Length(ST)-pos(‘ ‘,ST)) THEN
BEGIN
NAIDENO:=true;
BREAK;
END;
END;
IF NOT NAIDENO THEN
ShowMessage(‘Его нет’)
ELSE
ShowMessage(‘Это имя в строке’+IntToStr(I+1));
END;
1 Перейдя в Unit2:
2 Фамилии:
VAR
I:=BYTE;
ST:=STRING;
BEGIN
LB.CLEAR;
FOR I:=0 TO Form1.M.Lines.Count-1 DO
BEGIN
ST:=Form1.M.Lines[I];
UDALENIE(ST);
LB.Items.Add(copy(ST,1,Pos(‘ ‘,ST)-1));
END;
END;
1 Код > добавить модуль(Unit1)
2 Код > добавить модуль(Unit4)
3 Имена:
VAR
I:=BYTE;
ST:=STRING;
BEGIN
LB.CLEAR;
FOR I:=0 TO Form1.M.Lines.Count-1 DO
BEGIN
ST:=Form1.M.Lines[I];
UDALENIE(ST);
LB.Items.Add(copy(ST,Pos(‘ ‘,ST)+1,Length(ST)-Pos(‘ ‘,ST)));
END;
END;
Разработать приложение содержащие меню, которое позволяет:
1 Вводить текст из нескольких строк-символов
2 Определять количество запятых в каждой строке
3 Выводить в отдельном окне с помощью его кнопок: количество восклицательных или вопросительных знаков во всем тексте (можно 2 панельки сделать)
4 Выводить в отдельном окне информацию об авторе
5 Разработать подпрограмму, которая подсчитывает количество вхождений заданного знака в строку