šŸš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #346593

Re: Scrollowanie bitmapy - c.d.

#346593
From: stchebel
Date: Tue, 08 May 2018 09:23
48 lines
3033 bytes
W dniu wtorek, 8 maja 2018 09:28:17 UTC+2 użytkownik danielma...@gmail.com napisał:
> W jakim evencie rysujesz na canvasie?

ButtonxClick. Kod wygląda tak:

procedure TForm1.Button10Click(Sender: TObject);
var
k,ftresult,Write_Result,Read_Result,Marker:integer;
EchoL,Wynik:TablicaEcho;
Found:boolean;
begin
CT_START:=not CT_START;
if CT_START then begin
 Button10.Caption:='CT_STOP';
// UstawBit(Port_8,3);
 end;
 if (not CT_START) then begin
 Button10.Caption:='CT_START';
// ZerujBit(Port_8,3);
 end;
//ZapiszPort(8,Port_8);

repeat
UstawBit(Port_8,3);
ZapiszPort(8,Port_8);
ZerujBit(Port_8,3);
ZapiszPort(8,Port_8);



// Prezentacja 1D

k:=16384;
ftresult:=FT_Read(FT_HANDLE,@EchoL,k,@Read_Result);
ZnajdzMarker(EchoL,Marker,Found);
if Found then Label27.Caption:=IntToStr(Marker) else Label27.Caption:='Not Found';
RysujPrzebieg(ObrazGorny,Marker,8000,EchoL,Wykres);
Image6.Canvas.Draw(0,0,Wykres);

Application.ProcessMessages;
until (not CT_START);
end;

Po kliknięciu guzika Button10 zmienna globalna CT_START zmienia wartość na true i wszystko zaczyna się kręcić w pętli repeat... until. W procedurze RysujPrzebieg zmienna ObrazGorny to bitmapa z "siatką" ekranu oscyloskopu, EchoL to tablica danych do namalowania, a wykres to gotowa bitmapa do wyświetlania.

Procedury UstawBit, ZerujBit, ZapiszPort służą do wyzwalania akwizycji. Ot, taki trigger. FT_Read służy do odczytu danych z urządzenia zewnętrznego.

Kolejne kliknięcie na ten guzik powoduje zmianę zmiennej CT_START na false i pętla przestaje się kręcić.
Technical Details
Message-ID: <6c9dff71-e7cd-47a8-b11a-691e61a4df2f@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!x25-v6no394927qto.0!news-out.google.com!p41-v6ni55qtp.1!nntp.google.com!u74-v6no241009itb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <f9f5ee0a-edd6-441b-bebd-96a2ba231076@googlegroups.com> <d28dc90f-ecd3-4ea0-8401-be0ddb42c55e@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:38d:: with SMTP id t13-v6mr25421055qtg.28.1525771395870;        Tue, 08 May 2018 02:23:15 -0700 (PDT)
X-Received: by 2002:a9d:5191:: with SMTP id y17-v6mr2782396otg.12.1525771395642; Tue, 08 May 2018 02:23:15 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!x25-v6no394927qto.0!news-out.google.com!p41-v6ni55qtp.1!nntp.google.com!u74-v6no241009itb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.delphi
Date: Tue, 8 May 2018 02:23:15 -0700 (PDT)
In-Reply-To: <d28dc90f-ecd3-4ea0-8401-be0ddb42c55e@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=185.234.91.174; posting-account=67yd9woAAAAHUu8VHyA7Js47M98NE3m3
NNTP-Posting-Host: 185.234.91.174
References: <f9f5ee0a-edd6-441b-bebd-96a2ba231076@googlegroups.com> <d28dc90f-ecd3-4ea0-8401-be0ddb42c55e@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6c9dff71-e7cd-47a8-b11a-691e61a4df2f@googlegroups.com>
Subject: Re: Scrollowanie bitmapy - c.d.
From: stchebel@gmail.com
Injection-Date: Tue, 08 May 2018 09:23:15 +0000
Lines: 56
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit