Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 339

Раздел: Delphi » Прочее
/ вопрос открыт /

Здравствуйте!
Каким способом можно удобно считывать данные из TStrings по одному символу?
Я пробовал 2 метода:
1. Хранил текущую строку и позицию в строке в отдельных переменных и увеличивал постепенно. Обращался к символу так: s[x][y]
2. Хранил текущую позицию в переменной, обращался к символу так: s.getText()[x]

Может это можно упростить? Возвращаться назад не нужно.

Gooddy Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Gooddy (статус: 3-ий класс)
Вопрос отправлен: 29 мая 2011, 19:39
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 7; последнее сообщение — 31 мая 2011, 01:12; участников в обсуждении: 3.
bugmenot

bugmenot (статус: 3-ий класс), 29 мая 2011, 20:30 [#1]:

Удобно - штаны одевать на ноги. Задача-то какая стоит?
(и перечисленные методы ни разу не равнозначны)
виконання програми розпочинається з того самого мiсця, де призупинилося.

Вадим К

Вадим К (статус: Академик), 29 мая 2011, 20:43 [#2]:

Я бы для начала перевел это в строку или stream, а потом оттуда читал и посимвольно, и не посимвольно.
Галочка "подтверждения прочтения" - вселенское зло.
bugmenot

bugmenot (статус: 3-ий класс), 29 мая 2011, 21:14 [#3]:

я тут прикинул, если так к вопросу подходить - выжрет 2Гб памяти при объеме исходных данных - ~46,2Кб :­-­D
виконання програми розпочинається з того самого мiсця, де призупинилося.

Gooddy

Gooddy (статус: 3-ий класс), 30 мая 2011, 15:46 [#4]:

2bugmenot:
Локальная задача - чтение входного потока из TStrings (TStringList) посимвольно.
Мои методы конечно разные но выдают 100% идентичные символы.
Меня больше волнует то, что они работают несколько убого - один с постоянным переводом в строку (хотя можно и один раз), другой - с двумя переменными, хранящими позицию.

2Вадим К:
В строку я уже переводил, но не целиком а каждый раз, что заодно и на производительности плохо сказывалось), но переменную со строкой создать вроде ничего не мешает. Попробую с потоками пошуровать.

2bugmenot (на второй пост):
Это с чего это сожрётся 2 гига?
Чисти код! Чисти код! Чисти код!
bugmenot

bugmenot (статус: 3-ий класс), 30 мая 2011, 19:28 [#5]:

Цитата (Gooddy):

Локальная задача - чтение входного потока из TStrings (TStringList) посимвольно

Это ты перефразировал. Хотя добавилось слово "поток", который и надо использовать для решения.
http://docwiki.embarcadero.com/VCL/2010/en/Classes.TStringStream

Цитата (Gooddy):

но выдают 100% идентичные символы

ну неправда же, конец строки - тоже символ

Цитата (Gooddy):

Это с чего это сожрётся 2 гига?

ссылка
виконання програми розпочинається з того самого мiсця, де призупинилося.

Gooddy

Gooddy (статус: 3-ий класс), 31 мая 2011, 00:42 [#6]:

Спасибо, а какие ещё классы потоков есть в дельфи?
Чисти код! Чисти код! Чисти код!
bugmenot

bugmenot (статус: 3-ий класс), 31 мая 2011, 01:12 [#7]:

Цитата (Gooddy):

какие ещё классы потоков есть

их туева хуча на все случаи жизни блочного ввода-вывода
часть перечислена здесь
виконання програми розпочинається з того самого мiсця, де призупинилося.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:59
Выполнено за 0.02 сек.