![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
не могу понять работу методов этого класса. Read и Seek. Что им надо в параметрах передовать? Что они возвращают? В Хелпе ничего понять не могу. Причем тут класс THandleStream?
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
В Read нужно передавать заранее выделенный блок памяти и количество байт, которые в него нужно прочитать.
Возвращает - сколько было реально прочитано (на случай, если файл кончился раньше). Seek - первый параметр - на сколько байт передвигаться по файлу (может быть отрицательным числом). Второй - откуда двигаться - с начала файла, с конца, с текущей позиции. THandleStream - класс, от которого унаследован TFileStream. Соответсвенно данные методы появились в нём, а файлстримом унаследованы. Добавлено @ 09:07 Попробуй поиск по TFileStream - примеров работы мноооого. |
|||
|
||||
Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
Snowy, пример у меня перед глазами с ним и надо разобратся. У меня есть код и задача его переложить на ФоксПро или сделать из него COM объект и все равно использовать в Фоксе. И я вот никак не могу понять как оно работает и как это переложить:
... и дальше запись Node вставляется в ListBox. Так как тип record через COM вроде не передается, да и FoxPro с таким типом не работает, то мне нужно получить считанные из файла данные во что-то более универсальное. Но вот как это сделать? Это сообщение отредактировал(а) Cashey - 11.10.2006, 09:41 -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
Alexeis |
|
||||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
record - это аналог структуры в С++. А проще говоря его можно представить обычным буфером в памяти того-же размера. можно "FStrm.Read(Node,SizeOf(Node));" заменить на
т.е. читать запись просто в буфер памяти, а его уже передавать куда угодно. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||
|
|||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Фокса я не знаю. Точнее прочитать более-менее могу, но написать нет.
Поэтому могу только прокомментировать код
|
|||
|
||||
Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
ну и какой тип в COM объекте будет соответсвовать типу Pointer? если этот код запихнуть в DLL и уже в другом приложении работать только с результатом считывания из файла? или второй вариант, записать содержимое этой переменной buf в текстовый файл? Snowy, спасибо, я примерно так и предпологал, сейчас проблема состоит в том, чем можно заменить этот Node в качестве принимающего значения из FStrm.Read -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
не Variant? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
Я вообще то имел ввиду не
а имено ну могу и ошибатся Добавлено @ 10:33 ДРКБ есть ? Midas и COM. Советы и Приемы там есть пример юзания TFilesteam в COM -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Это всего лишь байты. Можешь даже не целиком его читать, а поотдельности. Прочитать из файла байт, потом ещё один, потом 2 байта, потом ещё 2 байта - получишь 4 соответствующих переменных. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |