Контрольная работа: Обработка одномерных массивов в среде программирования Lazarus

В приведенном ниже фрагменте программы вначале в строку st записывается содержимое всего окна memo1. Затем отыскивается позиция конца первой строки (n) и эта строкакопируетсяв st1 и удаляетсяиз st. На рисунке 3 приведен результат работы программы.

procedureTForm1.Button1Click(Sender: TObject);

var

st,st1:string;

n:integer;

begin

st:=memo1.Text;

n:=pos(#13,st);

st1:=copy(st,1,n-1);

label1.Caption:='Первыйэлемент = '+st1;

delete(st,1,n+1);

ShowMessage('остальныеэлементы:'+#13+st);

end;

Рисунок 3 - Результат обработки memo . text

Приведенный выше пример не учитывает того обстоятельства, что любая подстрока может содержать любое количество пробелов. Их нужно удалить перед преобразованием строки в число.

Функция GetLine возвращает подстроку с номером n из строки.

Function GetLine(s:string;n:integer):string;

var

p:integer;

begin

{удалить пробелы в начале строки}

While (pos(' ',s)=1)and (length(s)>0) do

delete(s,1,1);

if n>1 then

repeat

p:=pos(#13,s);

if p<>0 then

begin

s:=copy(s,p+2,length(s)-p);

While (pos(' ',s)=1)and (length(s)>0) do

К-во Просмотров: 306
Бесплатно скачать Контрольная работа: Обработка одномерных массивов в среде программирования Lazarus