Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.24;
Скачать: CL | DM;

Вниз

последний элемент массива   Найти похожие ветки 

 
owa   (2008-01-31 23:45) [0]

Подскажите как узнанать величину массива?
В смысле.. как определить что текушая запись массива является последней?
:-[


 
Virgo_Style ©   (2008-01-31 23:54) [1]

High() ?


 
Owa   (2008-02-01 00:11) [2]

>Virgo_Style ©   (31.01.08 23:54) [1]
>High() ?

ой.. точно....   :-[

спасибо)


 
Owa   (2008-02-01 00:29) [3]

Эм... а как узнать последний заполненый элемент массива?

Конкретнее...


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 и массивы, но расплогаю совсем не полной о них информацией, а то что я нашел в гуле мне ничем не помогло.
Подскажите как реализовать мою идею, или дайте пожалуйста ссылочку на сайтик где можно об этом поплотнее почитать.
Спасибо )


 
Amoeba ©   (2008-02-01 00:45) [4]

Раздели размер файла на размер записи.


 
Lip ©   (2008-02-01 10:28) [5]

while not eof


 
Dennis I. Komarov ©   (2008-02-01 10:44) [6]

> while not Eof(F) do
>  for i := 1 to 50 do

Это бред...
Убирай for и статический массив на динамический


 
Anatoly Podgoretsky ©   (2008-02-01 11:11) [7]


> Читаю массив из 50 элементов, а если в файле записано было
> не 50 а например 100 элементов то таблица получится не полной.
>  Так вот, как узнать верхнюю границу массива в который идет
> считывание полей?

Потому что бред записан, каждые следующие 50 записей (и дай бог, что бы было кратно 50), затируют первые 50.



Страницы: 1 вся ветка

Текущий архив: 2008.02.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
2-1201598063
Ник
2008-01-29 12:14
2008.02.24
Что возвращает Chr(I)?


15-1200664184
Evanescence
2008-01-18 16:49
2008.02.24
граббер в php


15-1201184222
AntonUSAnoV
2008-01-24 17:17
2008.02.24
как оценить свой труд ?


15-1201017444
sauron
2008-01-22 18:57
2008.02.24
BIOS?


2-1201602215
Winxp
2008-01-29 13:23
2008.02.24
XPManifest