Главная страница
    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.46 MB
Время: 0.04 c
2-1201687447
Wolf
2008-01-30 13:04
2008.02.24
подскажите функцию добавления косой черты к пути


2-1201902057
школьник
2008-02-02 00:40
2008.02.24
не получается запись в ИБ6


2-1201872603
bunchuk
2008-02-01 16:30
2008.02.24
ошибка при выполнение программы написанной на Delphi


15-1200923748
Dmitry S
2008-01-21 16:55
2008.02.24
Печать с помощью mshtml.dll,PrintHTML без диалога


15-1200366492
Юзвер
2008-01-15 06:08
2008.02.24
Как пополнить знания по поводу классов?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский