manhome.nl

ViSpro Programmeren: FB Procesbeelden

Deze pagina behandelt de functies die specifiek betrekking hebben op procesbeelden.

Uiteraard kunnen de hier genoemde functies alleen in procesbeelden (Ψ) gebruikt worden.

Het overzicht is opgedeeld in twee tabellen:

Tabel VI richt zich op de grafische objecten en

Tabel VII biedt de overige functies

 

Tabel VI

Functies voor het werken in en met Procesplaatjes - Grafische Objecten

 

FunctieBeschrijvingToelichtingOpmerking

ObjText()

Wijzig tekst van tekstobject

Gebruiken voor dynamische teksten b.v. als statusindicatie

NB.: De kleur van teksten wordt gewijzigd met ObjDraw()

 
ObjFill() Wijzig vulkleuren en vulpatroon Voor b.v. statusindicaties kunnen de vulkleur en het vulpatroon tijdelijk gewijzigd worden.  
ObjDraw() Wijzig lijnkarakteristieken- en zoomattributen Voor b.v. statusindicaties kunnen de lijnkleur, de lijndikte en het lijntype hiermee, tijdelijk, aangepast worden. Verder kan het criterium voor de zichtbaarheid, afhankelijk van een eventuele zoomfactor, gewijzigd worden.

Wordt ook gebruikt om tekstkleur te wijzigen.
 
ObjBlink() Laat object blinken of niet Toepassen als tijdelijke aandachttrekker bij het visualiseren van een objectstatus.  

ObjMove()

Verplaats object naar nieuwe locatie

Bijvoorbeeld bij visualiseren van machine-onderdeel.  

ObjRotate()

Roteer object om gegeven punt met gegeven aantal graden

Wordt gebruikt voor animatie van o.a. meetinstrumenten en machinedelen.  

ObjScale()

Vergroot of verklein object

Om afmetingen van object aan te kunnen passen. Hoogte en breedte kunnen afzonderlijk verschaald worden.  
ObjVisible()

Maak object (on)zichtbaar

Te gebruiken bij diverse animaties. B.v. het op verzoek tonen van panelen met help tekst, machimenummers, legenda etc.  

ObjClip()

Éénzijdig begrenzen (of niet) van de presentatie van een object

Te gebruiken bij bar graph presentaties. Richting van begrenzing kan worden opgegeven.

Let op: De contourlijn van het opject wordt buiten het geclipte gebied ook niet getekend !! Derhalve vaak fraaier zonder contourlijn.
 

ObjClipObj()

Begrenzen (of niet) van de presentatie van een object m.b.v. een contourobject.

Te gebruiken bij allerlei vormen van visualiseren met als wellicht meest sprekende een 'doorkijkje' in een tank om het vulniveau te illustreren.

 

ObjMorph()

Wijzig het patroon en de positie van één object zodat het gaat lijken op of identiek wordt aan een referentieobject. Hiermee kunnen objecten, van het type open of gesloten polygoon, aangepast worden. Gebruiken bij b.v. toestandsafhankelijke pijlaanwijzingen of 'bewegende' 3d objecten zoals een deksel, een deur, een hek of een brugdek.  
ObjSetPoint() Verplaats een punt van een object van het type polygoon of lijnstuk naar de opgegeven positie Wordt gebruikt voor vormverandering b.v. bij animaties. Goed voorbeeld zijn de regelvlakschaduwen van de regelaars uit de demo  
ObjShiftPoint() Plaats een nieuw punt in een object van het type polygoon of lijnstuk en op een opgegeven positie Wordt b.v. gebruikt om dynamische grafieken te maken van het type spinneweb of voor het emuleren van de lijn van een schrijvende recorder.  
ObjLevel()

Wijzig het oorspronkelijke level van een object

De term "level" is wat verwarrend. Het heeft niets te maken met de tekenvolgorde van objecten.
Aan objecten in procesplaatjes kunnen verschillende laagnummers worden toegekend. Die "lagen" kunnen naar verkiezing aan- en uitgezet worden waarmee alle objecten met dat laagnummer zichtbaar resp. onzichtbaar worden.

Zie ook ObjLevel() in de volgende tabel.

 

ObjName()

Naam aan een object toewijzen of de reeds gegeven naam veranderen

Handig na toepassen van kopieerfunctie, ObjCopy( ), om object een handelbare en bekende naam te geven.

 

ObjCursor()

Wijzig de cursor die verschijnt als de muis boven dit object komt

Te gebruiken om b.v. de cursor aan te passen bij een knop met toestand afhankelijk functies ( start - stop ).

 

ObjReset()

Breng object terug in getekende positie

