Главная страница
    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.017 c
15-1147670438
Ega23
2006-05-15 09:20
2006.06.11
С Днём рождения! 14 мая


3-1145342217
ORMADA
2006-04-18 10:36
2006.06.11
Поиск информации о концепции создания сервера БД


2-1148062809
DuDiDan
2006-05-19 22:20
2006.06.11
База Данных


15-1147848588
boriskb
2006-05-17 10:49
2006.06.11
Кин-дза-дза в полнометровой мультипликации


2-1148389925
Dik1
2006-05-23 17:12
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский