home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Inside Multimedia 1995 August
/
IMM0895.BIN
/
magazin
/
optix
/
disk1
/
optxppac.set
/
OP_STAGE.OPT
< prev
next >
Wrap
Text File
|
1995-05-08
|
10KB
|
374 lines
rem*********************************************************************
rem
rem z.B. folgendes in NC.EXT im Norton-Verzeichnis eintragen
rem
rem gif: d:\optix28\OP_STAGE !.!
rem bmp: d:\optix28\OP_STAGE !.!
rem pcx: d:\optix28\OP_STAGE !.!
rem tga: d:\optix28\OP_STAGE !.!
rem
rem voc: d:\optix28\OP_STAGE !.!
rem wav: d:\optix28\OP_STAGE !.!
rem snd: d:\optix28\OP_STAGE !.!
rem
rem inc: d:\optix28\OP_STAGE !.!
rem bak: d:\optix28\OP_STAGE !.!
rem txt: d:\optix28\OP_STAGE !.!
rem
rem doc: d:\optix28\OP_STAGE !.!
rem ini: d:\optix28\OP_STAGE !.!
rem
rem avi: d:\optix28\OP_STAGE !.!
rem
rem fli: d:\optix28\OP_STAGE !.!
rem flc: d:\optix28\OP_STAGE !.!
rem
rem dann, OP_STAGE.OPT compilieren, EXE draus machen und dieses dann
rem in (hier:) 'D:\OPTIX28' ablegen. Anschließend werden (fast) alle
rem OPTIX-kompatiblen Formate durch Auswahl im Norton-Commander angezeigt
rem bzw. gestartet.
rem
rem
rem*********************************************************************
rem Achtung Schnellschuß!! Nicht optimiert!
rem Die reine Programmierzeit betrug (ohne Prozedur-Module) ca. 90 Minuten
rem*********************************************************************
def(i)
def(j)
def(k)
def(l)
def(back)
def(typ)
def(bild,1)
def(ton,2)
def(text,3)
def(video,4)
def(fli,5)
def(cnt,30)
def(taste)
defs(dat$)
defs(dum$)
defs(dum1$)
defs(dum2$)
defs(dum3$)
defs(upper$)
defs(path$)
defai(GP,32)
defas(text$,128,5000)
procedure cornerbox(x,y,xx,yy,p)
rem *** wird von 'gsbox' benötigt
locals(tl)
tl:=4
vline(x,y,x+(xx-x)/tl,y,p)
vline(x,y,x,y+(yy-y)/tl,p)
vline(xx-(xx-x)/tl,y,xx,y,p)
vline(xx,y,xx,y+(yy-y)/tl,p)
vline(x,yy,x+(xx-x)/tl,yy,p)
vline(x,yy-(yy-y)/tl,x,yy,p)
vline(xx-(xx-x)/tl,yy,xx,yy,p)
vline(xx,yy-(yy-y)/tl,xx,yy,p)
return
procedure gsbox(flag,stp,qx,qy,qb,qh,zx,zy,zb,zh,xb,yh,p)
rem produziert eine 'GROW'- und/oder 'SHRINK'- und/oder 'MOVE'-Box
rem
rem flag: Arbeitsmodus (3Bit-Vektor)
rem Bit 0 gesetzt (+1) = Quellbox wird 'geshrinkt'
rem Bit 1 gesetzt (+2) = Bewegungseffekt (Move) wird ausgeführt
rem Bit 2 gesetzt (+4) = Zielbox wird 'gegrowt'
rem
rem stp : gibt die Anzahl der Bewegungsschritte an (beliebig)
rem
rem qx,qy,qb,qh = Xpos, Ypos, Breite und Höhe der Quellbox
rem zx,zy,zb,zh = Xpos, Ypos, Breite und Höhe der Zielbox
rem
rem xb,yh : Breite und Höhe der Bewegungsbox (MOVE)
rem p : Verzögerungsfaktor
rem
locals(i,btst)
btst:=flag
and(btst,1)
if btst<>0
for i:=0 to stp/2 do
cornerbox(qx+i*((qb/2)/stp),qy+i*((qh/2)/stp),qx+qb-i*((qb/2)/stp),qy+qh-i*((qh/2)/stp),p)
next(i)
for i:=0 to stp/2 do
cornerbox(qx+i*((qb/2)/stp),qy+i*((qh/2)/stp),qx+qb-i*((qb/2)/stp),qy+qh-i*((qh/2)/stp),p)
next(i)
endif
btst:=flag
and(btst,2)
if btst<>0
for i:=0 to stp do
cornerbox(qx+qb/2+i*((zx+zb/2)-(qx+qb/2))/stp-xb/2,qy+qh/2+i*((zy+zh/2)-(qy+qh/2))/stp-yh/2,qx+qb/2+i*((zx+zb/2)-(qx+qb/2))/stp+xb/2,qy+qh/2+i*((zy+zh/2)-(qy+qh/2))/stp+yh/2,p)
next(i)
for i:=0 to stp do
cornerbox(qx+qb/2+i*((zx+zb/2)-(qx+qb/2))/stp-xb/2,qy+qh/2+i*((zy+zh/2)-(qy+qh/2))/stp-yh/2,qx+qb/2+i*((zx+zb/2)-(qx+qb/2))/stp+xb/2,qy+qh/2+i*((zy+zh/2)-(qy+qh/2))/stp+yh/2,p)
next(i)
endif
btst:=flag
and(btst,4)
if btst<>0
for i:=stp/2 to stp do
cornerbox(zx+zb/2-i*((zb/2)/stp),zy+zh/2-i*((zh/2)/stp),zx+zb/2+i*((zb/2)/stp),zy+zh/2+i*((zh/2)/stp),p)
next(i)
for i:=stp/2 to stp do
cornerbox(zx+zb/2-i*((zb/2)/stp),zy+zh/2-i*((zh/2)/stp),zx+zb/2+i*((zb/2)/stp),zy+zh/2+i*((zh/2)/stp),p)
next(i)
endif
return
procedure upper(s,l)
rem *** wandelt in der vorzubelegenden globalen Stringvariable 'upper$'
rem *** ab Position 's' soviele Zeichen in Großbuchstaben um, wie in
rem *** 'l' angegeben wurden. Ist 'l'=0, so wird automatisch ab 's' bis
rem *** zum Stringende gewandelt. (Erwartet außerdem globale Var 'dum$')
locals(i,j,k)
if s:=0
s:=1
endif
if l=0
len(upper$,l)
endif
for i:=s to l do
dum$:=upper$[i]
instr(dum$,'abcdefghijklmnopqrstuvwxyzäöü',j)
if j<>0
delete(upper$,i,1)
asc(dum$,k)
dec(k,32)
chr(dum$,k)
insert(dum$,upper$,i)
endif
next(i)
return
procedure cmd(xl,yo,dm,rot,blau,grau)
rem ****************************************************
rem zeichnet ein CMD-Logo
rem xl,yo = obere, linke Ecke
rem dm = Durchmesser (Höhe) des Logos
rem rot, blau, grau = die drei Systemfarben aus der aktuellen Palette
rem der 'WIN'-Puffer ist anschließend verändert
rem ****************************************************
locals(rad,lin,i,j,k,l)
rad := dm/2
lin := dm/30
copywin(xl+rad-lin-1,yo,xl+dm+(rad/2)+lin,yo+dm+1)
disk(xl+rad,yo+rad,rad,rot)
disk(xl+dm+(rad/2),yo+rad,rad,rot)
loadwin(xl+rad-lin-1,yo,0,0)
j := ((dm-(rad/2))/2+lin)*880/1000
k := dm+(rad/2)-2
setcolor(blau)
for i:= 0 to j-1 do
inc(l,4)
line(xl+rad+i+1,yo+(l/5),xl+rad+i+1,yo+dm-1,0)
line(xl+k-i+1,yo+(l/5),xl+k-i+1,yo+dm-1,0)
next(i)
disk(xl+rad-lin,yo+rad,dm*2/9,grau)
disk(xl+dm+(rad/2)+lin,yo+rad,dm*2/9,grau)
return
INCLUDE('listbox.inc')
begin
cmd(10,10,70,12,9,7)
sysfont(3,1)
setcolor(14)
PRINTc(xmax-80,ymax-35,'OPTIX-STAGE')
PRINTc(xmax-80,ymax-20,'***********')
dat$:=paramstr(1)
len(dat$,i)
if i>3
dum1$:=dat$
delete(dum1$,1,i-4)
dum2$:=dum1$
mid(dum2$,1,1)
if dum2$='.'
mid(dum1$,2,3)
upper$:=dum1$
upper(1,0)
Typ:=0
if upper$='BMP'
Typ:=Bild
endif
if upper$='TGA'
Typ:=Bild
endif
if upper$='PCX'
Typ:=Bild
endif
if upper$='GIF'
Typ:=Bild
endif
if upper$='WAV'
Typ:=ton
endif
if upper$='VOC'
Typ:=ton
endif
if upper$='SND'
Typ:=ton
endif
if upper$='TXT'
Typ:=text
endif
if upper$='DOC'
Typ:=text
endif
if upper$='INC'
Typ:=text
endif
if upper$='BAK'
Typ:=text
endif
if upper$='OPT'
Typ:=text
endif
if upper$='CFG'
Typ:=text
endif
if upper$='INI'
Typ:=text
endif
if upper$='AVI'
Typ:=video
endif
if upper$='MVI'
Typ:=video
endif
if upper$='FLI'
Typ:=fli
endif
if upper$='FLC'
Typ:=fli
endif
if typ<>0
if typ=bild
:bild
readwin(dat$)
clearscreen(0)
gsbox( 7 , 6 ,20,20,50,50,0 ,0,winx,winy,10 ,10 ,2)
setallpal
loadwin(0,0,0,0)
repeat
taste:=readkey
if taste=right
inc(cnt,1)
if cnt=40
cnt:=30
endif
clearscreen(0)
loadwin(0,0,cnt,0)
endif
if taste=left
dec(cnt,1)
if cnt=29
cnt:=39
endif
clearscreen(0)
loadwin(0,0,cnt,0)
endif
until taste=27
endif
if typ=ton
sound(dat$)
endif
if typ=text
new(text$)
new(gp)
readtext(dat$,1,5000)
back:=1
rem ***************Listbox-Parameter*******************************
rem (xl,yo ,zeich,zeil,fnt,txsta,pos,lines,rcol,tcol,bcol)
rem | | | | | | | | | | |
listbox(10 ,30 ,76 ,-46 ,-1 , 1 ,1 ,linctr*(-1) , 0 , 0 , 15)
gsbox( 7 , 6 ,20,20,50,50,20 ,20,600,440,10 ,10 ,5)
viewport(20,20,gp[17]+10,gp[18]+10)
cbox(9,0,0)
viewport(10,5,gp[17],gp[18])
cbox(0,8,0)
plateau(0,15)
viewport(10,5,gp[17],29)
plateau(0,15)
sysfont(2,1)
printc((gp[17]-20)/2,18,'...OPTIX-Textbetrachter...')
listbox(10 ,30 ,76 ,46 ,-1 , 1 ,1 ,linctr*(-1) ,0 ,0 ,15)
dispose(text$)
dispose(gp)
endif
if typ=video
if upper$='MVI'
readfilm(dat$)
showfilm(0,0,0,0)
else
initavi(dat$)
gsbox( 7 , 6 ,(xmax-avix)/2,(ymax-aviy)/2,50,50,20 ,20,avix,aviy,10 ,10 ,5)
setallpal
startavi(xmax/2-avix/2,ymax/2-aviy/2,1,1,0,1,1,1)
closeavi
endif
endif
if typ=fli
rem ***** readsound(Paramstr(2)???)
initfli(dat$)
gsbox( 7 , 6 ,160,120,50,50,160,120,320,200,10 ,10 ,5)
setallpal
startfli(160,120,0,1,1)
closefli
endif
else
sysfont(3,1)
setcolor(14)
clearscreen(0)
PRINTc(0,ymax-35,'keine gültige Typ-Extension')
pause(1000)
endif
else
sysfont(3,1)
setcolor(14)
clearscreen(0)
PRINTc(0,ymax-35,'keine gültige Extension-Länge')
pause(1000)
endif
else
sysfont(3,1)
setcolor(14)
clearscreen(0)
PRINTc(0,ymax-35,'keine gültige Dateibezeichnung')
pause(1000)
endif
end