home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
GIFCOL29.ZIP
/
GIFCOLG.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-03-28
|
10KB
|
465 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
String STRING001
String STRING002
String STRING003
String STRING004
String TSTRING005(11)
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
;------------------------------------------------------------------------------
STRING001 = "14½ùÜ▀╕╢╣ÖÜì▀╜╜¼ "
STRING002 = "Y"
STRING002 = YesChar()
INTEGER007 = 15
STRING007 = ReadLine(PCBDat(), 179)
STRING008 = GetEnv("PCBNODE")
STRING009 = STRING008
STRING010 = STRING009
If (STRING009 < 100) Then
STRING010 = "0" + STRING008
If (STRING008 < 10) Then
STRING010 = "00" + STRING008
Endif
Endif
STRING011 = ReadLine(PCBDat(), 94)
STRING014 = Random(9999)
If (STRING014 > 9980) Then
STRING014 = 9980
Endif
STRING015 = "FLIST." + STRING008
Log "GIF Collage Erstellungs-Kommando eingegeben.", 0
If (TokCount() == 0) Then
PrintLn "@X0C Download Pfad nicht angegeben auf der PPE Kommando-Zeile."
Log "Download Pfad nicht angegeben auf der GIFCOLL PPE Kommando-Zeile.", 0
PrintLn "@X0F "
PrintLn "GIF Collage Fehler in der Umgebungsvariable - Informiere Deinen SysOp"
More
End
Endif
STRING013 = GetToken()
If (Exist("GIFCOLL." + STRING010)) Then
Delete "GIFCOLL." + STRING010
Endif
Shell 1, INTEGER016, PPEPath() + "GIFCOL0.EXE " + STRING010 + STRING001, ""
INTEGER016 = 1
If (Exist("GIFCOLL." + STRING010)) Then
FOpen 1, "GIFCOLL." + STRING010, 0, 0
FGet 1, STRING012
FClose 1
Delete "GIFCOLL." + STRING010
If (Exist(PPEPath() + "GIFCOLL." + STRING009)) Then
Delete PPEPath() + "GIFCOLL." + STRING009
Endif
If (STRING011 == STRING012) Then
INTEGER016 = 0
Else
Tokenize STRING011
If (TokCount() < 6) Then
Goto LABEL001
Endif
Select Case (GetToken())
Case "BITS"
Case "AND"
Case "BYTES"
Case "BBS"
INTEGER016 = 0
Endif
Endif
End Select
:LABEL001
Cls
PrintLn " "
PrintLn "@X38┌────────────────────────────────────────────────────────────────────────────@X3B┐@X0B"
If (INTEGER016 == 0) Then
PrintLn "@X38│@X39 GIF Collage Ersteller - Registriert v2.7 @X3B│@X0B"
Else
PrintLn "@X38│@X3E GIF Collage Ersteller - Shareware v2.7 @X3B│@X0B"
PrintLn "@X38│@X3E Unregistrierte Evaluations Kopie @X3B│@X0B"
Endif
PrintLn "@X38└@X3B────────────────────────────────────────────────────────────────────────────┘@X0F"
If (Exist("GIFCOLL." + STRING010)) Delete "GIFCOLL." + STRING010
If (Exist("FLIST" + STRING009 + ".WRK")) Delete "FLIST" + STRING009 + ".WRK"
If (Exist(STRING015)) Goto LABEL002
Log "PCBoard Kontrollfile " + STRING015 + " nicht gefunden, nichts markiert.", 0
Goto LABEL006
:LABEL002
SaveScrn
Shell 1, INTEGER001, PPEPath() + "GIFCOL1.EXE " + STRING009 + STRING008, ""
RestScrn
INTEGER001 = 0
If (Exist("GIFCOLL." + STRING010)) Then
Goto LABEL003
Endif
Log "Unfähig das PCBoard Kontrollfile zu lesen " + STRING015, 0
Log "Wahrscheinlicher Installationsfehler.", 0
Log "Sei sicher, dass Du SHARE geladen hast.", 0
Goto LABEL006
:LABEL003
FOpen 1, "GIFCOLL." + STRING010, 0, 0
FGet 1, STRING012
:LABEL004
If (Ferr(1)) Goto LABEL005
INTEGER001 = INTEGER001 + 1
FGet 1, STRING012
Goto LABEL004
:LABEL005
FClose 1
If (INTEGER001 > 1) Then
INTEGER001 = INTEGER001 / 2
Endif
If (INTEGER001 > 0) Then
Goto LABEL007
Endif
:LABEL006
PrintLn " "
PrintLn "@X0EDu hast kein einziges GIF-Bild für ein Collage markiert.@X0F"
PrintLn " "
DispFile HelpPath() + "GIF", 1 + 4
End
:LABEL007
If (INTEGER001 > 99) Then
PrintLn "@X0ADu hast ", INTEGER001, " GIF's markiert - 99 sind das Maximum für dieses Kommando."
PrintLn "Die ersten 99 von diesen können in Collage-Files plaziert werden."
InputStr "Willst Du weiterfahren (@X0CY@X0E oder @X0CN@X0E)", STRING002, 14, 1, "", 8192 + 16384
If (Upper(STRING002) == "N") Then
Cls
End
Endif
INTEGER001 = 99
Endif
INTEGER008 = INTEGER001
If (INTEGER016 == 0) Then
Goto LABEL008
Endif
PrintLn " "
Print "@X0ESage Deinem SysOp er soll das Programm registrieren, damit es keine Wartezeiten mehr gibt. "
Print "@X0C"
For INTEGER002 = 1 To INTEGER007
Print "/"
Delay 4
Backup 1
Print "-"
Delay 5
Backup 1
Print "\"
Delay 4
Backup 1
Print "|"
Backup 1
Delay 5
Next
Backup 66
ClrEol
Goto LABEL009
:LABEL008
PrintLn " "
:LABEL009
PrintLn "@X0FDu hast @X0A", INTEGER008, "@X0F GIF-Bilder markiert."
PrintLn " "
INTEGER013 = INTEGER008 / 9 + 1
INTEGER014 = INTEGER008 * 20 + INTEGER013 * 13
INTEGER011 = INTEGER014 / 60
If (INTEGER011 == 0) Then
INTEGER011 = 1
Endif
INTEGER012 = INTEGER011 + 1
If (INTEGER012 < 3) Then
PrintLn "@X0FEs wird 1-2 Minuten dauern Dein Collage zu erstellen. Bitte gedulde Dich."
PrintLn
Else
If (MinLeft() < INTEGER012) Then
If (INTEGER013 < 10) Then
PrintLn "@X0ADu hast nicht genügend Zeit übrig um das Collage-Bild zu erstellen."
Goto LABEL010
Endif
PrintLn "@X0ADu hast nicht genügend Zeit übrig um die Collage-Bilder zu erstellen."
:LABEL010
PrintLn "@X0F"
End
Endif
If (INTEGER001 < 10) Then
PrintLn "@X0FEs wird @X0E", INTEGER011, "-", INTEGER012, " Minuten@X0F dauern das Collage-Bild zu erstellen."
Else
PrintLn "@X0FEs wird @X0E", INTEGER011, "-", INTEGER012, " Minuten@X0F dauern die Collage-Bilder zu erstellen."
Endif
InputStr "@X0EWillst Du weiterfahren (@X0CY@X0E oder@X0C N@X0E)", STRING002, 14, 1, "", 8192 + 16384
If (Upper(STRING002) == "N") Then
Cls
End
Endif
Newline
PrintLn " "
PrintLn "@X0AOK, es geht los...."
PrintLn " "
Endif
If (Exist("GIFDEDK.CMD")) Goto LABEL011
Copy PPEPath() + "GIFDESK.CMD", "GIFDESK.CMD"
:LABEL011
For INTEGER002 = 1 To 11
TSTRING005(INTEGER002) = "*"
Next
INTEGER015 = 1
SaveScrn
Shell 1, INTEGER002, "ATTRIB -r " + STRING007 + "*.GIF", ""
Shell 1, INTEGER002, "DEL " + STRING007 + "*.GIF", ""
RestScrn
If (Exist("GIFDSK00.GIF")) Delete "GIFDSK00.GIF"
FOpen 1, "GIFCOLL." + STRING010, 0, 0
INTEGER010 = 0
INTEGER003 = GetX()
INTEGER004 = GetY()
:LABEL012
INTEGER009 = 9
If (INTEGER001 < 10) Then
INTEGER009 = INTEGER001
Endif
INTEGER001 = INTEGER001 - INTEGER009
INTEGER010 = INTEGER010 + 1
Print "@X0EBereite @X0C", INTEGER009, "@X0E Bilder für das Collage #", INTEGER010, " vor:@X0A"
INTEGER005 = GetX()
INTEGER006 = GetY()
For INTEGER002 = 1 To INTEGER009
FGet 1, STRING012
STRING003 = STRING012
FGet 1, STRING012
STRING004 = STRING007 + STRING012
AnsiPos INTEGER005, INTEGER006
ClrEol
Print " Bearbeite ", INTEGER002, " ", STRING012
Copy STRING003, STRING004
Next
AnsiPos INTEGER003, INTEGER004
ClrEol
:LABEL013
STRING014 = STRING014 + 1
STRING004 = STRING014
STRING003 = "C" + STRING009 + STRING004 + ".GIF"
INTEGER002 = 1
While (INTEGER002 < INTEGER015 + 1) Do
If (STRING003 == TSTRING005(INTEGER002)) Then
Goto LABEL013
Endif
INTEGER002 = INTEGER002 + 1
EndWhile
Print "@X0EErstelle GIF-Collage #", INTEGER010, " (", STRING003, ") - Bitte gedulde Dich...."
SaveScrn
Shell 1, INTEGER002, PPEPath() + "GIFDESK.EXE " + STRING007 + "*.gif", ""
RestScrn
If (Exist("GIFDSK00.GIF")) Goto LABEL014
PrintLn "@X0AGIFDESK Collage Erstellung misslungen - Benachrichtige Deinen SysOp."
Log "GIFDESK hat das Collage nicht erstellt.", 0
PrintLn " "
PrintLn "@PAUSE@"
End
:LABEL014
AnsiPos INTEGER003, INTEGER004
ClrEol
PrintLn "@X0AGIF-Collage #", INTEGER010, " (", STRING003, ") ist bereit und wird in die Downloadarea kopiert"
INTEGER003 = GetX()
INTEGER004 = GetY()
TSTRING005(INTEGER015) = STRING003
INTEGER015 = INTEGER015 + 1
STRING004 = STRING013 + "\" + STRING003
STRING003 = "GIFDSK00.GIF"
Copy STRING003, STRING004
Delete "GIFDSK00.GIF"
SaveScrn
Shell 1, INTEGER002, "ATTRIB -r " + STRING007 + "*.GIF", ""
Shell 1, INTEGER002, "DEL " + STRING007 + "*.GIF", ""
RestScrn
AnsiPos INTEGER003, INTEGER004
If (INTEGER001 > 0) Then
Goto LABEL012
Endif
FClose 1
Delete "FLIST" + STRING009 + ".WRK"
Delete "GIFCOLL." + STRING010
PrintLn " "
PrintLn "@X0ADein(e) Collage-Bild(er) sind für den Download bereit. @X0CWenn Du die ganzen"
PrintLn "GIF-Bilder nicht downloaden willst antworte @X0F[N]@X0Cein bei untenstehender Frage."
PrintLn "Wenn Du diese auch zusammen mit den Collage-Bildern downloaden willst musst Du"
PrintLn "mit @X0F[Y]@X0Ces antworten."
STRING006 = TSTRING005(1)
INTEGER015 = 2
While (TSTRING005(INTEGER015) <> "*") Do
STRING006 = STRING006 + ";" + TSTRING005(INTEGER015)
INTEGER015 = INTEGER015 + 1
If (INTEGER015 > 11) Then
Break
Endif
EndWhile
Download STRING006
INTEGER015 = 1
While (TSTRING005(INTEGER015) <> "*") Do
Delete STRING013 + "\" + TSTRING005(INTEGER015)
INTEGER015 = INTEGER015 + 1
If (INTEGER015 > 11) Then
Break
Endif
EndWhile
If (INTEGER016 <> 0) Then
Cls
PrintLn " "
PrintLn " "
PrintLn " "
PrintLn " "
PrintLn " "
PrintLn "@X38┌────────────────────────────────────────────────────────────────────────────@X3B┐@X0B"
PrintLn "@X38│ @X39GIF Collage Ersteller v2.7 @X3B│@X0B"
PrintLn "@X38│@X3E @X3B│@X0B"
PrintLn "@X38│@X3E Vielen Dankef die Benutzung des GIF-Collage Erstellers. Wenn Du dieses @X3B│@X0B"
PrintLn "@X38│@X3E PCBoard Zusatzprogramm nützlich findest frage doch bitte Deinen SysOp ob @X3B│@X0B"
PrintLn "@X38│@X3E er es registrieren kann! Du kannst ihm ja eine Kostenbeteiligung @X3B│@X0B"
PrintLn "@X38│@X3E offerieren, damit Du beim Aufstarten desselben nicht mehr lange warten @X3B│@X0B"
PrintLn "@X38│@X3E musst. @X3B│@X0B"
PrintLn "@X38│@X3E @X3B│@X0B"
PrintLn "@X38│@X39 Erinnere Dich, Shareware ist NICHT gratis! @X3B│@X0B"
PrintLn "@X38│@X3E @X3B│@X0B"
PrintLn "@X38└@X3B────────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn " "
PrintLn " "
PrintLn " "
PrintLn " "
PrintLn " "
PrintLn "@PAUSE@"
Endif
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 7 End
; 4 Cls
; 4 ClrEol
; 1 More
; 65 Goto
; 64 Let
; 9 Print
; 60 PrintLn
; 45 If
; 1 DispFile
; 3 FOpen
; 3 FClose
; 5 FGet
; 10 Delete
; 7 Log
; 2 InputStr
; 4 Delay
; 1 Newline
; 1 Tokenize
; 7 Shell
; 4 AnsiPos
; 5 Backup
; 4 SaveScrn
; 4 RestScrn
; 3 Copy
; 1 Download
;
;
; ■ Functions used :
;
; 2 *
; 3 /
; 73 +
; 1 -
; 12 ==
; 3 <>
; 12 <
; 3 <=
; 7 >
; 6 >=
; 39 !
; 6 &&
; 3 ||
; 2 Upper()
; 1 Ferr()
; 1 Random()
; 1 YesChar()
; 2 PCBDat()
; 6 PPEPath()
; 2 ReadLine()
; 5 GetToken()
; 1 MinLeft()
; 1 GetEnv()
; 10 Exist()
; 3 GetX()
; 3 GetY()
; 1 HelpPath()
; 2 TokCount()
;
;------------------------------------------------------------------------------
;
; Analysis flags : Sd
;
; S - Shell to DOS ■ 5
; This may be normal if the PPE need to execute an external command,
; but may be actually anything... nasty (formating HD, rebooting,...)
; or usefull (sorting, maintenance,...). Check!
; ■ Search for : SHELL
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 3 For/Next
; 3 While/EndWhile
; 28 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------