Главная страница
    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.042 c
3-1192039360
Shaitan
2007-10-10 22:02
2008.02.24
Как чераз Delphi открыть базу данных находяющуюся в ACCESS


15-1200926297
@!!ex
2008-01-21 17:38
2008.02.24
Помогите оплатить софтину через PayPal


15-1201091326
Bober_crazy
2008-01-23 15:28
2008.02.24
Ошибка 530 Authentication failed, sorry


2-1201086793
Alex_C
2008-01-23 14:13
2008.02.24
Медленное закрытие программы


15-1201059535
Slider007
2008-01-23 06:38
2008.02.24
С днем рождения ! 23 января 2008 среда





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