Главная страница
    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
2-1148642335
novice06
2006-05-26 15:18
2006.06.11
ка кзаписать структуру в нетепизированный файл?


2-1148590585
Apachi
2006-05-26 00:56
2006.06.11
ServerSocket


6-1135840770
Wolferio
2005-12-29 10:19
2006.06.11
Ping PC


15-1147782392
Konnor
2006-05-16 16:26
2006.06.11
Поиск


15-1147702628
Pazitron_Brain
2006-05-15 18:17
2006.06.11
Видео с фотоаппарата Nikon.





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