Чтобы работать с массивом,т.е для ввода массива в программу его надо сначала получить от пользователя, а получать мы его будем из поля Edit(см рисунок). Для того чтобы это осуществить нам нужно добавить на форму кнопку Button и поле редактирования Edit.
Чтобы работать с массивом,т.е для ввода массива в программу его надо с начала получить от пользователя, а получать мы его будем из поля Edit(см рисунок). Для того чтобы это осуществить нам нужно добавить на форму кнопку Button и поле редактирования Edit.
Для ввода массива создадим функцию с заголовком :
function GetSubStr(st:string; expl:string; n:integer):string;(1)
где
st - строка, содержащая массив expl - строка разделитель n - номер подстроки
function TForm1.GetSubStr(st:string; expl:string ;n:integer):string;
Var p,i:integer;
Begin
for i:= 1 to n-1 do
begin
p:=pos(expl,st);
st:=copy(st,p+1,Length(st)-p);
while (pos(expl,st)=1) and (length(st)>0) do
delete(st,1,1);
end;
p:=pos(expl,st);
if p<>0 then result:=copy(st,1,p-1)
else result:=st;
End;
Для получения n-ой подстроки (элемента массива) из полученной в качестве аргумента строки функция сначала удаляет предшествующую ей n-1 подстроку (цикл for), затем находит разделитель, который обозначает конец нужной подстроки, выделяет подстроку и возвращает ее в качестве значения функции (через свое имя).
А так же не забудьте добавить заголовок нашей функции (1) в раздел Public модуля программы.
Далее для того чтобы проверить работу функции напишем обработчик события OnClick, для нашей кнопки. В начале мы с помощью нашей функции получим массив из Edit1, а потом выведем его в диалоговом окне:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
a:array[1..10] of string[10];
st:string;
begin
for i:=1 to 10 do
a[i]:=GetSubStr(Edit1.text,' ',i);//используем пробел в
качестве разделителя
for i:=1 to 10 do
st:=st+IntTostr(i)+' '+a[i]+#13;
ShowMessage(st);
end;
Результат работы функции можно увидеть на рисунке.
Скачать исходник «ввод массива в Delphi »: