![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Всем добрый день! Как автоматически изменять размер динамического массива (может я не правильно выражаюсь). Т.е. Нужно записать строки из файла в массив. Кол-во строк разное. Я делю
Код:
type Tmas = array of array of string; Tmas1 = array of string; var koordinaty: Tmas; sverla: Tmas1; SetLength(sverla,10); // 11 строк Нужно, чтоб кол-во строк в массиве = кол-ву строк в файле Последний раз редактировалось M.A.D.M.A.N., 25.11.2013 в 12:21. |
|
#2
|
||||
|
||||
|
Код:
var arr: array of String; begin SetLength(arr, 1); arr[0]:='first'; SetLength(arr, 10); arr[9]:='last'; end; |
|
#3
|
||||
|
||||
|
Самое забавное, что узнать количество строк вы сможете только после прочтения всего файла. С нетипизированными файлами такая вот беда.
А что касается динамического массива, то зачем вам это нужно? Есть подозрение, что вы не тем путем идете. Может лучше в TStringList читать, чем в массив? Трудозатраты те-же, но результат намного вкуснее. |
|
#4
|
|||
|
|||
|
Кстати, трудозатраты меньше, т.к. TStringList выделяет память не по 1 элементу, а сразу блоками.
|
|
#5
|
|||
|
|||
|
Все разобрался!!!
Код:
type
Tmas = array of string;
var arr: Tmas;
SetLength(arr,0);
while not Seekeof(f) do
begin
SetLength(arr,Length(arr)+1);Последний раз редактировалось M.A.D.M.A.N., 26.11.2013 в 11:50. |