Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.04;
Скачать: CL | DM;

Вниз

Добавить содержимое буфера к Stringlist   Найти похожие ветки 

 
AndreyDm   (2003-08-20 14:09) [0]

Как с минимальными заморочками добавить содержимое последовательности буферов (периодически подчитывается вывод консольной программы в буфер) в stringlist, с учётом того, что нужно получить правильную структуру строк (т.е. если в буфере 5 строк, то это должно превратится в 5 элементов в stringlist-e), и того, что строка может начаться в одном, а закончиться в следущем буфере?
Или всё муторно и ручками?


 
mOOx_ ©   (2003-08-20 14:13) [1]

> периодически подчитывается вывод консольной программы в буфер
Поясни.


 
Skier ©   (2003-08-20 14:14) [2]


> и того, что строка может начаться в одном, а закончиться
> в следущем буфере?

Как так ?!


 
panov ©   (2003-08-20 14:18) [3]

MyList.Text := MyList.Text + MyBuf;


 
mOOx_ ©   (2003-08-20 14:25) [4]

Ну это смотря какой буфер :)


 
AndreyDm   (2003-08-21 12:04) [5]

Немного пояснений (сори за сумбурный вопрос).
Консольная программа, запущенная из моей проги, выдаёт достаточно большой объём информации (~100-1000 строк в минуту). Передача этих сообщений идёт через буфер по принципу: заполнился - отдал информацию (отсюда и разрывы строк: начало в одном дампе буфера, продолжение в следующем). В принципе предложенный вариант - рабочий. У меня так:
MyList.Text := MyList.Text + StrPas(MyBuf);
Но остаются разрывы строк, и главное мне кажется это жутко не оптимальным: строковая переменная, размером (очень скоро) за 1000 строк пересоздаётся офигителное количество раз. Хотелось бы что то типа
MyList.Strings.Append(StrPas(MyBuf));
но так не проканывает (пишет буфер как одну строку).
Вот вопрос и был как то можно попроще. Посложнее я знаю сам :-))


 
Serginio666   (2003-08-21 13:29) [6]

Посмотри
http://www.1c.hippo.ru/cgi-bin/predownl.cgi?id=2019
там есть пример работы с кольцевым буфером и чтение строк.


 
Anatoly Podgoretsky ©   (2003-08-21 13:35) [7]

В таком случае возникает вопрос, а что же тебя является разделителем строк.


 
AndreyDm   (2003-08-22 06:11) [8]

Разделители строк стандартные, но при append (add) они почему то не воспринимаются (отображаются ввиде квадратиков). Вот и получается одна строка из всего буфера. Подумалось, может тут ещё и конкретный компонент виноват - использую synedit. Поэкспериментирую.


 
Rouse_ ©   (2003-08-22 06:43) [9]

Если под стандартными подразумевается CLRF то ошибка в коде.

Если отображаются квадратиками и ошибки в коде нет - значит не стандартные :)

Желаю успехов

ЗЫ: Приведи код



Страницы: 1 вся ветка

Текущий архив: 2003.09.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
7-11001
_mandrake_
2003-06-19 15:45
2003.09.04
как отловить собщение завершения работы windows?


14-10921
Pitay
2003-08-17 20:25
2003.09.04
Ну скажите мне пожалуйста!!! что я делаю не так?


14-10914
Without Any ...
2003-08-17 21:56
2003.09.04
О том, что не приветствуется на этом фомуме


3-10602
Марат
2003-08-15 13:50
2003.09.04
F1Book


1-10702
Opera
2003-08-20 17:13
2003.09.04
Массив