Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2010, 20:47   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию BlockRead

Как культурные программисты пишут такие вещи:?
Код:
SetLength(Data, 5);
ZeroMemory(@Data[0], Length(Data) * SizeOf(Integer));
...
BlockRead(F, Data[0], SizeOf(Integer));
BlockRead(F, Data[1], SizeOf(Integer));
BlockRead(F, Data[2], SizeOf(Integer));
BlockRead(F, Data[3], SizeOf(Integer));
BlockRead(F, Data[4], SizeOf(Integer));
Код:
Data : Array of Integer;
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 17.07.2010, 20:51   #2
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Ну, в цикле можно, ведь так? =)
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 17.07.2010, 20:52   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

В цикле такие вещи пишут некультурные программисты. Там что-то в параметрах BlockRead надо намутить...
Цитата:
Изобретатель велосипедов
Ъ!
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 17.07.2010, 20:55   #4
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Что значит мутить?!
Код:
for i:=0 to 5 do
BlockRead(F, Data[i], SizeOf(Integer));
Я гарантирую, что всё будет нормально...

Цитата:
В цикле такие вещи пишут некультурные программисты
Хмм, а городить огород из "стопятьсоттыщ" обращений к процедуре - культурно?
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 17.07.2010, 21:03   #5
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Есть вариант в одну строку, правда я не помню, на что нужно домножать третий параметр.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 17.07.2010, 21:05   #6
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

На количество элементов.
Могу ошибаться:
Код:
BlockRead(F, Data[0], SizeOf(Integer)*Length(Data))
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 17.07.2010, 21:07   #7
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Угу. Спасибо.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 17.07.2010, 21:10   #8
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Цитата:
Там что-то в параметрах BlockRead надо намутить
Я думаю это должно было относиться к обращению к адресу массива: адрес массива не является адресом его первого элемента (у динамического), оттуда и косяки могли вылезти...
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 18.07.2010, 08:36   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Если обращений очень мало, то это может быть оптимизация... Разворачивание циклов, например.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Неверное считывание из файла [BlockRead] Alex Cones Общие вопросы Delphi 2 16.05.2010 23:46
BlockRead -чтение dat файла element Общие вопросы Delphi 2 15.06.2009 14:21
Blockread с массивом.Возможно ли это? Ozerich Общие вопросы Delphi 4 05.11.2008 17:19
Использование BlockRead Никки Общие вопросы Delphi 17 22.04.2008 08:23