![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
EKoshelev |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 509 Регистрация: 1.9.2004 Репутация: нет Всего: нет |
Вощем предыстория (или с буквой "И"?) следующая. Пишу дебильный объект по реализации конечного автомата. Этот автомат может содержать вложенные (дочерние, делегированные) автоматы (абс. идентичные ему же). Вот. Источником текстаря может быть TStrings, а может быть файл.
Предположим, что я работаю с файлом. Когда я передаю управление вложенному автомату нужно и файловую переменную ему закинуть (по скоку работать он будет с тем же текстом). Простым присваиванием, ессно, ничё не добьёшься - глюк на этапе компиляции. Ещё мне на мгновение показалось, что можно у одного файла сделать FilePos, а у другого Seek. С филепозом получилось, а на сике мне сказали, что с текстовыми файлами такая фича не прокатывает. Можно параметром перекинуть через какую-ньть процедурь, типа:
А дальше фиг его знает. Есть ещё дебильный вариант. Создать там дополнительный textfile и пролистать его до того же места, но по-моему это слишком некрасиво (Да и потом будет ли он работать с тем же файлом? А ещё я слышал, что одновременно в приложении может быть ограниченное число файловых переменных (или меня дезинформировали???)). Короче, путь фиговый какой-то. Можно просто закидать всё в TStrings и с ним работать, но если текстарь будет слишком большим, то тоже отстой получится. Одним словом говоря, я в смятении. ![]() Подкиньте идейку плииииз. -------------------- Вежливым и адекватным предлагаю общаться на "ты". |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Используй потоки - TFileStream
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Насколько большим может быть файл ? Оптимальный вариант - засунуть в TStringList... Иначе, если работать с потоками и с нетекстовыми файлами, будет неудобно выцеплять строки, хотя это уже будет универсальный способ...
PS: а что автомат может читать только в одном направлении (т.е. назад не возвращается) ? -------------------- С уважением, г-н Посол. |
|||
|
||||
EKoshelev |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 509 Регистрация: 1.9.2004 Репутация: нет Всего: нет |
Vit
Я не умею. Может научишь? Или наколочку какую-нить кинешь где написано? p0s0l Вообще-то я собирался только в одном направлении читать. Я чё-то где-то читал, что там (в TStirngs'e) может поместится только 64 кг. И то с какими-то половыми извращениями. Просто у меня привычка такая (какой же я, блин, крутой), что всё время пытаюсь так, чтобы работало с чем угодно. То есть, вообще-то я пишу без расчёта на юзание файлов, но в перспективе очень даже не исключено, что эта фишка пригодится. Я вот тут придумал одно извращеньице. Сделал объект с полем типа файла. И стал присваивать. В общем, не вижу причин для глюков при таком подходе. Как вы считаете (Vit и p0s0l) это очень дебильный подход или сойдёт по пьяни? Ну, короче, спасибо вам господа, что не отказали в помощи, может ещё ответите на мои вопросы . ![]() Это сообщение отредактировал(а) EKoshelev - 15.11.2004, 14:01 -------------------- Вежливым и адекватным предлагаю общаться на "ты". |
|||
|
||||
Vit |
|
||||||||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
В FAQ статья - всё о файлах...
TStringList может работать с файлами любых размеров, но при размерах больше 10 метров будет работать медленно
TFileStream - работает с файлами любых размеров, но без разбиения на строки, что может быть неудобно для текстового файла. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
||||||||
|
|||||||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |