![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| VanHelsing |
|
||||
![]() ХОЧУ ВСЕ ЗНАТЬ!!! ![]() ![]() Награды: 1 Профиль Группа: Участник Сообщений: 288 Регистрация: 3.1.2008 Где: Екатеринбург Репутация: нет Всего: 6 |
Суть такова. Заполняется список, записывается в файл. При следующем открытии программы необходимо считать информацию из файла, записать в список и сравнить списки. Работу с файлами выполнить с помощью WinAPI.
Заполняю стуктуру:
Записываю в файл:
А вот со чтением проблема - надо знать количество записанной информации, вот не знаю как это сделать. |
||||
|
|||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 13 Всего: 111 |
Ну и обратись в раздел WinAPI, а не в общие вопросы. Ты ж не первый день на форуме, а как маленький, ей богу.
|
|||
|
||||
| Riply |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Комодератор Сообщений: 572 Регистрация: 27.3.2007 Где: St. Petersburg Репутация: 21 Всего: 32 |
А что мешает сначала писать размер, потом данные ? Т.е. структурами такого типа: type MY_SIZED_DATA = packed record DataLength: ULONG; Data: array[0..0] of BYTE; end; |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
http://www.delphikingdom.com/asp/viewitem....talogid=1206#06
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=169 -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| VanHelsing |
|
|||
![]() ХОЧУ ВСЕ ЗНАТЬ!!! ![]() ![]() Награды: 1 Профиль Группа: Участник Сообщений: 288 Регистрация: 3.1.2008 Где: Екатеринбург Репутация: нет Всего: 6 |
Yanis извини забыл - исправлюсь.
Riply да такой вариант возможен, но получается что данную структуру надо тоже писать в файл. CodeMonkey видимо я невнимательно читал, но ничего подходящего мне не нашел. P.S. модераторы перенесите пожалуйста тему. |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Мда.... http://www.delphikingdom.com/asp/viewitem....talogid=1206#06 - 1-к-1 ваше. Только слово "запись" выкиньте при чтении. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| VanHelsing |
|
|||
![]() ХОЧУ ВСЕ ЗНАТЬ!!! ![]() ![]() Награды: 1 Профиль Группа: Участник Сообщений: 288 Регистрация: 3.1.2008 Где: Екатеринбург Репутация: нет Всего: 6 |
CodeMonkey спасибо большое. Через TFileStream я сделал - это не сложно.
Но хотелось бы сделать это через ReadFile. Честно очень стыдно, но я не совсем понимаю почему не могу использовать в качестве принимающего буфера переменную типа TStringList. И хотелось бы знать что я могу использовать в качестве буфера(кроме переменной типа String)? |
|||
|
||||
| niteo |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 23.11.2006 Где: Брянск Репутация: нет Всего: 1 |
Это класс. Все что хошь Используй TPersistent Это сообщение отредактировал(а) niteo - 24.7.2009, 11:03 --------------------
Мне чужого лишнего не нада.Ешь ананасы, рябчиков жуй,день твой последний приходит, буржуй... |
|||
|
||||
| CodeMonkey |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
...если учесть, что TFileStream - это обёртка над ReadFile, то, что и говорить, задача эта сложная и неразрешимая
Наверное потому, что вы не используете её в качестве источника. В файл вы пишите набор String-ов. TStringList в этом действе не участвует. Я не знаю, вам может MyList.SaveToFile/MyList.LoadFromFile подойдёт? -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
||||
|
|||||
| VanHelsing |
|
||||||
![]() ХОЧУ ВСЕ ЗНАТЬ!!! ![]() ![]() Награды: 1 Профиль Группа: Участник Сообщений: 288 Регистрация: 3.1.2008 Где: Екатеринбург Репутация: нет Всего: 6 |
Все большое спасибо. Вроде бы получилось.
Заполнение записи:
Запись в файл:
Чтение из файла:
P.S. если где не прав, то обязательно подскажите. |
||||||
|
|||||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Неправы. И ошень сильно.
P.S. Кстати, а какой у вас смысл писать в файл unicode-строку? Это внешнее требование? Это сообщение отредактировал(а) CodeMonkey - 25.7.2009, 09:43 -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |