DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC759 "Piccoline"

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RegneCentralen RC759 "Piccoline"

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦c891a5411⟧ TextFile

    Length: 2250 (0x8ca)
    Types: TextFile
    Names: »VDI_EKS.BAK«

Derivation

└─⟦b301b5c1d⟧ Bits:30003931/GEM_Develop_disk_2_CDOS.imd Disketter indleveret af Steffen Jensen (Piccolo/Piccoline)
    └─⟦this⟧ »VDI_EKS.BAK« 

TextFile

PROGRAM vdi_eks;  

(* Eksempel paa brug af GEMVDI       *)
(* Steffen Bering Jensen - Juni 1988 *)

(*$I gempcon.i *)
(*$I gemptype.i *)
(*$I gempvar.i *)
(*$I vdibnd.pas *)

VAR
  state,oldstate,
  retur,handler,ox2,oy2,
  bx1,bx2,by1,by2,v   : INTEGER ;
  intptsout           : array_57;
  vch                 : CHAR ;


PROCEDURE box(handler,x1,y1,x2,y2,inter,style:INTEGER);
VAR
  dum : INTEGER ;
  xy  : array_4 ;
BEGIN
  dum:=vsf_interior(handler,inter); (* SET INTERIOR FILL STYLE  *)
  dum:=vsf_style(handler,style);    (* SET FILL STYLE           *)
  xy(.0.):=x1 ; xy(.1.):=y1 ;
  xy(.2.):=x2 ; xy(.3.):=y2 ;
  dum:=v_rfbox(handler,xy);         (* FILLED ROUNDED RECTANGLE *)
  dum:=v_updwk(handler);            (* UPDATE WORKSTATION       *)
END;
     
BEGIN        
  intin(.0.):=1 ;   (* refers to device number in assign.sys   *)
                    (* intin(.0..9.) are default values for  
                       attributes                              *)
  intin(.10.):=2 ;  (* System of coordinates 0=NDC  2=RC       *)

  retur:=v_opnwk(intin,handler,intptsout); (* OPEN WORKSTATION *)

  (* The variable handler is an ID for the device. If handler
     equals 0 the device has not been opened.                  *)  

  IF handler<>0 THEN
  BEGIN
    retur:=v_show_c(handler,0);   ; (* SHOW GRAPHICS CURSOR     *)
        
    retur:=vq_mouse(handler,oldstate,bx1,by1);
    
    REPEAT
      retur:=vq_mouse(handler,state,bx1,by1);
    UNTIL state<>oldstate;
    
    retur:=vq_mouse(handler,state,bx2,by2);
    
    ox2:=bx2 ; oy2:=by2 ;
    box(handler,bx1,by1,bx2,by2,0,0);    
    
    REPEAT
      retur:=vq_mouse(handler,state,bx2,by2);
      IF (bx2<>ox2) OR (by2<>oy2) THEN
      BEGIN
        retur:=vswr_mode(handler,3);
        box(handler,bx1,by1,ox2,oy2,0,0);
        retur:=vswr_mode(handler,1);
        ox2:=bx2 ; oy2:=by2 ;
        box(handler,bx,by1,ox2,oy2,0,0);
      END; 
    UNTIL state<>oldstate;
    
    box(handler,bx1,by1,bx2,by2,2,16);    

    FOR v:=1 TO 32000 DO
    BEGIN END;

    REPEAT
      retur:=vq_mouse(handler,state,bx2,by2);
    UNTIL state<>oldstate;
    
    retur:=v_clswk(handler) ;
  END;
END.