Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.039 c
6-1180002451
FireMan_Alexey
2007-05-24 14:27
2008.02.24
snova Proxy!


15-1200894105
Рамиль
2008-01-21 08:41
2008.02.24
Сколько, примерно, может стоить разработка


2-1201539338
leonidus
2008-01-28 19:55
2008.02.24
Проверка уникальности записи


15-1200905088
Washington
2008-01-21 11:44
2008.02.24
WMI SDK


15-1200834722
Piter
2008-01-20 16:12
2008.02.24
WEB - как стандартный интерфейс программы?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский