🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Scrollowanie bitmapy - c.d.

#346594
From: J-23
Date: Tue, 08 May 2018 14:13
59 lines
3280 bytes
W dniu 08.05.2018 o 11:23, stchebel@gmail.com pisze:
> 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ć.
> 

Ja bym to podzielił na wątki, bo tak jak masz teraz to robisz wszystko w 
wątku głównym i dlatego staje to dęba przy przesuwaniu.

Będziesz miał trochę pracy z odpowiednią synchronizacją ale to jest do 
ogarnięcia

Pozdrawiam
J-23
Technical Details
Message-ID: <5af1b09b$0$687$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!newsreader5.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer04.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <f9f5ee0a-edd6-441b-bebd-96a2ba231076@googlegroups.com> <d28dc90f-ecd3-4ea0-8401-be0ddb42c55e@googlegroups.com> <6c9dff71-e7cd-47a8-b11a-691e61a4df2f@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!newsreader5.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer04.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Subject: Re: Scrollowanie bitmapy - c.d.
Newsgroups: pl.comp.lang.delphi
References: <f9f5ee0a-edd6-441b-bebd-96a2ba231076@googlegroups.com> <d28dc90f-ecd3-4ea0-8401-be0ddb42c55e@googlegroups.com> <6c9dff71-e7cd-47a8-b11a-691e61a4df2f@googlegroups.com>
From: J-23 <Baczeklu@poczta.fm>
Date: Tue, 8 May 2018 16:13:46 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0
MIME-Version: 1.0
In-Reply-To: <6c9dff71-e7cd-47a8-b11a-691e61a4df2f@googlegroups.com>
Lines: 59
Message-ID: <5af1b09b$0$687$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 188.146.97.220
X-Trace: 1525788827 unt-rea-a-01.news.neostrada.pl 687 188.146.97.220:28961
X-Complaints-To: abuse@news.neostrada.pl
X-Received-Bytes: 3027
X-Received-Body-CRC: 3708913394
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit