Содержание
Введение
1 Теоретические сведения
2 Практическая часть
2.1Задание
2.2 Листинг программы
2.3Экранные формы
Выводы
Литература
Введение
Тема работы «Обработка одномерных массивов в среде программирования Lazarus»
Цель работы: получение практических навыков создания оконных приложений для обработкиодномерных массивовв среде Lazarus.
Lazarus — свободная среда разработки программного обеспечения для компилятора Free Pascal Compiler. Интегрированная среда разработки предоставляет возможность кроссплатформенной разработки приложений в Delphi-подобном окружении.
На данный момент является единственным инструментом, позволяющим достаточно несложно переносить Delphi-программы с графическим интерфейсом в различные операционные системы: Linux, FreeBSD, Mac OS X, Microsoft Windows.
1 Теоретические сведения
В среде Lazarus для ввода массивов не предусмотрены никакие специальные компоненты, поэтому можно использовать компоненты Edit, Memo или любые другие, предназначенные для ввода данных.
Можно вводить элементы в окне по одному. В этом случае при однократномнажатии кнопки ввода в обработчикесобытий должны выполниться следующие операторы:
i:=i+1;
a[i]:=StrToInt(Edit1.Text);
Это означает, что нажатие кнопки приводит к добавлению одного элемента из окна Edit в массив. При выполнении последующих действий по обработке массива значение переменной i определит количество элементов массива. Начальное значение i=0можно задать в разделе описания типизированных констант или в методе OnCreateдля формы (см. ниже) и сбрасывать его каждый раз при вводе нового массива. В массив запишется столько элементов, сколько раз будет нажата кнопка ввода. Если не сбрасывать значение i, то даже после обработки массива можно продолжить ввод элементов в массив.
На рисунке 1 представлена форма для ввода элементов массива.
Рисунок 1- Форма программы для ввода и вывода массива
СкнопкойButton1 связанметодprocedure Button1Click - ( Ввод ). Метод edit 1. SetFocus устанавливает фокусна строке ввода Edit1.
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
a:array[1..20]of integer;
j,i,n:integer;
implementation
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
i:=0;
listBox1.Clear;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.SetFocus;
i:=i+1;
a[i]:=strToInt (edit1.text);
edit1.Clear;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
for j:=1 to i do
listBox1.Items.Add(IntToStr(a[j]));
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
i:=0;
listBox1.Clear;
end;
initialization
{$I unit2.lrs}
end.
На рисунке 2 представлен результат работы программы.
Рисунок 2- Результат работы программы ввода и вывода массива
В компоненте Edit можно ввести сразу все элементы массива, разделяя их пробелами. Нужно помнить, что количество пробелов-разделителей может быть любым.
Цикл для пропуска пробелов между словами :
while (st[i]=' ') and (i<=length(st)) do
inc(i);
Слова можно пропустить аналогичным циклом:
while (st[i]<>' ') and (i<=length(st)) do
inc(i);
Эти два цикла должны быть включены во внешний цикл, который закончится тогда, когда закончится строка.
Пример выделения всех слов строки st:
i:=1;
while i<=length(st) do
begin
while (st[i]=' ') and (i<=length(st)) do
inc(i);
k:=i;
while (st[i]<>' ') and (i<=length(st)) do
inc(i);
sl:=copy(st,k,i-k);
{обработка выделенного слова sl}
end;
В отличие от строки ввода, текстовый редакторMemo может содержать любое количество строк. Егосвойство text представляет собой строку, состоящую из находящихся в поле Memo строк, разделенных последовательностью символов с кодами 13 и 10 (конец строки и переход на новую строку). Эти символы добавляются в поле Memo при нажатии клавши Enter. Для выделения подстроки, содержащей элемент массива, нужно найти символ с кодом 13 (#13), скопировать в новую подстроку, а затем удалить ее вместе с кодами 13 и 10 и продолжить поиск конца строки.
В приведенном ниже фрагменте программы вначале в строку st записывается содержимое всего окна memo1. Затем отыскивается позиция конца первой строки (n) и эта строкакопируетсяв st1 и удаляетсяиз st. На рисунке 3 приведен результат работы программы.
procedureTForm1.Button1Click(Sender: TObject);
var
st,st1:string;<
Одними из наиболее популярных услуг на рынке IT-технологий являются создание и продвижение лендингов. Они способны положительно влиять на деятельность любого бизнес-проекта в интернете. Судя по многочисленным отзывам, заказавшие создание лендингов люди ни разу не пожалели о потраченных деньгах. Они вложили в будущее, которое неразрывно связано с интернетом. Всё больше и больше предпринимателей обращаются к услугам разных агентств, веб-студий, чтобы заказать создание лендинга у профессионалов.