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

Вниз

Непонятные тормоза при чтении из файла   Найти похожие ветки 

 
lee_mour   (2006-05-06 15:03) [0]

Есть такой код:


function GetDbAttr(Pos: Integer; Value: Integer): Variant;
var Tmp: TOrganization;
begin
 Result := "##error## "+inttostr(pos);
 frmDesktop.lblAuthType.Caption := Inttostr(filepos(database));
 if ((Pos < 0) or (Pos > FileSize(database))) then Exit;
 Seek(Database, Pos);
 Read(Database, Tmp);
 if (Value=DA_NAME) then Result := Tmp.Name;
end;


так вот, если делать GetDbAttr(1, DA_NAME) то всё чики-пуки, а если GetDbAttr(0, DA_NAME) - прога виснет. В чём секрет?


 
han_malign ©   (2006-05-06 15:26) [1]


> В чём секрет?

- может в содержимом файла в нулевой позиции?
Или в использовании динамических типов в TOrganization?

А скорее всего "ошибка в 17-й строке"(c)app


 
lee_mour   (2006-05-06 15:33) [2]

Я этот файл взял со старой версии, как был так и остался, и методика обработки не изменилась. А теперь мне надо посчитать, сколько записей в файле имеют атрибут "Холдинг" (IsHolding=True), и при проходе через эту позицию он виснет.

Структура вот:


type

 TOrganization=record

   Name           : String[100];

   AdressIndex    : String[8];
   AdressCity     : String[50];
   AdressStreet   : String[100];
   AdressDom      : String[4];
   AdressOffice   : String[4];
   OfficePhoneC   : String[6];
   OfficePhoneN   : String[8];

   RukovodName    : String[80];
   RukovodPhoneC  : String[6];
   RukovodPhoneN  : String[8];
   RukovodPhoneE  : String[4];
   ExtPhones      : String[110];

   Vajnost        : (vlLow, vlMedium, vlHigh, vlNone);
   VajnostFlag    : (vfRed, vfGreen, vfBlue, vfNone);
   Prozvon        : (psProzvoneno, psNeprozvoneno, psPM);
   Vozrast        : (tsOld, tsNew);
   Obrabotka      : (osObrabotano, osNeobrabotano);
   Prodagi        : (pcLow, pcMedium, pcHigh, pcNone);
   SpecFlag       : (sfRed, sfGreen, sfBlue, sfNone);

   ExtInfoFile    : String[20];    // ext-info filename
   Category       : String[80];
   Region         : String[80];
   IsInHolding    : Boolean;
   HoldingName    : String[100];

   WWW            : String[80];
   Email          : String[80];
 end;


 
Jeer ©   (2006-05-06 15:40) [3]

Извращенцы.


 
lee_mour   (2006-05-06 15:46) [4]

Jeer, да что ты говоришь!


 
han_malign ©   (2006-05-06 16:26) [5]

TOrganization= packed record
- не поможет ли?


> (vlLow, vlMedium, vlHigh, vlNone)

- а вот размер перечислений, от версии к версии и от опций к опциям, я даже предсказать не возьмусь...


 
lee_mour   (2006-05-07 11:07) [6]

TOrganization= packed record
хм... а он строчки с кириллицей поганитю...



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

Форум: "Основная";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.013 c
11-1128106300
Sniper17
2005-09-30 22:51
2006.06.11
Владимир, выложите на вашем сайте 2.13 которую потом


15-1147762283
Шутник
2006-05-16 10:51
2006.06.11
Обоснование выбора: СУБД vs файлы


2-1148464871
webpauk
2006-05-24 14:01
2006.06.11
Установить курсор


4-1142584324
Turbid
2006-03-17 11:32
2006.06.11
Колесико над иконкой в трее


15-1146754608
Yegorchic
2006-05-04 18:56
2006.06.11
Узнать ширину и высоту картинки по её размеру





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