Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.14;
Скачать: CL | DM;

Вниз

Доступ к полям - Как быстрее?   Найти похожие ветки 

 
AlexanderSK ©   (2003-03-25 16:15) [0]

Как лучше работать с полями?
FieldByName или X := FindField и дальше работаем через X?

Заранее спасибо!


 
Johnmen ©   (2003-03-25 16:19) [1]

Создать список поле для НД и далее -
MySecretField.As...:=...
самое быстрое, но не самое понятное и красивое...


 
passm ©   (2003-03-25 16:19) [2]

AlexanderSK © (25.03.03 16:15)> Если поля создавать явно в Design Time


 
AlexanderSK ©   (2003-03-25 16:31) [3]

>passm ©
Поля получаются путем загрузки данных.

>Johnmen ©
Т.е. второй вариант?


 
Соловьев ©   (2003-03-25 16:34) [4]

не 2-й, а просто в дизайне дважды кликаешь на компоненте.


 
AlexanderSK ©   (2003-03-25 16:42) [5]

>Соловьев ©
Нет у меня дизайна! Точнее в дизайне не известно какие будут поля!


 
Johnmen ©   (2003-03-25 16:46) [6]

По моему мнению, не надо заморачиваться на быстродействие, ты его не почувствуешь, и обращаться к полям FieldByName("MyFieldName") и к значениям полей FieldByName("MyFieldName").As...


 
passm ©   (2003-03-25 16:55) [7]

AlexanderSK © (25.03.03 16:42)>
procedure DoNothing(DataSet: TDataSet); { :)) }
var
f1, f2: TField;
begin
{...}
f1:= DataSet.FieldByName("FIELD1");
f2:= DataSet.FieldByName("FIELD2");
{ use f1 and f2}
end;


 
les ©   (2003-03-25 17:16) [8]


> Доступ к полям - Как быстрее?

DataSet<поле>.As...

> Нет у меня дизайна!

Тогда бистрее - TDataSet.Fields[index].As...


 
MsGuns ©   (2003-03-25 19:14) [9]

>passm © (25.03.03 16:55)

И что, так будет быстрее ? В смысле затрат Проц-Память.
Сильно сомневаюсь, хоть компиллятор и оптимизирующий.


 
Val ©   (2003-03-25 19:48) [10]

>MsGuns © (25.03.03 19:14)
по идее быстрее, но нафиг. Cм. Johnmen © (25.03.03 16:46)
>les © (25.03.03 17:16)
ускользнет контроль над полями, лучше конкретизировать.


 
MsGuns ©   (2003-03-25 20:12) [11]

>Val © (25.03.03 19:48)
>по идее быстрее, но нафиг

Быстрее в смысле, что не надо просматривать всю коллекцию на предмет совпадения св-ва "Имя поля" ? А вот если по индексу (Fields[i]), так шустрее ? Чушь собачья, извини за резкость. Поиск в коллекции (фактически есть база и циклически меняемое смещение - индекс) весь происходит в ОП, причем для коллекции полей - очень небольшого размера. Проц, и так прохлаждающийся перманентно, схавает этот цикл, не заметив. Другое дело, что прога занимает энное кол-во мегабайт виртуала и виндузе часто-густо приходится свопироваться - так это беда не FieldsByName, а либо горе-программера, либо ограниченности ресурсов компа.

Зато в читабельности перл Fields[i+y*n] или MyField.As... сродни китайской грамоте. Когда вижу подобный код, хочется выпить с горя !


 
Val ©   (2003-03-25 20:22) [12]

:) Сергей, я говорил не о сравнении с Fields[i], а о сравнении со статическим набором полей. Ведь это(получение статического набора) делается при присвоении поля в примере DoNothing, но тогда непонятно, почему бы просто не получить этот набор как в Соловьев © (25.03.03 16:34), хотя, судя по смайлу, passm © (25.03.03 16:55) просто прикололся :)


 
MsGuns ©   (2003-03-25 20:29) [13]

>Val © (25.03.03 20:22)

Сразу не врубился. Юмор тонок для "юного исследователя TIBDataSet" (меня т.е.) ;)))

Задрал меня уже этот датасет - ну не хочет ни апдетиться, ни рефрешиться, ни позиционироваться ни вообще ни хрена ! Но, блин, я упорный, я его, гада, массой возьму !


 
Johnmen ©   (2003-03-26 01:10) [14]

>MsGuns © (25.03.03 20:29)
>Но, блин, я упорный, я его, гада, массой возьму !

Не, лучше ж..ой, в смысле усидчивостью... :)))))))))))


 
passm ©   (2003-03-26 09:33) [15]

Обычно поступаю как <Соловьев © (25.03.03 16:34)> про это и писал <passm © (25.03.03 16:19)>. Помимо скорости есть плюс в удобстве при описании абстрактных компонент/форм и использовании конкретных свойств полей (TStringField, TFloatField etc.).

Johnmen © (26.03.03 01:10)> Вспоминается анекдот про жену программиста с ребенком в зоопарке :))



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

Текущий архив: 2003.04.14;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.019 c
14-44445
VEG
2003-03-29 23:32
2003.04.14
Мысли вслух...


3-44034
TSa
2003-03-25 23:09
2003.04.14
запросик


1-44192
DeathMOROZ
2003-04-01 15:24
2003.04.14
диалог выбора каталога...


4-44495
Eug201
2003-02-13 09:07
2003.04.14
Hook WH_JOURNALPLAYBACK


14-44411
Filat
2003-03-28 16:03
2003.04.14
Как отписаться от рассылки форумов. Их у меня кажись 3!!!