Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2006, 13:33   #1
Jallexe
 
Регистрация: 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;
голову поломал не въезжаю
Jallexe вне форума Ответить с цитированием
Старый 14.11.2006, 13:53   #2
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

blocks:array of string - это динамический одномерный массив. ты даже не указал его размерность.

размерность указываеться через функцию setlength(blocks,pap+1); (это для одномерного массива)
Alar вне форума Ответить с цитированием
Старый 14.11.2006, 13:58   #3
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 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.
SuperVisor вне форума Ответить с цитированием
Старый 14.11.2006, 15:52   #4
Jallexe
 
Регистрация: 14.11.2006
Сообщений: 6
По умолчанию

но мне то нужен двумерный массив,
как его тогда объявить в проц-е
Jallexe вне форума Ответить с цитированием
Старый 14.11.2006, 15:58   #5
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Matrix : array[1..10, 1..50] of Real - статический двумерный массив
Matris : array of array of integer - динамический двумерный массив
Alar вне форума Ответить с цитированием
Старый 14.11.2006, 16:10   #6
Jallexe
 
Регистрация: 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
Jallexe вне форума Ответить с цитированием
Старый 14.11.2006, 16:17   #7
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

blocks - переменную нельзя 2 раза объявлеть, а причё здесь '[' не понимаю...
Alar вне форума Ответить с цитированием
Старый 14.11.2006, 16:41   #8
Jallexe
 
Регистрация: 14.11.2006
Сообщений: 6
По умолчанию

да с перем тут я ясно - я потом заметил
а вот объявлять не дает ни так ни of array of string
я в печали...
Jallexe вне форума Ответить с цитированием
Старый 14.11.2006, 17:25   #9
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Добавь размерность строки: array of string[255];
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строка состаяния или загрузачная строка 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