Презентация "Многострочные компоненты Memo, ListBox, ComboBox (практика)" 9 класс

Подписи к слайдам:
  • Многострочные компоненты
  • Memo, ListBox, ComboBox
  • (практика)
  • Автор: Голяков Николай Александрович
  • Школа №5 г. Дубна, МО
  • Сайт автора: http://оннаш.рф
  • Информатика 9-10 класс
  • Свойство или процедура компонента
  • применение
  • типы данных
  •  Memo1.Lines[n]
  •  обращение к 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
  • Memo1.Lines.Insert(n,S)
  •  Добавление строки S в позицию n
  • n — integer S — String
  • Memo1.Lines.LoadFromFile(P)
  • Загрузка текста из фала
  • P — String
  • Memo1.Lines.SaveToFile(P)
  • Сохранение в файл (P — путь к файлу)
  • P — String
  • Memo1.Lines.Delete(n)
  • Удаление строки n
  • n — integer
  • Memo1.Lines.Delete(n)
  • Удаление строки n
  • n — integer
  • Lines
  • Items
  • Создаем новый проект:
  • добавляем 10 кнопок, 4 надписи, Memo, ListBox, ComboBox;
  • добавляем OpenDialog и SaveDialog со вкладки Dialog;
  • Добавляем событие создания формы, прописываем случайную генерацию.
  • procedure TForm1.FormCreate(Sender: TObject);
  • begin
  • Randomize;
  • end;
  • Добавляем глобальные переменные i и j.
  • (эти переменные должны быть локальные по своему замыслу)
  • var
  • Form1: TForm1;
  • i,j,max,min,sum,kol,num:integer;
  • per:string;
  • Добавляем событие нажатия кнопки «Случайно», генерирует сто случайных пятизначных чисел.
  • Memo1.Lines.Clear;
  • for i:=1 to 100 do
  • Memo1.lines.Add(inttostr(random(89999)+10000));
  • Добавляем событие нажатия кнопки «Максимум», определяет максимальное число в массиве записей.
  • 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);
  • Добавляем событие нажатия кнопки «Минимум», определяет минимальное число в массиве записей.
  • 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);
  • Добавляем событие нажатия кнопки «Случайно», рассчитывает и выводит сумму чисел массива записей.
  • (В комментариях указаны изменения на произведение, текущий тип переменной на результат с данными числами не достаточен)
  • 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);
  • Добавляем событие нажатия кнопки «Количество по условию», определение количества записей удовлетворяющих условие.
  • 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);
  • Добавляем три события нажатия кнопок «Сортировка n», сортируют записи по убыванию числового значения.
  • Представлены три метода, имеющие недостатки …, требуется проанализировать их работу и указать достоинства и недостатки каждого из них.
  • (Домашнее задание)
  • Сортировка 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;
  • Сортировка 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;
  • Сортировка 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;
  • Добавляем события нажатия кнопок «Сохранить», «Открыть», выполняющие открытие и сохранение записей.
  • if SaveDialog1.Execute then
  • Memo1.Lines.SaveToFile(SaveDialog1.FileName);
  • if OpenDialog1.Execute then
  • Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
  • Для закрепления материала перейдите на страничку
  • http://оннаш.рф/%d0%bc%d0%b0%d1%81%d1%81%d0%b8%d0%b2-%d1%81%d1%82%d1%80%d0%be%d0%ba-%d0%b2-lazarus/
  • где будет сгенерировано индивидуальное задание.
  • ВПЕРЕД