![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#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; голову поломал не въезжаю ![]() |
![]() |
![]() |
![]() |
#2 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,674
|
![]()
blocks:array of string - это динамический одномерный массив. ты даже не указал его размерность.
размерность указываеться через функцию setlength(blocks,pap+1); (это для одномерного массива) |
![]() |
![]() |
![]() |
#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. |
![]() |
![]() |
![]() |
#4 |
Регистрация: 14.11.2006
Сообщений: 6
|
![]()
но мне то нужен двумерный массив,
как его тогда объявить в проц-е |
![]() |
![]() |
![]() |
#5 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,674
|
![]()
Matrix : array[1..10, 1..50] of Real - статический двумерный массив
Matris : array of array of integer - динамический двумерный массив |
![]() |
![]() |
![]() |
#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 |
![]() |
![]() |
![]() |
#7 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,674
|
![]()
blocks - переменную нельзя 2 раза объявлеть, а причё здесь '[' не понимаю...
|
![]() |
![]() |
![]() |
#8 |
Регистрация: 14.11.2006
Сообщений: 6
|
![]()
да с перем тут я ясно - я потом заметил
а вот объявлять не дает ни так ни of array of string я в печали... |
![]() |
![]() |
![]() |
#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 |