![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
последний элемент массива
owa © (2008-01-31 23:45:00)Подскажите как узнанать величину массива?
В смысле.. как определить что текушая запись массива является последней?
:-[
Anatoly Podgoretsky (2008-02-01 11:11:00) [1]
> Читаю массив из 50 элементов, а если в файле записано было
> не 50 а например 100 элементов то таблица получится не полной.
> Так вот, как узнать верхнюю границу массива в который идет
> считывание полей?
Потому что бред записан, каждые следующие 50 записей (и дай бог, что бы было кратно 50), затируют первые 50.
Dennis I. Komarov (2008-02-01 10:44:00) [2]> while not Eof(F) do
> for i := 1 to 50 do
Это бред...
Убирай for и статический массив на динамический
Lip (2008-02-01 10:28:00) [3]while not eof
Amoeba (2008-02-01 00:45:00) [4]Раздели размер файла на размер записи.
Owa (2008-02-01 00:29:00) [5]Эм... а как узнать последний заполненыйэлемент массива?
Конкретнее...
type
Base = record
Name : string[90];
count : string[90];
janr : string[90];
user : string[90];
end;
//запись
var
BaseItem : array[1..50] of Base;
F : file of Base;
i,c : integer;
begin
For c := 1 to StringGrid1.ColCount-1 do
For i := 1 to StringGrid1.RowCount-1 do
begin
BaseItem[i].Name := StringGrid1.Cells[0,i];
BaseItem[i].count := StringGrid1.Cells[1,i];
BaseItem[i].janr := StringGrid1.Cells[2,i];
BaseItem[i].user := StringGrid1.Cells[3,i];
end;
exit;
AssignFile(F,'f:\members.dat');
...
//чтение
var
BaseItem : array[1..50] of Base;
F : file of Base;
begin
AssignFile(F,'f:\members.dat');
Reset(F);
try
while not Eof(F) do
for i := 1 to 50 do
begin
Read(F, BaseItem[i]);
if i = High(BaseItem) then exit;
StringGrid1.Cells[0,i] := BaseItem[i].Name;
StringGrid1.Cells[1,i] := BaseItem[i].count;
StringGrid1.Cells[2,i] := BaseItem[i].janr;
StringGrid1.Cells[3,i] := BaseItem[i].user;
end;
Читаю массив из 50 элементов, а если в файле записано было не 50 а например 100 элементов то таблица получится не полной. Так вот, как узнать верхнюю границу массива в который идет считывание полей?
Как в записи данных из таблицы создавать массив для записи, указав верхнюю границу массива - количеством строк объекта StringGrid ?
Я просто осваиваю тип Record и массивы, но расплогаю совсем не полной о них информацией, а то что я нашел в гуле мне ничем не помогло.
Подскажите как реализовать мою идею, или дайте пожалуйста ссылочку на сайтик где можно об этом поплотнее почитать.
Спасибо )
Owa (2008-02-01 00:11:00) [6]>Virgo_Style © (31.01.08 23:54) [1]
>High() ?
ой.. точно.... :-[
спасибо)
Virgo_Style (2008-01-31 23:54:00) [7]High() ?