| 
| 
 | Вопрос # 5 339/ вопрос открыт / | 
 |  Здравствуйте!Каким способом можно удобно считывать данные из TStrings по одному символу?
 Я пробовал 2 метода:
 1. Хранил текущую строку и позицию в строке в отдельных переменных и увеличивал постепенно. Обращался к символу так: s[x][y]
 2. Хранил текущую позицию в переменной, обращался к символу так: s.getText()[x]
 
 Может это можно упростить? Возвращаться назад не нужно.
 
|  |   Вопрос задал: Gooddy (статус: 3-ий класс)Вопрос отправлен: 29 мая 2011, 19:39
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 7; последнее сообщение — 31 мая 2011, 01:12; участников в обсуждении: 3. 
|   | bugmenot (статус: 3-ий класс), 29 мая 2011, 20:30 [#1]:Удобно - штаны одевать на ноги. Задача-то какая стоит? (и перечисленные методы ни разу не равнозначны)
 виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  
|   | Вадим К (статус: Академик), 29 мая 2011, 20:43 [#2]:Я бы для начала перевел это в строку или stream, а потом оттуда читал и посимвольно, и не посимвольно. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | bugmenot (статус: 3-ий класс), 29 мая 2011, 21:14 [#3]:я тут прикинул, если так к вопросу подходить - выжрет 2Гб памяти при объеме исходных данных - ~46,2Кб :-D виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  
|   | Gooddy (статус: 3-ий класс), 30 мая 2011, 15:46 [#4]:2bugmenot: Локальная задача - чтение входного потока из TStrings (TStringList) посимвольно.
 Мои методы конечно разные но выдают 100% идентичные символы.
 Меня больше волнует то, что они работают несколько убого - один с постоянным переводом в строку (хотя можно и один раз), другой - с двумя переменными, хранящими позицию.
 
 2Вадим К:
 В строку я уже переводил, но не целиком а каждый раз, что заодно и на производительности плохо сказывалось), но переменную со строкой создать вроде ничего не мешает. Попробую с потоками пошуровать.
 
 2bugmenot (на второй пост):
 Это с чего это сожрётся 2 гига?
 Чисти код! Чисти код! Чисти код! |  
|   | 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 (статус: 3-ий класс), 31 мая 2011, 00:42 [#6]:Спасибо, а какие ещё классы потоков есть в дельфи? Чисти код! Чисти код! Чисти код! |  
|   | bugmenot (статус: 3-ий класс), 31 мая 2011, 01:12 [#7]: Цитата (Gooddy): какие ещё классы потоков есть их туева хуча на все случаи
 жизниблочного ввода-выводачасть перечислена здесь
 виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |