293.50K
Категория: ПрограммированиеПрограммирование

Многострочные компоненты Memo, ListBox, ComboBox (практика)

1.

Информатика 9-10 класс
Многострочные компоненты
Memo, ListBox, ComboBox
(практика)
Автор: Голяков Николай Александрович
Школа №5 г. Дубна, МО
Сайт автора: http://оннаш.рф

2.

Lines
Свойство или процедура
компонента
применение
Items
типы данных
обращение к n-ой
результат String
строке
n — integer
Memo1.Lines.Count
Количество строк
integer
Очистка
Memo1.Lines.Clear
содержимого
Memo1.Lines.Add(S)
Добавление строки S S — String
Memo1.Lines.Delete(n)
Удаление строки n
n — integer
Добавление строки S n — integer
Memo1.Lines.Insert(n,S)
в позицию n
S — String
текста из
Memo1.Lines.LoadFromFile(P) Загрузка
P — String
фала
Сохранение в файл (P P — String
Memo1.Lines.SaveToFile(P)
— путь к файлу)
Memo1.Lines.Delete(n)
Удаление строки n
n — integer
Memo1.Lines.Delete(n)
Удаление строки n
n — integer
Memo1.Lines[n]

3.

Создаем новый проект:
- добавляем 10 кнопок, 4 надписи, Memo, ListBox,
ComboBox;
- добавляем OpenDialog и SaveDialog со вкладки
Dialog;

4.

Добавляем
событие
создания
формы,
прописываем случайную генерацию.
procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize;
end;
Добавляем глобальные переменные i и j.
(эти переменные должны быть локальные по
своему замыслу)
var
Form1: TForm1;
i,j,max,min,sum,kol,num:integer;
per:string;

5.

Добавляем
событие
нажатия
кнопки
«Случайно», генерирует сто случайных
пятизначных чисел.
Memo1.Lines.Clear;
for i:=1 to 100 do
Memo1.lines.Add(inttostr(random(89999)+10000));

6.

Добавляем
событие
нажатия
кнопки
«Максимум», определяет максимальное
число в массиве записей.
max:=strtoint(Memo1.Lines[0]);
for i:=1 to memo1.lines.Count-1 do
if max<strtoint(Memo1.Lines[i]) then
max:=strtoint(Memo1.Lines[i]);
Label1.Caption:=inttostr(max);

7.

Добавляем
событие
нажатия
кнопки
«Минимум», определяет минимальное число
в массиве записей.
min:=strtoint(Memo1.Lines[0]);
for i:=1 to memo1.lines.Count-1 do
if min>strtoint(Memo1.Lines[i]) then
min:=strtoint(Memo1.Lines[i]);
Label2.Caption:=inttostr(min);

8.

Добавляем
событие
нажатия
кнопки
«Случайно», рассчитывает и выводит сумму
чисел массива записей.
(В комментариях указаны изменения на
произведение, текущий тип переменной на
результат с данными числами не достаточен)
sum:=0; //Pr:=1;
for i:=0 to memo1.lines.Count-1 do
sum:=sum+strtoint(Memo1.Lines[i]);//Pr:=Pr*...
Label3.Caption:=inttostr(sum);

9.

Добавляем
«Количество
количества
условие.
событие
нажатия
кнопки
по условию», определение
записей
удовлетворяющих
kol:=0;
for i:=0 to memo1.lines.Count-1 do
if strtoint(Memo1.Lines[i])>50000 then
inc(kol);// kol:=kol+1;
Label4.Caption:=inttostr(kol);

10.

Добавляем три события нажатия кнопок
«Сортировка n», сортируют записи по
убыванию числового значения.
Представлены три метода, имеющие недостатки
…, требуется проанализировать их работу и
указать достоинства и недостатки каждого из них.
(Домашнее задание)

11.

Сортировка 1
for j:=0 to memo1.lines.Count-2 do
begin
num:=j;
max:=strtoint(Memo1.Lines[j]);
for i:=j+1 to memo1.lines.Count-1 do
if max<strtoint(Memo1.Lines[i]) then
begin
num:=i;
max:=strtoint(Memo1.Lines[i]);
end;
per:=Memo1.Lines[j];
Memo1.Lines[j]:=Memo1.Lines[num];
Memo1.Lines[num]:=per;
end;

12.

Сортировка 2
for j:=0 to memo1.lines.Count-1 do
begin
num:=0;
max:=strtoint(Memo1.Lines[0]);
for i:=0 to memo1.lines.Count-1-j do
if max<strtoint(Memo1.Lines[i]) then
begin
num:=i;
max:=strtoint(Memo1.Lines[i]);
end;
Memo1.Lines.Add(Memo1.Lines[num]);
Memo1.Lines.Delete(num);
end;

13.

Сортировка 3
for j:=1 to memo1.lines.Count-1 do
begin
for i:=0 to j-1 do
if
strtoint(Memo1.Lines[j])>strtoint(Memo1.Lines[i])
then
begin
Memo1.Lines.Insert(i,Memo1.Lines[j]);
Memo1.Lines.Delete(j+1);
break;
end; end;

14.

Добавляем
события
нажатия
кнопок
«Сохранить», «Открыть», выполняющие
открытие и сохранение записей.
if SaveDialog1.Execute then
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);

15.

Для закрепления материала перейдите на
страничку
http://оннаш.рф/%d0%bc%d0%b0%d1%81%d
1%81%d0%b8%d0%b2%d1%81%d1%82%d1%80%d0%be%d0%ba%d0%b2-lazarus/
ВПЕРЕД
где будет сгенерировано индивидуальное
задание.
English     Русский Правила