home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magazyn Exec 3
/
CD_Magazyn_EXEC_nr_3.iso
/
Recent
/
biz
/
swood
/
FW_AllInOne.lha
/
Makros
/
MEinfügen
< prev
next >
Wrap
Text File
|
1998-01-18
|
8KB
|
349 lines
/* Optimized with RexxOpt 1.7 */
Parse ARG FW
if ~show('L',"rexxreqtools.library") then
if ~addlib('rexxreqtools.library',0,-30,0) then;do
'ShowMessage 1 1 "Fehler...." "Benötige Libs:rexxreqtools.library" " A B B R U C H ! !" "Okay" "" ""'
exit
end
IF ~show('L','tritonrexx.library') then
IF ~ADDLIB('tritonrexx.library',10,-30,0) THEN;DO
'ShowMessage 2 1 "Fehler...." "Benötige Libs:tritonrexx.library" "" "Abbruch" "" ""'
exit
END
R='0A'X
SIGNAL ON SYNTAX
If open('Hilfe',"S:FW_Paket.prefs","R") then;do
HilfeVerz=readln('Hilfe')
Call Close('Hilfe')
End
else HilfeVerz=''
If FW='' then;do
Address='FinalW'
Options results
STATUS PORTNAME
FW=result
End
address(FW)
mxlist.0=2
mxlist.1='normal'
mxlist.2='schnell'
Undo.0=0
apptags='TRCA_Name MEinfügen',
'TRCA_LongName "Mehrfach Einfügen"',
'TRCA_Info "Makro für Finalwriter"',
'TRCA_Version "3.1 registered"',
'TRCA_Release "3"',
'TRCA_Date "09.01.98"',
'TAG_END'
windowtags=WindowID(1),
WindowPosition('TRWP_CENTERDISPLAY'),
WindowFlags('TRWF_NOSIZEGADGET|TRWF_NOMINTEXTWIDTH|TRWF_ACTIVATESTRGAD'),
PubScreenName('FinalWriterPubScreen'),
WindowTitle('Mehrfach Einfügen'),
BeginMenu('Projekt'),
MenuItem('Q_Verlassen...',104),
BeginMenu('?'),
MenuItem('?_Info',101),
MenuItem('H_Hilfe',103),
'HorizGroupAC',
'SpaceS',
'VertGroupAC',
'SpaceS',
'HorizGroupEC SpaceS',
TextID('_Geschwindigkeit: ',1),
'SpaceS',
MXGadget('mxlist',0,1) 'TRAT_Flags TRCY_RIGHTLABELS',
'SpaceS EndGroup',
'SpaceS',
'HorizSeparator',
'SpaceS',
'HorizGroupEC SpaceS',
'LineArray',
'BeginLine',
StringGadget('',20),
'SpaceS',
TextID('_Kopien ',20),
TextID('auf _Seite',60),
'SpaceS',
StringGadget('',60),
'EndLine',
'EndArray',
'SpaceS EndGroup',
'SpaceS',
TextH('Verschiebung'),
'SpaceS',
'HorizGroupEC SpaceS',
'LineArray',
'BeginLine',
TextID('_horizontal',30),
'SpaceS',
StringGadget('',30),
TextN(' cm'),
'EndLine',
'BeginLine',
TextID('_vertikal',40),
'SpaceS',
StringGadget('',40),
TextN(' cm'),
'EndLine',
'BeginLine',
TextID('_Drehung',50),
'SpaceS',
StringGadget('',50),
TextN(' °'),
'EndLine',
'EndArray',
'SpaceS EndGroup',
'SpaceS',
'HorizSeparator',
'SpaceS',
Progress(100,0,7),
'SpaceS',
'HorizGroupSA',
TextN("0"),
'SpaceB',
TextN("25"),
'SpaceB',
TextN("50"),
'SpaceB',
TextN("75"),
'SpaceB',
TextN("100"),
'EndGroup',
'SpaceS',
'HorizgroupEC',
Button('_Anwenden',7),
'SpaceS',
Button('_Undo',9) 'TRAT_DISABLED 1',
'SpaceS',
Button('Ab_bruch',8),
'EndGroup',
'SpaceS',
'EndGroup',
'SpaceS',
'EndGroup',
'EndProject'
app=TR_CREATEAPP('TRCA_Name MEinfügen')
ba=1
IF app ~='00000000'x THEN;DO
window1=TR_OPENPROJECT(app,windowtags)
IF window1 ~='00000000'x THEN;DO
ende=0
DO WHILE ende ~=1
CALL TR_WAIT(app,'')
DO WHILE TR_HANDLEMSG(app,'event')
IF event.trm_class='TRMS_NEWVALUE' THEN;DO
SELECT
WHEN event.trm_id=1 THEN ba=event.trm_data+1
OTHERWISE NOP
END
END
IF event.trm_class='TRMS_ACTION' THEN;DO
SELECT
WHEN event.trm_id=7 THEN;Do
Call program
Call TR_SETATTRIBUTE(window1,9,'TRAT_DISABLED',0)
END
WHEN event.trm_id=9 THEN;Do
Call programUndo
Call TR_SETATTRIBUTE(window1,9,'TRAT_DISABLED',1)
END
WHEN event.trm_id=101 THEN Call rtezrequest("Aus dem Makro-Paket:"||R||R||"Mehrfach Einfügen V3.1 für FW"||R||"© 1998 Heiko Schröder","Danke für Ihre Registrierung.","Info","rt_pubscrname=FinalWriterPubScreen")
WHEN event.trm_id=103 THEN address command "run Multiview PUBSCREEN=FinalWriterPubScreen "||d2c(34)||HilfeVerz||"MEinfügen.guide"||d2c(34)
WHEN event.trm_id=104 THEN ende=1
WHEN event.trm_id=8 THEN;Do
ende=1
no=1
END
OTHERWISE NOP
END
END
IF event.trm_class='TRMS_CLOSEWINDOW' THEN;DO
ende=1
no=1
END
END
END
CALL TR_CLOSEPROJECT(window1)
END
CALL TR_DELETEAPP(app)
END
ELSE
CALL quit('Kann das Fenster nicht öffnen',10)
Exit
program:
Call time('R')
Fertig=0
Anzahl=TR_GETATTRIBUTE(window1,20,'TROB_String')
If Datatype(Anzahl,'W')=0 then;do
x=rtezrequest("Bei KOPIEN bitte ganzzahligen Wert","_Achso","Eingabe-Fehler","rt_pubscrname=FinalWriterPubScreen")
Call TR_SendMessage(window1,20,'TROM_ACTIVATE',0)
return
end
Hor=TR_GETATTRIBUTE(window1,30,'TROB_String')
If Hor="" then Hor=0
If Datatype(Hor,'N')=0 then;do
x=rtezrequest("Bei HORIZONTAL bitte numerische Angabe mit (.)","_Achso","Eingabe-Fehler","rt_pubscrname=FinalWriterPubScreen")
Call TR_SendMessage(window1,30,'TROM_ACTIVATE',0)
return
end
Ver=TR_GETATTRIBUTE(window1,40,'TROB_String')
If Ver="" then Ver=0
If Datatype(Ver,'N')=0 then;do
x=rtezrequest("Bei VERTIKAL bitte numerische Angabe mit (.)","_Achso","Eingabe-Fehler","rt_pubscrname=FinalWriterPubScreen")
Call TR_SendMessage(window1,40,'TROM_ACTIVATE',0)
return
end
Dre=TR_GETATTRIBUTE(window1,50,'TROB_String')
If Dre="" then Dre=0
If Datatype(Dre,'W')=0 then;do
x=rtezrequest("Bei DREHUNG bitte ganzzahligen Wert","_Achso","Eingabe-Fehler","rt_pubscrname=FinalWriterPubScreen")
Call TR_SendMessage(window1,50,'TROM_ACTIVATE',0)
return
end
Seise=TR_GETATTRIBUTE(window1,60,'TROB_String')
If Seise="" then Seise=0
If Datatype(Seise,'W')=0 then;do
x=rtezrequest("Bei SEITE bitte ganzzahligen Wert","_Achso","Eingabe-Fehler","rt_pubscrname=FinalWriterPubScreen")
Call TR_SendMessage(window1,60,'TROM_ACTIVATE',0)
return
end
CALL TR_SETATTRIBUTE(window1,7,'TRAT_Value',0)
address=FW
nr=1
CurrentObject
ObjectId=Result
IF ObjectId=0 THEN;do
ret=rtezrequest("Kein Grafikobjekt ausgewählt...",,"Mehrfach Einfügen - Fehler...","rt_pubscrname=FinalWriterPubScreen")
return
End
Objekt.0=nr;Objekt.nr=ObjectID
If Anzahl=""|Anzahl=0 then;do
ret=rtezrequest("Falsche Anzahl an Kopien!",,"Mehrfach Einfügen - Fehler...","rt_pubscrname=FinalWriterPubScreen")
return
End
FirstObject Selected
ID=result
Call Zaehlen
Do While 1
NextObject ID Selected
ID=result
If ID=0 then Leave
Call Zaehlen
End
If Objekt.0=1 then;do
gruppe=false
end
else gruppe=true
Do a=2 to Objekt.0
SelectObject Objekt.a MULTIPLE
End
SelectObject Objekt.1 MULTIPLE
address=FW
GetDocItemPrefs Decimal
Punkt=Result
If Punkt="Comma" then DocItemPrefs Decimal Period
STATUS View
Zoom=result
STATUS Pages
Seiten=result
STATUS Page
Seide=result
GraphicTool
If Gruppe=true then Group
CurrentObject
ObjectId=Result
GetObjectCoords
Parse var result Seite x y w h
Copy
IF RC=0 THEN;do
If Seise=0 then Seise=Seite
Sei=Seise
wl=w
hl=h
GetObjectRotation
Dreh=result
GetObjectType
Typ=result
If Gruppe=true then Ungroup
s=Sei-Seiten
Do a=1 to s
InsertPageBreak
End
If ba=2 then View 400
Do i=1 TO Anzahl
Paste
CurrentObject
ObjectID=Result
Undo.0=i
Undo.i=ObjectID
a=x+(Hor*i)
b=y+(Ver*i)
Winkel=Dreh+Dre*i
If Typ=2|Typ=3 then;do
GetPageSetup HEIGHT
PageHoehe=result
w=wl+(Hor*i)
h=hl+(Ver*i)
If Sei~=1 then h=h+(sei-1)*Pagehoehe
End
SetObjectCoords 0 Sei a b w h
SetObjectRotation 0 Winkel
If Gruppe=true then Ungroup
Fertig=Fertig+1
prozent=Trunc(Fertig/Anzahl*100)
CALL TR_SETATTRIBUTE(window1,7,'TRAT_Value',prozent)
END
End
If Seise~=Seite then GotoPage Seise
Call WH
Redraw
say time('E')
Return
programUndo:
TextTool
GraphicTool
Do i=1 to Undo.0
SelectObject Undo.i MULTIPLE
end
DeleteObject
Undo.0=0
Return
WH:
If ba=2 then;do
View Zoom
If Seise~=Seite then;do
GotoPage Seise
End
Else;do
GoToPage Seite
End
End
If Punkt="Comma" then DocItemPrefs DECIMAL Comma
Return
Zaehlen:
If ID~=Objekt.1 then;do
nr=nr+1
Objekt.0=nr;Objekt.nr=ID
End
Return
SYNTAX:
CALL quit('Fehler' rc 'in Zeile' sigl '-' ERRORTEXT(rc)||R||SOURCELINE(sigl)||R||'Bitte informieren Sie den Autor...',20)
quit:
PARSE ARG message,rcode
IF app ~='00000000'x THEN;DO
IF message ~='' THEN
ret=rtezrequest(message,"_Okay","ACHTUNG!","rt_pubscrname=FinalWriterPubScreen")
CALL TR_DELETEAPP(app)
END
ELSE;DO
IF message ~='' THEN;DO
SAY message
SAY
OPTIONS PROMPT 'Bitte <RETURN> drücken'
PULL taste
END
END
address command "flushtrx all"
EXIT(rcode)