home *** CD-ROM | disk | FTP | other *** search
- $M300000
- $E
- DEFTEXT ,,,13
- DEFMOUSE 2
- DEFFILL 1,2,4
- @vB_6(1,"RUNLIGHT.PRG")
- PBOX 0,17,639,399
- SHOWM
- @vB_9
- @vB_C
- DEFMOUSE 0
- v3_0!=-1
- v3_1!=0
- IF GEMDOS(17)
- ALERT 1," Wenn Sie Ihren Drucker | eingeschaltet haben, | schalten Sie ihn jetzt | unbedingt AUS !!! ",1," Ok ",v9_0|
- ENDIF
- ~OBJC_DRAW(v2_1A%,0,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- DO
- v2_24%=FORM_DO(v2_1A%,0)
- SELECT BCLR(v2_24%,15)
- CASE v2_13%,v2_14%
- ' HOLD/FLASH ~~~~~~~~~~~~~~~~~~~~
- IF v2_24%=v2_13%
- OB_STATE(v2_1A%,v2_13%)=BSET(OB_STATE(v2_1A%,v0_0#),0)
- OB_STATE(v2_1A%,v2_14%)=BCLR(OB_STATE(v2_1A%,v0_1#),0)
- v3_0!=-1
- ELSE IF v2_24%=v2_14%
- OB_STATE(v2_1A%,v2_13%)=BCLR(OB_STATE(v2_1A%,v0_0#),0)
- OB_STATE(v2_1A%,v2_14%)=BSET(OB_STATE(v2_1A%,v0_1#),0)
- v3_0!=0
- ENDIF
- CHAR{OB_SPEC(v2_1A%,v2_13%)}="Hold"
- CHAR{OB_SPEC(v2_1A%,v2_14%)}="Flash"
- ~OBJC_DRAW(v2_1A%,v2_13%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ~OBJC_DRAW(v2_1A%,v2_14%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- REPEAT
- UNTIL MOUSEK=0
- CASE v2_15%,v2_16%
- ' SINGLE/AUTO ~~~~~~~~~~~~~~~~~~~~
- IF v2_24%=v2_15%
- OB_STATE(v2_1A%,v2_15%)=BSET(OB_STATE(v2_1A%,v0_2#),0)
- OB_STATE(v2_1A%,v2_16%)=BCLR(OB_STATE(v2_1A%,v0_3#),0)
- v3_1!=0
- ELSE IF v2_24%=v2_16%
- OB_STATE(v2_1A%,v2_15%)=BCLR(OB_STATE(v2_1A%,v0_2#),0)
- OB_STATE(v2_1A%,v2_16%)=BSET(OB_STATE(v2_1A%,v0_3#),0)
- v3_1!=-1
- ENDIF
- CHAR{OB_SPEC(v2_1A%,v2_15%)}="Single"
- CHAR{OB_SPEC(v2_1A%,v2_16%)}="Auto"
- ~OBJC_DRAW(v2_1A%,v2_15%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ~OBJC_DRAW(v2_1A%,v2_16%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- REPEAT
- UNTIL MOUSEK=0
- CASE v2_17%
- ' START ~~~~~~~~~~~~~~~~~~~~
- OB_STATE(v2_1A%,v2_17%)=BSET(OB_STATE(v2_1A%,v2_17%),0)
- CHAR{OB_SPEC(v2_1A%,v2_17%)}="Running"
- CHAR{OB_SPEC(v2_1A%,v2_11%)}="OUTP"
- OB_STATE(v2_1A%,v2_B%)=BSET(OB_STATE(v2_1A%,v2_B%),0)
- CHAR{OB_SPEC(v2_1A%,v2_B%)}="ON"
- ~OBJC_DRAW(v2_1A%,v2_17%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ~OBJC_DRAW(v2_1A%,v2_B%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ~OBJC_DRAW(v2_1A%,v2_11%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- v3_7!=GEMDOS(17)
- REPEAT
- UNTIL MOUSEK=0
- VOID FN vE_0
- IF v3_7!
- OUT 0,0
- ENDIF
- CHAR{OB_SPEC(v2_1A%,v2_B%)}="OFF"
- CHAR{OB_SPEC(v2_1A%,v2_C%)}="⓪⓪⓪"
- CHAR{OB_SPEC(v2_1A%,v2_D%)}="⓪⓪"
- CHAR{OB_SPEC(v2_1A%,v2_E%)}="⓪⓪"
- CHAR{OB_SPEC(v2_1A%,v2_F%)}="NOR"
- CHAR{OB_SPEC(v2_1A%,v2_10%)}="UP"
- CHAR{OB_SPEC(v2_1A%,v2_11%)}="EDIT"
- CHAR{OB_SPEC(v2_1A%,v2_12%)}=SPACE$(25)
- CHAR{OB_SPEC(v2_1A%,v2_17%)}="Start"
- OB_STATE(v2_1A%,v2_B%)=BCLR(OB_STATE(v2_1A%,v2_B%),0)
- OB_STATE(v2_1A%,v2_17%)=BCLR(OB_STATE(v2_1A%,v2_17%),0)
- ~OBJC_DRAW(v2_1A%,v2_B%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ~OBJC_DRAW(v2_1A%,v2_C%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ~OBJC_DRAW(v2_1A%,v2_D%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ~OBJC_DRAW(v2_1A%,v2_E%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ~OBJC_DRAW(v2_1A%,v2_F%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ~OBJC_DRAW(v2_1A%,v2_10%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ~OBJC_DRAW(v2_1A%,v2_11%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ~OBJC_DRAW(v2_1A%,v2_12%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ~OBJC_DRAW(v2_1A%,v2_17%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- REPEAT
- UNTIL MOUSEK=0
- CASE v2_18%
- ' INFO ~~~~~~~~~~~~~~~~~~~~
- @vB_8
- OB_STATE(v2_1A%,v2_18%)=BCLR(OB_STATE(v2_1A%,v2_18%),0)
- CHAR{OB_SPEC(v2_1A%,v2_18%)}="Info"
- ~OBJC_DRAW(v2_1A%,v2_18%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- CASE v2_19%
- ' QUIT ~~~~~~~~~~~~~~~~~~~~
- @vB_1
- CASE v2_25%,v2_26%
- ' PROGRAMMWECHSEL(+/-) ~~~~~~~~~~~~~~~~~~~~
- IF v2_24%=v2_25%
- IF v2_2F%>0
- DEC v2_2F%
- CHAR{OB_SPEC(v2_1A%,v2_7%)}=RIGHT$(@vF_0$("00"+STR$(v2_2F%)),2)
- ~OBJC_DRAW(v2_1A%,v2_7%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ENDIF
- ELSE IF v2_24%=v2_26%
- IF v2_2F%<99
- INC v2_2F%
- CHAR{OB_SPEC(v2_1A%,v2_7%)}=RIGHT$(@vF_0$("00"+STR$(v2_2F%)),2)
- ~OBJC_DRAW(v2_1A%,v2_7%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ENDIF
- ENDIF
- CASE v2_27%,v2_28%
- ' SPEED ÄNDERN ~~~~~~~~~~~~~~~~~~~~
- IF v2_24%=v2_27%
- IF v2_32%>0
- DEC v2_32%
- CHAR{OB_SPEC(v2_1A%,v2_8%)}=@vF_0$(STR$(v2_32%))
- ~OBJC_DRAW(v2_1A%,v2_8%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ENDIF
- ELSE IF v2_24%=v2_28%
- IF v2_32%<9
- INC v2_32%
- CHAR{OB_SPEC(v2_1A%,v2_8%)}=@vF_0$(STR$(v2_32%))
- ~OBJC_DRAW(v2_1A%,v2_8%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ENDIF
- ENDIF
- CASE v2_29%,v2_2A%
- ' EFFEKTEINSTELLUNG NORMAL/INVERS ~~~~~~~~~~~~~~~~~~~~
- IF v2_24%=v2_29%
- IF v2_33%>0
- DEC v2_33%
- CHAR{OB_SPEC(v2_1A%,v2_9%)}=@vF_0$(STR$(v2_33%))
- ~OBJC_DRAW(v2_1A%,v2_9%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ENDIF
- ELSE IF v2_24%=v2_2A%
- IF v2_33%<9
- INC v2_33%
- CHAR{OB_SPEC(v2_1A%,v2_9%)}=@vF_0$(STR$(v2_33%))
- ~OBJC_DRAW(v2_1A%,v2_9%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ENDIF
- ENDIF
- IF v2_33%
- OB_STATE(v2_1A%,v2_F%)=BSET(OB_STATE(v2_1A%,v2_F%),0)
- ELSE
- OB_STATE(v2_1A%,v2_F%)=BCLR(OB_STATE(v2_1A%,v2_F%),0)
- ENDIF
- ~OBJC_DRAW(v2_1A%,v2_F%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- CASE v2_2B%,v2_2C%
- ' EFFEKTEINSTELLUNG UP/DOWN ~~~~~~~~~~~~~~~~~~~~
- IF v2_24%=v2_2B%
- IF v2_34%>0
- DEC v2_34%
- CHAR{OB_SPEC(v2_1A%,v2_A%)}=@vF_0$(STR$(v2_34%))
- ~OBJC_DRAW(v2_1A%,v2_A%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ENDIF
- ELSE IF v2_24%=v2_2C%
- IF v2_34%<9
- INC v2_34%
- CHAR{OB_SPEC(v2_1A%,v2_A%)}=@vF_0$(STR$(v2_34%))
- ~OBJC_DRAW(v2_1A%,v2_A%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ENDIF
- ENDIF
- IF v2_34%
- OB_STATE(v2_1A%,v2_10%)=BSET(OB_STATE(v2_1A%,v2_10%),0)
- ELSE
- OB_STATE(v2_1A%,v2_10%)=BSET(OB_STATE(v2_1A%,v2_10%),0)
- ENDIF
- ~OBJC_DRAW(v2_1A%,v2_10%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- DEFAULT
- '
- ENDSELECT
- LOOP
- > PROCEDURE vB_9
- LOCAL v2_35%,v2_1B%,v1_8$
- DIM v5_0$(103)
- IF EXIST("\RUNLIGHT.DRL")
- OPEN "I",#1,"\RUNLIGHT.DRL"
- FOR v2_35%=0 TO 99
- v5_0$(v2_35%)=INPUT$(32,#1)
- NEXT v2_35%
- CLOSE #1
- ELSE
- ALERT 1,"|Datei fehlt: |RUNLIGHT.DRL !",1," Quit ",v9_0|
- ~RSRC_FREE()
- RESERVE
- EDIT
- ENDIF
- RETURN
- > PROCEDURE vB_C
- ~RSRC_FREE()
- RESERVE
- RESERVE -33000
- IF RSRC_LOAD("\runlight.rsc")=0
- ALERT 1,"|Datei fehlt: |RUNLIGHT.RSC !",1," Quit ",v9_0|
- ~RSRC_FREE()
- RESERVE
- EDIT
- ENDIF
- v2_0%=0
- v2_1%=1
- v2_2%=6
- v2_3%=11
- v2_4%=16
- v2_5%=21
- v2_6%=34
- v2_7%=3
- v2_8%=8
- v2_9%=13
- v2_A%=18
- v2_B%=22
- v2_C%=23
- v2_D%=24
- v2_E%=25
- v2_F%=26
- v2_10%=27
- v2_11%=28
- v2_12%=29
- v2_13%=35
- v2_14%=36
- v2_15%=37
- v2_16%=38
- v2_17%=39
- v2_18%=40
- v2_19%=41
- v2_25%=2
- v2_26%=4
- v2_27%=7
- v2_28%=9
- v2_29%=12
- v2_2A%=14
- v2_2B%=17
- v2_2C%=19
- v2_1F%=5
- v2_20%=10
- v2_21%=15
- v2_22%=20
- v2_23%=42
- v2_3F%=30
- v2_40%=32
- v2_41%=31
- v2_42%=43
- v2_48%=33
- v2_49%=44
- v2_4A%=45
- ~RSRC_GADDR(0,v2_0%,v2_1A%)
- ~FORM_CENTER(v2_1A%,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- RETURN
- > PROCEDURE vB_1
- ALERT 1,"|Programm wirklich beenden ???",1," Ja | Nein ",v9_0|
- OB_STATE(v2_1A%,v2_19%)=BCLR(OB_STATE(v2_1A%,v2_19%),0)
- ~OBJC_DRAW(v2_1A%,v2_19%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- IF v9_0|=1
- ~RSRC_FREE()
- RESERVE
- EDIT
- ENDIF
- RETURN
- > PROCEDURE vB_8
- SGET v1_B$
- SETCOLOR 0,2
- CLS
- PRINT STRING$(80,175)
- @vB_6(2,"< < < < < RUNLIGHT.PRG > > > > >")
- PRINT STRING$(80,175)
- PRINT
- PRINT " Wenn Sie den Quellcode des Programm`s möchten oder vielleicht die Bauanleitung"
- PRINT " zu der Lichtanlage(Grundaufbau/Bezugsadressen .... usw.), dann schicken Sie"
- PRINT " bitte DM 20.- an folgende Adresse:"
- PRINT
- PRINT " HEINER SCHIED BERGSTRASSE 10 6749 BRUCHWEILER-BÄRENBACH"
- PRINT
- PRINT " Im Prinzip können Sie jedes Parallel-Interface (mit Relais) mit diesem"
- PRINT " Programm ansteuern. Es sollte nur ausreichend funkentstört sein, da"
- PRINT " die Relais oft mehrmals pro Sekunde ein- u./od. ausschalten. Das ist auch"
- PRINT " DER Grund dafür, daß ich aus verschiedenen Bausätzen u. Bausteinen eine"
- PRINT " Schaltung entwickelt habe, die ohne störende Geräusche (von Relais) und"
- PRINT " im Nulldurchgang(also ohne elektrische Funken beim Ein- od. Ausschalten)"
- PRINT " arbeitet."
- PRINT " ACHTUNG ! Beim Selbstbau einer solchen Lichtanlage müssen unbedingt die"
- PRINT " VDE-Richtlinien eingehalten werden !!!"
- REPEAT
- UNTIL MOUSEK=2 OR LEN(INKEY$)
- SPUT v1_B$
- SETCOLOR 0,1
- RETURN
- > PROCEDURE vB_6(v9_1|,v1_C$)
- ' TEXT IN ZEILE `zeile|` ZENTRIEREN ~~~~~~~~~~~~~~~~~~~~
- PRINT AT(40-ROUND(LEN(v1_C$)/2),v9_1|);v1_C$
- RETURN
- FUNCTION vE_0
- LOCAL v1_8$,v1_9$,v1_A$,v1_6$,v1_5$,v2_36%,v2_35%,v2_37%,v2_3B%,v2_3C%,v2_3D%,v3_5!,v3_6!,v2_45%
- v3_7!=GEMDOS(17)
- v2_3C%=v2_2F%
- v2_45%=0
- v3_6!=-1
- v3_5!=0
- v8_0&=(v2_32%+1)*60
- IF v3_1!
- v2_3C%=v2_2F%-1
- ELSE
- IF LEN(v5_0$(v2_3C%))=0
- ALERT 1,"|Programm fehlt ! | Haben Sie RUNLIGHT.DRL | manipuliert ???? ",1," Return ",v9_0|
- RETURN 0
- ENDIF
- ' PROGRAMM ~~~~~~~~~~~~~~~~~~~~
- CHAR{OB_SPEC(v2_1A%,v2_D%)}=RIGHT$("⓪"+FN vF_0$(STR$(v2_3C%)),2)
- ~OBJC_DRAW(v2_1A%,v2_D%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ENDIF
- DO
- IF MOUSEK=2
- RETURN 0
- ENDIF
- IF v3_1!
- v3_6!=-1
- v3_5!=0
- INC v2_3C%
- IF v2_3C%>99
- v2_3C%=0
- ENDIF
- ' PROGRAMM ~~~~~~~~~~~~~~~~~~~~
- CHAR{OB_SPEC(v2_1A%,v2_D%)}=RIGHT$("⓪"+FN vF_0$(STR$(v2_3C%)),2)
- ~OBJC_DRAW(v2_1A%,v2_D%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ENDIF
- FOR v2_3D%=1 TO 10
- INC v2_45%
- IF v2_45%>9999
- v2_45%=0
- ENDIF
- CHAR{OB_SPEC(v2_1A%,v2_C%)}=RIGHT$("⓪⓪"+FN vF_0$(STR$(v2_45%)),3)
- ~OBJC_DRAW(v2_1A%,v2_C%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- CHAR{OB_SPEC(v2_1A%,v2_E%)}=RIGHT$("⓪"+FN vF_0$(STR$(v2_3D%)),2)
- ~OBJC_DRAW(v2_1A%,v2_E%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- v1_9$=v5_0$(v2_3C%)
- v1_8$=v1_9$
- IF v2_33%
- IF FRAC(v2_3D%/(v2_33%+1))=0
- IF v3_5!
- v3_5!=0
- ELSE
- v3_5!=-1
- ENDIF
- ENDIF
- ENDIF
- IF v2_34%
- IF FRAC(v2_3D%/(v2_34%+1))=0
- IF v3_6!
- v3_6!=0
- ELSE
- v3_6!=-1
- ENDIF
- ENDIF
- ENDIF
- IF v3_6!=0 AND v3_5!
- v1_8$=FN vF_1$(FN vF_2$(v1_9$))
- CHAR{OB_SPEC(v2_1A%,v2_F%)}="INV"
- CHAR{OB_SPEC(v2_1A%,v2_10%)}="DOWN"
- ELSE IF v3_6!=0 AND v3_5!=0
- v1_8$=FN vF_1$(v1_9$)
- CHAR{OB_SPEC(v2_1A%,v2_F%)}="NOR"
- CHAR{OB_SPEC(v2_1A%,v2_10%)}="DOWN"
- ELSE IF v3_6! AND v3_5!
- v1_8$=FN vF_2$(v1_9$)
- CHAR{OB_SPEC(v2_1A%,v2_F%)}="INV"
- CHAR{OB_SPEC(v2_1A%,v2_10%)}="UP"
- ELSE
- CHAR{OB_SPEC(v2_1A%,v2_F%)}="NOR"
- CHAR{OB_SPEC(v2_1A%,v2_10%)}="UP"
- ENDIF
- ~OBJC_DRAW(v2_1A%,v2_F%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- ~OBJC_DRAW(v2_1A%,v2_10%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
- v2_46%=LEN(v1_8$)
- FOR v2_35%=1 TO v2_46%
- v2_36%=ASC(MID$(v1_8$,v2_35%,1))
- v1_5$=STRING$(8,48)
- RSET v1_5$=BIN$(v2_36%)
- v1_5$=FN vF_1$(v1_5$)
- v1_6$=SPACE$(25)
- IF MOUSEK=2
- RETURN 0
- ENDIF
- FOR v2_37%=1 TO 8
- IF MID$(v1_5$,v2_37%,1)="1"
- MID$(v1_6$,v2_37%*3,1)=FN vF_0$(STR$(v2_37%))
- ENDIF
- IF MOUSEK=2
- RETURN 0
- ENDIF
- NEXT v2_37%
- IF v3_7!
- OUT 0,v2_36%
- ENDIF
- ATEXT 67,200,2,v1_6$
- IF v3_0!
- ' EFFEKT HOLD EIN ~~~~~~~~~~~~~~~~~~~~
- ~EVNT_TIMER(v8_0&)
- ELSE
- ' EFFEKT FLASH EIN ~~~~~~~~~~~~~~~~~~~~
- ~EVNT_TIMER(50)
- IF v3_7!
- OUT 0,0
- ENDIF
- ATEXT 67,200,2,SPACE$(25)
- ~EVNT_TIMER(v8_0&-50)
-