|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.11.2006, 13:33 | #1 |
Регистрация: 14.11.2006
Сообщений: 6
|
тип строка
помогите с типами, крыша еде не могу понять в чем дело
есть код procedure load (var F:Text;namefile:string;var blocks:array of string; var len:array of integer;var kolbloks:integer); var i,j,k:integer; stroka:string; begin try k:=1; stroka:=''; assignfile(F,namedir+namefile); reset(F); while not Eof(F) do begin i:=1; repeat begin readln(F,stroka); blocks[k,i]:= stroka;// выдает несовместимостьтипов Char & String inc(i); end until blocks[k,i-1] = ''; len[k]:= i-2; inc(k); end; closefile(F); kolbloks:=k; except showmessage('File no find'); end; end; голову поломал не въезжаю |
14.11.2006, 13:53 | #2 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,597
|
blocks:array of string - это динамический одномерный массив. ты даже не указал его размерность.
размерность указываеться через функцию setlength(blocks,pap+1); (это для одномерного массива) |
14.11.2006, 13:58 | #3 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
Ну правильно тебе компилятор говорит!!! ты объявляешь массив Blocks (var blocks:array of string), а обращаешься к символу из строки!!!!
Он и присваивает символу номер i из строки номер k строку из файла: blocks[k,i]:= stroka;
Познавая других, мы познаем себя.
С'est la vie... Последний раз редактировалось SuperVisor; 14.11.2006 в 14:00. |
14.11.2006, 15:52 | #4 |
Регистрация: 14.11.2006
Сообщений: 6
|
но мне то нужен двумерный массив,
как его тогда объявить в проц-е |
14.11.2006, 15:58 | #5 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,597
|
Matrix : array[1..10, 1..50] of Real - статический двумерный массив
Matris : array of array of integer - динамический двумерный массив |
14.11.2006, 16:10 | #6 |
Регистрация: 14.11.2006
Сообщений: 6
|
я пробовал так:
procedure load (var F:Text;namefile:string;var blocks:array [1..30,1..1000]of string; var blocks:array [1..30,1..1000]of string;var kolbloks:integer); ругается 'OF' expected but '[' found |
14.11.2006, 16:17 | #7 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,597
|
blocks - переменную нельзя 2 раза объявлеть, а причё здесь '[' не понимаю...
|
14.11.2006, 16:41 | #8 |
Регистрация: 14.11.2006
Сообщений: 6
|
да с перем тут я ясно - я потом заметил
а вот объявлять не дает ни так ни of array of string я в печали... |
14.11.2006, 17:25 | #9 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
Добавь размерность строки: array of string[255];
Познавая других, мы познаем себя.
С'est la vie... |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Строка состаяния или загрузачная строка | Sergeu | Мультимедиа в Delphi | 8 | 27.08.2008 10:32 |
командная строка | Mails | Помощь студентам | 2 | 12.05.2008 18:29 |
Строка набора URL.... | maLoy*508 | Общие вопросы Delphi | 13 | 30.03.2008 16:44 |
Строка DEFAULT | Altera | Компоненты Delphi | 2 | 07.03.2008 17:12 |