Wordt gebruikt om b.v. hoekverdraaiing correct t.o.v. uitgangspositie i.p.v. actuele positie uit te kunnen voeren.

 
ObjCopy() Maak een kopie van het opgegeven object

Hiermee kunnen dynamisch objecten bijgemaakt worden.
Maar let op:

1. De nieuwe objecten zijn 'vluchtig', als het plaatje wordt gesloten is het object weer verdwenen.

2. De kopie ligt 'over' het origineel en moet daarna dus verplaatst worden.

B.v. te gebruiken bij de visualisatie van objecten op een lopende band.

 
ObjCenter() Geef de centrumcoördinaten van een object Toepasbaar bij alle vormen van uitrichten en bij bepalen van referentiepunt bij b.v. rotaties  
ObjDim() Geef de positie (x, y) en grootte (b, h) van een object. Kan op vele manieren van nut zijn, b.v. voor het bepalen van de plaats van een ander object of om het object zelf te kunnen verplaatsen en de nieuwe plaats te kunnen onthouden.  

ObjFromName()

Geef de objectpointer van een te noemen object

Objecten zijn alleen via hun "object pointer" te besturen of aan te spreken.

Wanneer een object 'bestuurd' moet worden, vanuit een berekening of vanuit een ander object, moet dus eerst de pointer van het bedoelde object opgevraagd worden.

NB.: Bedoelde objecten moeten dan wel een naam gekregen hebben!

 

ObjFromNameInGroup()

Geef de pointer van een te noemen object dat zich bevindt in een te noemen groep

Van belang als er meerdere 'identieke' groepen zijn gevormd, waarbij alleen de namen van de groepen verschillen, en er toch individuele objecten vanaf een hoger niveau aangesproken moeten worden.

Let op: ook een groep kan uitsluitend via zijn objectpointer, die dus eerst opgevraagd moet worden, aangewezen worden.
 

ObjFromXY()

Geef de pointer van het object dat zich op - of het dichtst bij - een bepaalde plek op het beeldscherm bevindt

Wordt als regel in combinatie met GetMouseXY() gebruikt.

Wordt b.v. gebruikt bij slider objecten.
 
ObjGetName() Geef de naam van een object behorend bij een bepaalde pointer

Handig in een functie, m.n. om te achterhalen welk object de aanroep heft gepleegd. Kan ook gebruikt worden voor het meegeven van de naam in een functie-aanroep vanuit een object.

VB.: mijnFunctie(ObjGetName(Object))

Object is een gereserveerde variabele die de pointerwaarde krijgt van een actief object.
ObjGetText() Geef de actueel getoonde tekst van een aan te wijzen tekstobject De actuele inhoud van een tekstobject hoeft daardoor niet in een aparte variabele bewaard te worden.  
ObjGetType() Geef het nummer van het type van het met een pointer aan te wijzen object Omdat b.v. een tekstobject niet gevuld kan worden en een vlak geen tekst kan bevatten kan het soms handig zijn de aard van het object eerst te controleren. Er zijn 8 verschillende objecttypen!  
ObjNearXY() Geef positie van punt op omtrek van een object dat het dichtst bij een gegeven punt (x, y) ligt Wordt als regel gebruikt om positie van een aanwijsbaar object te bepalen dat zich het dichtst bij de muis bevindt.  
ObjPercXY() Geef positie en actuele hoek op gevraagd percentage van lijnstuk of omtrek van object Wordt gebruikt om doelpositie vast te stellen voor een te verplaatsen, en in de juiste richting te draaien, object  
ObjScrDim() Geef plaats van object t.o.v. linker boven hoek van beeldscherm Hiermee kan de actuele positie van een object, en de ruimte die het inneemt, worden vastgesteld. Kan gebruikt worden om een reeks objecten t.o.v. elkaar te positioneren.  
ObjWindPara() Stel parameters in het object van het type Window in op nieuwe waarden Diverse objectafhankelijke toepassingen. Goed voorbeeld is gegeven in de on-line help waarin een nieuw kanaalnummer naar een video-object gestuurd wordt.  
ObjWindValue() Stel de configuratiewaarde van het object van het type Window in op een nieuwe waarde Diverse objectafhankelijke toepassingen. Goed voorbeeld is het sturen van een nieuw configuratieadres naar een beeld-in-beeld object.  
ObjWindVar() Stel in of vraag op waarden van applicatieparameters die via het Window-object toegankelijk zijn. Diverse objectafhankelijke toepassingen. Goed voorbeeld is gegeven in de on-line help waarin gecommuniceerd wordt met een video-driver.

Een ander realistisch voorbeeld is het aansturen van een on-line trend viewer via 'eigen' toetsen. Zie Objektparameter in de on-line help