Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.09.2011, 18:12
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию Чтение книг

Хочу спросить насчет реализации следующего

Неизвестное число пользователей, отсылают запросы и им отправляются страницы книг которые они читают.
Но как быть, постоянно грузить книгу при каждом запросе и копировать нужный текст.

Или же если оставлять в TstringList то нам не известно сколько пользователей будет читать для каждого надо будет свой TstringList. Да и к тому же если оба одну книгу запросят надо както знать из какой переменной её взять, в общем получается куча гемороя, и кроме как через массивы вариантов не вижу, с вариантом постоянной загрузки проще, но медленней, война и мир к примеру в файле txt 3мб весит, и так каждый раз грузить.

Хотел бы услышать советы.
Ответить с цитированием
  #2  
Старый 18.09.2011, 20:29
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Организуй фабрику (есть прямо такой паттерн).
Когда у тебя приходит запрос страницы из книги, то ты обращаешься к фабрике, а уже она проверяет, есть ли в памяти такая книга и, если нет, то подгружает. Ну в номер страницы хранится в переменных сессии клиента. Т.е. данные буду в одном экземпляре.
Ответить с цитированием
  #3  
Старый 18.09.2011, 21:23
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

хм, ну это логично, а грузить куда? в массив TStringList? потом когда книгу прекратили читать нодо еще и очищать, а гдето вести запись какие массивы свободны
Ответить с цитированием
  #4  
Старый 18.09.2011, 22:08
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от ALexandr555
хм, ну это логично, а грузить куда? в массив TStringList? потом когда книгу прекратили читать нодо еще и очищать, а гдето вести запись какие массивы свободны

Грузить - в зависимости от формата. Надо смотреть по обстоятельствам.
По поводу очистки. Ну я бы подумал на счет ограничения по времени и кол-ву запросов. Например если к конкретной книге не обращаются в течении 10 минут и 100 запросов, то книгу выгружаем.

Можно еще грузить не всю книгу, а некоторый набор странриц под конкретного пользователя. Но тут уже зависит от формата, а котором хранится книга. Иной раз дешевле загрузить все.
Ответить с цитированием
  #5  
Старый 18.09.2011, 23:44
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

все абсолютно txt будет, насчет очистки у меня проблем нету, я больше клоню к тому что с массивами много гемороя
Ответить с цитированием
  #6  
Старый 18.09.2011, 23:56
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Это с каких пор массивы стали проблемными?
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:40.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025