![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Шушпан |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
Помогите пожалуйста
Я пишу процедуру, которая осуществляет добавление элемента в массив при нажатии кнопки. Но при проверке работы выдается ошибка... в чем дело, понять не могу. Не подкажете? Код type words=array of string; procedure add_to_array(var base:words; rus:string); var k,i:integer; tmp:words; begin i:=length(base); tmp:=nil; setlength(tmp,i+1); for k:=1 to i do begin tmp[k]:=base[k]; end; tmp[i+1]:=rus; base:=nil; i:=i+1; setlength(base,i); base:=copy(tmp,0,i); end; procedure TForm1.baseframeaddbuttonClick(Sender: TObject); var i,k:integer; str,rus:string; base:words; begin rus:=baseframe.rusword.Text; i:=length(base); add_to_array(base,rus); end; plz |
![]() ![]() |
Шушпан |
![]()
Сообщение
#2
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
Не работает :D
Может все процедуры тебе показать ? Посмотри пожалуйста Код type words=array of array of string; ... const cols=2; var base:words; ... procedure add_to_arr(var base:words; const rus,eng:string); var i: integer; begin i:=length(base[cols]); {компилятор выделяет эту строку красным цветом} i:=i+1; setlength(base[cols], i); // Âîò ýòî !!! base[0][pred(i)]:=rus; base[1][pred(i)]:=eng; end; procedure refreshbaseview(base:words; var str:string); var i,k:integer; begin str:=''; i:=length(base[cols]); for k:=0 to pred(i) do if k= 0 then str:= base[0,k] + ' - ' + base[1,k] +';' +#13 else str:= str + base[0,k] + ' - ' + base[1,k] + ';' +#13; end; procedure TForm1.baseframeaddbuttonClick(Sender: TObject); var str:string; begin add_to_arr(base,baseframe.rusword.Text,baseframe.engword.text); refreshbaseview(base, str); baseframe.baseview.Caption:=str; baseframeClearbuttonClick(sender); end; Сообщение отредактировано: Шушпан - 24.02.2005 16:33 |
![]() ![]() |
![]() |
Текстовая версия | 24.07.2025 3:24 |