Главная страница
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.014 c
14-10977
Marser
2003-08-15 01:27
2003.09.04
Именинники 15 августа


1-10754
Vinter
2003-08-25 07:55
2003.09.04
Qreport и delphi7


3-10581
Fenixx
2003-08-14 15:26
2003.09.04
Импорт данных в БД из текстового файла


4-11028
D.J.Star
2003-07-03 13:10
2003.09.04
Как проиграть PlaySound ом поток из памяти?


11-10658
Ал
2002-12-28 23:32
2003.09.04
ShowModal у формы с StayOnTop:=True - что-то глючит.