Avatar billede zerohero Nybegynder
22. juni 2001 - 13:06 Der er 13 kommentarer og
2 løsninger

Hvordan udnytter jeg en buffer?

Hvordan man kan man anvende en buffer til at oplagere data?  et eksempel:
Hvis jeg bruger canvas.polyline([
point(a,a), point(b,a), point(b,b), point(a,b) ]);

Hvordan kan jeg så oplagere a og b i en buffer som kan hentes ned igen til senere anvendelse?

(måske spørger jeg lidt dumt, da jeg ikke har forstand på buffer overhovedet!!!).

ZeroHero
Avatar billede borrisholt Novice
22. juni 2001 - 13:10 #1
En buffer er mange ting ... Et array et TList .. En buffer er IKKe en datatye, blot en \"kasse\" til at opbevare data i ....

Hvis du har et endeligt antal elementer du vil opbevare så vil jeg anbefale et array, ellers en Tlist.

Jens B
Avatar billede zerohero Nybegynder
22. juni 2001 - 13:17 #2
Jeg har ikke et endeligt antal (selvom mit eksempel viste det modsatte)....
Avatar billede martinlind Nybegynder
22. juni 2001 - 13:18 #3
B : array of TPoint;


SetLength(B,4);
B[0].x := 23;
B[0].y := 45;
...
...

canvas.polyline([B]);

Noget i den stil

/Martin

Avatar billede zerohero Nybegynder
22. juni 2001 - 13:21 #4
Mit problem er at jeg har en Tpanel hvor jeg vil have tegnet en masse Polylines og Polygons - det virker såmænd også fint nok, men det går simpelthen for langtsomt med at tegne de forskellige figure. Så jeg tænkte hvis man havde et eller andet hvor man kunne oplagere data\'erne for de forskellige punkter i figurene ville det måske gå meget hurtigere....
Avatar billede martinlind Nybegynder
22. juni 2001 - 13:34 #5
Så er det ikke Point\'s du skal havde buffer til, prøv at sætte DoubleBuffered til true på dit panel, det speeder hastigheden op, det er skærmopdateringen der er langsom, hvis det ikke hjælper laver du en TBitmap i den størelse din panel har tegner på dens canvas, og laver så en Panel.canvas.draw(0,0,MyBitmap);, det er de muligheder du har.

/Martin
Avatar billede zerohero Nybegynder
22. juni 2001 - 13:34 #6
MartinLind >> Jeg har prøvet dit eksempel, men delphi skriver \'Ordinal type required\' - hvilket jeg ikke ved hvad betyder...
Avatar billede zerohero Nybegynder
22. juni 2001 - 13:36 #7
Doublebuffer - hvor finder jeg lige den (kan ikke finde den på min panel)...
Avatar billede martinlind Nybegynder
22. juni 2001 - 13:40 #8
Panel1.Doublebuffer := TRUE, det er vist nok ikke en published prop.

Første foreslag, skal du se bortfra, det vil ikke hjælpe

/Martin
Avatar billede borrisholt Novice
22. juni 2001 - 13:42 #9
zerohero>> Jeg kan ikke rigtigt gennem skue hvad det er du vil . Kunne du ikke sende mig det hele, så skal jeg lige sjusse en løsning til dig ....


Jens B
Avatar billede zerohero Nybegynder
22. juni 2001 - 13:44 #10
ok - har fundet det men jeg synes ikke der er den store forskel... noget helt andet er at min panel vil ikke vise mine figure når den starter op i runtime. Men hvis jeg har en knap som opdatere min formpaint(sender); så vil den godt. Jeg har prøvet at putte formpaint(sender); i formcreate proceduren men det hjælper ikke - hvad skal jeg gøre?
Avatar billede zerohero Nybegynder
22. juni 2001 - 13:45 #11
Jo med glæde Borrisholt - men hvad er din mail adresse?
Avatar billede borrisholt Novice
22. juni 2001 - 13:45 #12
Jens@borrisholt.com ....

jens B
Avatar billede zerohero Nybegynder
22. juni 2001 - 13:46 #13
Jeg vil gøre det med det samme...
Avatar billede zerohero Nybegynder
22. juni 2001 - 13:54 #14
Borrisholt>> har du fået den?
Avatar billede zerohero Nybegynder
24. juni 2001 - 20:51 #15
1000 tak for hjælpen til jer alle (specielt Borrisholt for dine udmærkede løsninger, rådgivning og forklaringer - og for kritik af min opstilling *G*)...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester