Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Основна";
Поточний архів: 2002.12.26;
Завантажити: [xml.tar.bz2];

Вниз

Такий процедурою виводжу дані з COM порту в Мемо Знайти схожі гілки


iNew   (2002-12-11 09:09) [0]

var LineData: string;
procedure TForm1.VaComm1RxChar (Sender: TObject; Count: Integer);
тип
CharBuf = array [0..9999] of Char;
було
Buffer: ^ CharBuf; Bytes, P: Integer;
починати
GetMem (Buffer, VaComm1.ReadBufUsed);
try
Fillchar (Buffer ^, VAComm1.ReadBufUsed, 0);
Bytes: = VaComm1.ReadBuf (Buffer ^, Count);
if Bytes <> -1 then
begin
for P: = 0 to Bytes - 1 do begin
case Buffer ^ [P] of
#0, # 10, # 13:
begin
if LineData <> "" then M2.Lines.Add (LineData);
LineData: = "";
end
else
begin
LineData: = LineData + CharBuf (Buffer ^) [P];
end;
end; // case
end; // for do
end;
Application.ProcessMessages;
finally
FreeMem (Buffer);
end;
end;
Ця процедура є подія на появу даних, але не можу зрозуміти чому дані виводяться в МЕМО з затримкою на одну Сторк
PS Використовую набір компонент Async.



apay   (2002-12-11 09:22) [1]

все правильно, як прогу пишеш, так вона і оре.
спробуй:
... case Buffer ^ [P] of #0, # 10, # 13: if (M2.Lines.Count> 0) and (M2.Lines [M2.Lines.Count-1] <> "") then M2.Lines.Add ( ""); else begin if (M2.Lines.Count = 0) then M2.Lines.Add ( ""); M2.Lines [M2.Lines.Count-1]: = M2.Lines [M2.Lines.Count-1] + CharBuf (Buffer ^) [P]; end; end; // case ...



iNew   (2002-12-11 09:31) [2]

Все працює, але виходить якось глючно:
Дуже повільно і МЕМО весь блимає при додаванні.



iNew   (2002-12-11 10:55) [3]

А ще варіанти?



iNew   (2002-12-15 04:53) [4]

Ну ще хто-небудь?



Slym   (2002-12-15 06:31) [5]

Ти в мемо відразу не пхай дані: спочатку в локальну змінну типу TStringList, а вже потім перед кінцем процедури вивалюється накопичену інфу



iNew   (2002-12-16 06:15) [6]

Ну замість M2.Lines.Add (LineData) зробив MyList.add (LineData),
а в кінці в циклі:
for i: = 0 to MyList.Count-1 do
починати
M2.Lines.Add (MyList.Strings [i]);
end;
Результат той самий.



сторінки: 1 вся гілка

Форум: "Основна";
Поточний архів: 2002.12.26;
Завантажити: [xml.tar.bz2];

Вгору





Пам'ять: 0.56 MB
Час: 0.022 c
3-85781
jack128
2002-12-02 09:27
2002.12.26
ХП в обчислюваних полях


3-85818
Мученик
2002-12-06 12:08
2002.12.26
процедура


1-85931
Влад
2002-12-17 14:36
2002.12.26
Як ???


1-86023
de2
2002-12-16 14:59
2002.12.26
звернення до об'єкту модальної форми


1-85965
високогірний
2002-12-15 17:53
2002.12.26
Як зробити Combobox незмінний (Read Only)?





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська