There is my Link-Site
www.fa2.dewhich is a collection of Links and there are some pictures.
Now there are Updates sometimes. Take a look - how do i do these Updates?
Do I make a Screenshot of every page and then arange the HTML-Code etc?
NOT really. Its done automatically using the SPR. Its an idea from another valuable long year SPR-User.
Here is the Script that will take an INI-File and produce the "ready to upload" WEB-Site and Pictures-Folder.
All Pictures are generated and scaled - ready for uploading.
The Ini file is at the very end, note that i have only copied the first two rows.
With time the Script improved, by now the Pictures have filename that is made out of the checksum from the
Path of the linked WEB-Site. Therefore A Site can be moved to another position,
without changing the name of the picture.
Pictures that have already been created will not be deleted. The creation of the picture will just be skipped.
Therefore you can anytime stop the process and rerun the process, it will just continue where it has been left of.
You can also manually deleted pictures and rerun the process. In this case only the deleted pictures will be newly created.
For the script to work, Firefox must be installed as it is used to snapshot the WEB-Sites.
The result of the Script is a folder called "website" and in this folder you will find the "ready to upload" "index.html" as well as another folder "pics" that contains all pictures that must also be uploaded to the server.
The Script uses Macros, Subprogrammes and dynamically generated Variable-Names.
So do not wonder about a Variable
$$UA§§§01 or
VAR.$$VAT=$$LB§§§01Herby the name of the Variable is constructed dynamically from a Prefix
VAR.$$VAT=$$LB§§§01 and a number which is
Input Parameter 1 (
§§§01) of the Macro. So we get
§§UA1 ... §§UA2 etc.
during final execution.
'MR Script-file:
'Version:
'Purpose:
'Author: Andreas Walkenhorst
'Creation date:
'===========================================================
'#EXE:?pfad\
'#SPI:ForceWrite
#LIB:?path\Library\
'
$$PFA=?exeloc\
'---------------------------------------------------
' Ini auslesen
'---------------------------------------------------
' Quell-INI
$$INI=$$PFAMain.ini
NEF.$$INI
MBX.Datei nicht gefunden:$crlf$$$INI
ENR.
EIF.
' Number of Blocks
$$SEC=General
$$KEY=Count
CFI.$$INI|$$SEC|$$KEY|$$LIZ
' Größe der Bilder ist 175x130 (350x260)
' Dateiname = Zeile_Spalte.jpg (ohne führende "0")
'VAN.$$PIX=175
$$KEY=PicX
CFI.$$INI|$$SEC|$$KEY|$$PIX
'VAN.$$PIY=130
$$KEY=PicY
CFI.$$INI|$$SEC|$$KEY|$$PIY
'VAR.$$PRZ=16%
$$KEY=Size
CFI.$$INI|$$SEC|$$KEY|$$PRZ
' Zeilen pro Block derzeit 2
VAR.$$ZLZ=2
'$$TXF=index.html
$$KEY=Target
CFI.$$INI|$$SEC|$$KEY|$$TXF
' Anzahl Spalten anch rechts je Zeile
'VAN.$$SPA=6
$$KEY=Column
CFI.$$INI|$$SEC|$$KEY|$$SPA
CAL.$$SPB=$$SPA+1
VAR.$$DIR=$$PFAwebsite
'---------------------------------------------------
' Zielverzeichnis und Zieldatei vorbereiten
'---------------------------------------------------
IEF.$$DIR
ELS.
MKD.$$DIR
EIF.
VAR.$$FIO=$$DIR\$$TXF
IEF.$$FIO
DEL.$$FIO
EIF.
'---------------------------------------------------
' Unterverzeichnis mit Bildern vorbereiten
'---------------------------------------------------
' Name des Unterverzeichnisses mit den Bildern
$$KEY=Subfolder
CFI.$$INI|$$SEC|$$KEY|$$SUB
VAR.$$PIF=$$DIR\pics
MKD.$$PIF
'---------------------------------------------------
' HTML-Prefix holen (Seitenanfang ist immer gleich)
'---------------------------------------------------
'GSB.Prefix_File
' New Version get Prefix from Inline Data
GSB.Inline_Prefix
' Old Version using Prefix-File
'VAF.$$PRF=$$PFAPrefix.txt
'CFF.$$PRF|$$PRE
LEN.$$PRE|$$LEN
JIV.$$LEN<10|Lab_error
'---------------------------------------------------
' HTML-Prefix in Zieldatei schreiben
'---------------------------------------------------
' Prefix mit Google Feld schreiben
%Write $$PRE
'---------------------------------------------------
' Variablen Teil schreiben
'---------------------------------------------------
FOR.$$LAU|1|$$LIZ
DBP.Writing ...$$LAU
%ReadLine $$LAU
%Write <tr>
FOR.$$LAA|1|$$SPA
%WriteBlock $$LAA|$$LAU|$$LAA
NEX.
%Write </tr>
%Write <tr>
FOR.$$LAA|1|$$SPA
%Footer $$LAA
NEX.
%Write </tr>
%Write <tr>
%Write <td colspan="11" bgcolor="#C0C0C0"> </td>
%Write </tr>
NEX.
'---------------------------------------------------
' Footer schreiben
'---------------------------------------------------
%Write </tbody>
%Write </td
%Write </tr>
%Write </tbody>
%Write </table>
MBT.FERTIG||15
END.
'-----------------------------------------------------------
' Unterprogramme
'-----------------------------------------------------------
' Parameter 1 ist Zeilen-Nummer
'
: %ReadLine 1
GSB.Lab_Doit|§§§01
END%
:Lab_Doit
' Text-Eintrag in INI lesen
$$SEC=B§§_01
GSB.ReadSec|$$UA|T
' Link-Eintrag in INI lesen
GSB.ReadSec|$$LB|L
RET.
'-----------------------------------------------------------
' Liest alle Links einer Zeile von Links nach rechts
' Diese kommen dann in $$LB1 .. $$LB8 oder $$UA1 ..$$UA8
:ReadSec
FOR.$$NUM|1|$$SPA
$$KEY=§§_02$$NUM
CFI.$$INI|$$SEC|$$KEY|$$VAL
' $$LB1 .. $$LB8
VAR.$$RET=§§_01$$NUM
VAI.$$RET=$$VAL
NEX.
RET.
'-----------------------------------------------------------
: %Write 1
GSB.Lab_Writer|§§§01
END%
'-----------------------------------------------------------
' Not used, Alternative to Inline_Data
:Prefix_File
IEF.$$PIF\
MBX.Deleting:$crlf$ $$PIF
RMD.$$PIF
ELS.
DBP.$$PIF not found
EIF.
RET.
'-----------------------------------------------------------
:Lab_Writer
$$CON=§§_01$crlf$
ATF.$$FIO|$$CON
RET.
'-----------------------------------------------------------
: %Footer 1
VAV.$$VAS=$$UA§§§01
VAR.$$ELK=<td align="center" width="16%"> <b> <font size="4">$$VAS</font></b></td>
%Write $$ELK
END%
'-----------------------------------------------------------
' Parameter 1: Blocknummer
' 2 - Blockzeile
' 3 - Blockspalte
'
: %WriteBlock 3
VAR.$$VAT=$$LB§§§01
VAV.$$LNK=$$VAT
'#######################################################################
VAV.$$VAF=§§§02
VAV.$$VAG=§§§03
GSB.Do_Snap|$$LNK|$$VAF|$$VAG
'#######################################################################
VAR.$$OUA=<td width="$$PRZ" align="center">
$$OUA=$$OUA$crlf$<a
VAR.$$ELK=href="$$VAT">
VAV.$$OUA=$$OUA$crlf$$$ELK
CAL.$$LAD=§§§01
GSB.Gen_Filename|$$LNK
VAR.$$ELK=<img width="$$PIX" height="$$PIY" border="0" src=".$$SUB/$$FIN"/>
$$OUA=$$OUA$crlf$ $$ELK
$$OUA=$$OUA$crlf$ </a>
$$OUA=$$OUA$crlf$ </td>
%Write $$OUA
END%
'-----------------------------------------------------------
:Do_Snap
SAV.Save|$$VAA|$$VAB|$$VAC|$$TAX|$$TAY|$$FIN|$$TMP
VAN.$$TAX=350
VAN.$$TAY=260
VAF.$$TMP=?exeloc\Temp.jpg
VAR.$$VAA=§§_01
VAR.$$VAB=§§_02
VAR.$$VAC=§§_03
GSB.Gen_Filename|$$LNK
PRT.($$VAB,$$VAC) $$FIN -> $$LNK
VAR.$$FIM=$$PIF\$$FIN
NEF.$$FIM
%Locate_Run $$LNK
%Locate_TW
SWP.0,0|1348,1244|T
PAU.10
ANA.Set_Data|8|0
ANA.Snap|0
ANA.CutRect|0|10|90|1300|1200
ANA.ResizeTo|0|0|$$TAX|$$TAY
ANA.Save|0|$$TMP
COP.$$TMP|$$FIM
NEF.$$FIM
MBX.Datei nicht erzeugt: $$FIM
EIF.
CAL.$$VAD=$$VAB+$$VAC
IVV.$$VAD>2
%Locate_TW
MLI.
PAU.0.5
SDK.^w
PAU.1
EIF.
EIF.
'ANA.Show|0!
SAV.Restore
RET.
'-----------------------------------------------------------
:Gen_Filename
SAV.Save|$$VAA|$$VAB|$$VAC|$$VAD|$$VAE|$$TAX|$$TAY|$$TMP
VAR.$$VAA=§§_01
GMD.v|$$VAA|$$VAD
GMD.e|$$VAA|$$VAE
VAR.$$FIN=$$VAD_$$VAE.jpg
' Filename is in $$FIN
SAV.Restore
RET.
'-----------------------------------------------------------
'
'-----------------------------------------------------------
' Prefix.txt
' $$DTA = Data
' $$FIN = Filename of Sourcefile
' Length: 2010 Bytes in 31 Lines.
:Inline_Prefix
VDA.$$PRE|$$FIN=
?MAAGHCAAASlE8gB7YrG97QcgpaNX/xzgGowKyBSrduWIBc5kEOsbJfXQpRFL7cwfJ
PHR2pHp7SytS+N+Zhn2j2IlRAWfciKDbKF3pMMIsX7l6+wyM8/NaZjTYM68/cT/P
qC7rJLYdsXbmDXeQ74cc0DJYKq2OLYyGjCPTZGtqx05HrPdrhKW/KZgJ2R1hYJBX
ByBEwz/V236bnKNtIM6roUePBs0i0oR4dm98n9OabPsIiMFidzmXC8mx0OaGXv4y
VIyVEschay0NfVDFGmpifqx3fW+iYyCiDv2vyM9dX94BguVxeSLbd2+iZjvkv21m
lz65TmfZ8jaUCb8o2upBjMSs2vtnlnurD3Z77zPqvZWOIkmwfH6Wz+fmg56heHiX
kNOhaygojm/vc6tN7FHRKSy0FLdr/P3/FVtbvYt5Lw5ARNUiAtxrL56LpD+KnZaV
jqQYhftyzXE8k2MVa51ZPKd4dyVS3kyOEO+Y+Bla3daISWGyXLw7PFBsZTHAjB+3
C49SRGoCJcVRuz5XPXSSJosvjVZtEKNTwWz+yAuhEftpNG49Br9zfrBWpKuTDMyC
zfUOaGp+fEBUkTKmnJYEA/NMwf0MiL4Asyq29glM1jL4ODPDwCrrDPK0/GY9aM4b
Vy5NrKDiIN050/O6S3k8da4XUy+qI0+P9ONu2AiT7tKarwKjZmHLsouj6InJriVP
J+79ADDRhDfZau0Nv1TePSr1yvlhAqzDp2y95PIOGbSoW/JcKee5kfFJcxtT0F2v
9DdnUBPKBCiyl8DkHUEoawXardrX8VgVbRhXuZKW3nqTnRlETgLN50JXr3S0tAcl
9YT1/Wjf7nGdGMNALh3X57Yne3V48EaYjLCZGj8+YbYiQb4MLVmzEx4Rmr2yRWrY
Ryl3+T5d+JEiuB7M6Do81fL0MimrvVxWmxAbj/y07kPIq5Hi3RME4kZTTgda98S3
547zcUWNetp22Ai7yU0lUumvjVgluwpxMqisk39g2+WGFN704JLKB/IL6Kz45Xh+
2Ci9OSstDc65U6eseQrcHIxo2pMI5ueIRLPvYAeJlbcUzOCCWVWvCurNat6ZL5qW
PFfDNrCZ+tT/DPfa/6dn4fuBJTiPaUo8veqpqrVDmGXzb65LjBQ+F0RKHxcJl/MI
3przdfOcGEz+xBpk7toldvxt4YZFGqtpIdSmi5ulC6791qjqtnb/xkE5o2dwfNLQ
+0LcjzHRm5snVvn1tTvf+lzh/HWikZUJOHyMgbvhzCYjfXafoEtoGP+Com+QLQ3I
oKjEFVA370DmB32bGoeFTFImoth/KZaSkiVW4C6dDB9TP7kA/FQvv7i7FK6Fvl41
B8iHoX6sG0kvT+weBxc6LK9AdS+56s01pfpDA7wJZHRbeCDnAn1FNVP2qRVW9Wq+
o3ZW0zhaK4nH6ZQcIRCsYopE+dpIS/lhk7aa+7MUlEUISHJFeDuUQRavFUztld9a
pTVAWUhIHvUSTfINoi/Wl+8UF61xgY8Xj3bKTOZGlBOm0I6C1AthozWnaTmrUrjI
I/D6bRuyg4+Wh+2roCQWuQkor4GaC8TeqNzIZrzCEWaxFFHopZ5VUqKl7ph4bG3P
QEjHyeekOHZPo7HMXghYPlaFHwWSxBbFyY2CS86y3zc5M8L7kdrJFh1YICkok9XT
NQqECNG8HfP4QfNeExXXN3iHOqkhFFBBpxq9G40cvo8lGmmGC5Gl9gEjOKfWCEqO
W6YEdQHXg279vaG+DRmSLx55P5wDfSCTLK1bHTbFqJFmUhTL6VsxSRsPrtg69GNV
NBwWWLzki+j2lrhHOnAaaly0NbyU1MseOOHooBgGNLShzSm4REFKwWTi2zAoJQOu
tm62kZQUUuxO7YjoYEbGu0XbI75qNVDEICr++fsB36Jt6xXH5IASZtfx3ZpBt3H/
hjyV+AOtp0YT77uqlJkn5LPDItoB
VDE.
RET.
'-----------------------------------------------------------
'
'-----------------------------------------------------------
#INC:Library.mrt
'-----------------------------------------------------------
:Lab_error
MBX.Fehler: $$LEN<10
ENR.
[code]
'
'SPR Script-file: New Script_1
'Purpose:
'Author: TEOT\Theo
'Creation date: 02-04-2017 at 16:44:48
'===========================================================
'===========================================================
' Sub-Programmes
'===========================================================
'-----------------------------------------------------------
'===========================================================
:CheckShift
IKS.{SHIFT}
END.
EIF.
RET.
'===========================================================
' Locate or - if not open - run Firefox
' with Link in Parameter
: %Locate_Run 1
GSB.Run_Loc|§§§01
END%
:Run_Loc
NEW.$$HWN
STW.ctwoX|MozillaWindowClass|Mozilla Firefox|0|Runit
SWP.0,0|2300,1700|T
HTV.$$HWN
ELS.
:Runit
$$LNA=§§_01
%Firefox $$LNA
EIF.
RET.
'-----------------------------------------------------------
'
'-----------------------------------------------------------
'
: %Locate_TW 0
GSB.Loc_TW
END%
:Loc_TW
NEW.$$HWN
STW.ct|MozillaWindowClass|Mozilla Firefox
'STW.ct|MozillaWindowClass|Safir - Mozilla Firefox
SWP.0,0|2300,1700|T
HTV.$$HWN
ELS.
STW.h|$$HWN
EIF.
RET.
'-----------------------------------------------------------
'
'-----------------------------------------------------------
' Kann ohne Parameter aufgerufen werden,
' oder mit einem Parameter mit dem Link für die neue Site
'
: %New_TAB 0
#IF PARAMS=1
SAV.Save|$$LNA
VAR.$$LNA=§§§01
GSB.New_TAB
PAU.1
%Firefox_Set_Site $$LNA
SAV.Restore
#EIF
#IF PARAMS=0
GSB.New_TAB
#EIF
END%
'-----------------------------------------------------------
:New_TAB
GSB.Loc_TW
AGR.43!WII.MLI.|Einen neuen Tab öffnen (Strg+T)||1|3|60
RET.
'-----------------------------------------------------------
'
'-----------------------------------------------------------
'
: %Firefox_Set_Site 1
SAV.Save|$$TXT|$$PAR
$$PAR=§§§01
GSB.Set_Site|$$PAR
SAV.Restore
END%
:Set_Site
VAR.$$TXT=§§_01
GSB.Loc_TW
AGR.43!WII.MLI.|Startseite||1|3|60
PAU.0.5
NAV.Rr|R|42
MLI.
PAU.0.5
CLP.t|$$TXT|1
KBC.Paste Over
SKP.{Enter}
PAU.0.5
RET.
'-----------------------------------------------------------
'
'-----------------------------------------------------------
'
' P1 - Text that is on the TAB we want
' P2 - optional the number of the TAB if it has the same Text like on other TABs
' normally Nr. is 1
' The minimum Number of Parameters is 1 thats why we have a "1" here after The Macroname
'
: %Locate_TAB 1
SAV.Save|$$NUM|$$TXT
VAR.$$TXT=§§§01
#IF PARAMS=1
VAR.$$NUM=1
GSB.Loc_TAB
#EIF
#IF PARAMS=2
VAR.$$NUM=§§§02
GSB.Loc_TAB|§§§01
#EIF
SAV.Restore
END%
'-----------------------------------------------------------
:Loc_TAB
GSB.Loc_TW
AGR.42!WII.MOS.|$$TXT||$$NUM|3|60
GSB.Loc_TW
RET.
'-----------------------------------------------------------
'
'-----------------------------------------------------------
'
: %Firefox 1
GSB.Lab_Run_Firefox|§§§01
END%
'-----------------------------------------------------------
:Lab_Run_Firefox
SAV.Save|$$PAT|$$NAM|$$RES|$$EXE|$$LNK
'-----------------------------------------------------------
IAI.Mozilla Firefox
VAR.$$LNK=§§_01
GSB.Lab_FF_starten
ELS.
MBX.Firefox ist nicht installiert.
END.
EIF.
RET.
:Lab_FF_starten
VAR.$$NAM=$tos$
GII.$$NAM|$$RES|u
BLB.$$RES|$$RES
BLB.$$RES|$$RES
' $$PAT enthällt Programmpfad ohne "\"
VAR.$$PAT=$$RES
VBT.$$PAT|"
VAR.$$EXE=$$PAT\Firefox.exe
IEF.$$EXE
EXE.$$EXE|$$LNK
ELS.
MBX.Kann FF nicht starten.
END.
EIF.
SAV.Restore
RET.
'-----------------------------------------------------------
'
'-----------------------------------------------------------
: %Firefox_Back 0
GSB.Lab_Back
END%
:Lab_Back
GSB.Loc_TW
AGR.43!WII.MOS.|Zurück||1|3|60
PAU.0.7
RET.
'-----------------------------------------------------------
'
'-----------------------------------------------------------
: %Firefox_Close 0
GSB.Lab_Close_FF
END%
:Lab_Close_FF
GSB.Loc_TW
CLW.$$HWN
STW.ct|MozillaDialogClass|schließen?&OR:close
' AGR. uses a waiting time of 60 seconds, you can change it below.
AGR.43!WII.MOS.|Tabs schließen&OR:close||1|3|60
MLI.
RET.
'-----------------------------------------------------------
'
'-----------------------------------------------------------
At the time when the Script was first made, we used dynamic variables as a sort of Array.
They are limited to maximum of ($$L00 to $$LFF) = 99 (dezimal) to 256 (Hex) Entries.
So how does the SPR regularly store ARRAYS?
For this Data-Blocks are used.
They are not limited and they can even contain other Data-Blocks in a recursive way.
I have therefore changed the Script from Dynamic Variables to Data-Blocks.
'Purpose:
'Author: Andreas Walkenhorst
'Creation date:
'===========================================================
'#EXE:?pfad\
'#SPI:ForceWrite
#LIB:?path\Library\
'
$$PFA=?exeloc\
'-----------------------------------------------------------
' Ini auslesen
'-----------------------------------------------------------
' Quell-INI
$$INI=$$PFAMain.ini
NEF.$$INI
MBX.Datei nicht gefunden:$crlf$$$INI
ENR.
EIF.
' Number of Blocks
$$SEC=General
$$KEY=Count
CFI.$$INI|$$SEC|$$KEY|$$LIZ
' Größe der Bilder ist 175x130 (350x260)
' Dateiname = Zeile_Spalte.jpg (ohne führende "0")
'VAN.$$PIX=175
$$KEY=PicX
CFI.$$INI|$$SEC|$$KEY|$$PIX
'VAN.$$PIY=130
$$KEY=PicY
CFI.$$INI|$$SEC|$$KEY|$$PIY
'VAR.$$PRZ=16%
$$KEY=Size
CFI.$$INI|$$SEC|$$KEY|$$PRZ
' Zeilen pro Block derzeit 2
VAR.$$ZLZ=2
'$$TXF=index.html
$$KEY=Target
CFI.$$INI|$$SEC|$$KEY|$$TXF
' Anzahl Spalten anch rechts je Zeile
'VAN.$$SPA=6
$$KEY=Column
CFI.$$INI|$$SEC|$$KEY|$$SPA
CAL.$$SPB=$$SPA+1
VAR.$$DIR=$$PFAwebsite
'-----------------------------------------------------------
' Array-Variable Initialisieren
'-----------------------------------------------------------
' Für Links
CNB.$$LBA|$$SPA
' Für Text
CNB.$$UAA|$$SPA
'-----------------------------------------------------------
' Zielverzeichnis und Zieldatei vorbereiten
'-----------------------------------------------------------
IEF.$$DIR
ELS.
MKD.$$DIR
EIF.
VAR.$$FIO=$$DIR\$$TXF
IEF.$$FIO
DEL.$$FIO
EIF.
'-----------------------------------------------------------
' Unterverzeichnis mit Bildern vorbereiten
'-----------------------------------------------------------
' Name des Unterverzeichnisses mit den Bildern
'VAR.$$SUB=/pics
$$KEY=Subfolder
CFI.$$INI|$$SEC|$$KEY|$$SUB
VAR.$$PIF=$$DIR\pics
MKD.$$PIF
'-----------------------------------------------------------
' HTML-Prefix holen (Seitenanfang ist immer gleich)
'-----------------------------------------------------------
'GSB.Prefix_File
' New Version get Prefix from Inline Data
GSB.Inline_Prefix
' Old Version using Prefix-File
'VAF.$$PRF=$$PFAPrefix.txt
'CFF.$$PRF|$$PRE
LEN.$$PRE|$$LEN
JIV.$$LEN<10|Lab_error
'-----------------------------------------------------------
' HTML-Prefix in Zieldatei schreiben
'-----------------------------------------------------------
' Prefix mit Google Feld schreiben
%Write $$PRE
'-----------------------------------------------------------
' Variablen Teil schreiben
'-----------------------------------------------------------
FOR.$$LAU|1|$$LIZ
DBP.Writing ...$$LAU
%ReadLine $$LAU
%Write <tr>
FOR.$$LAA|1|$$SPA
%WriteBlock $$LAA|$$LAU|$$LAA
NEX.
%Write </tr>
%Write <tr>
FOR.$$LAA|1|$$SPA
%Footer $$LAA
NEX.
%Write </tr>
%Write <tr>
%Write <td colspan="11" bgcolor="#C0C0C0"> </td>
%Write </tr>
NEX.
'-----------------------------------------------------------
' Footer schreiben
'-----------------------------------------------------------
%Write </tbody>
%Write </td
%Write </tr>
%Write </tbody>
%Write </table>
MBT.FERTIG||55
END.
'-----------------------------------------------------------
' Unterprogramme
'-----------------------------------------------------------
' Parameter 1 ist Zeilen-Nummer
'
: %ReadLine 1
GSB.Lab_Doit|§§§01
END%
:Lab_Doit
' Text-Eintrag in INI lesen
$$SEC=B§§_01
GSB.ReadSec|1|T
' Link-Eintrag in INI lesen
GSB.ReadSec|2|L
RET.
'-----------------------------------------------------------
' Liest alle Links einer Zeile von Links nach rechts
' Diese kommen dann in $$LB1 .. $$LB8 oder $$UA1 ..$$UA8
:ReadSec
FOR.$$NUM|1|$$SPA
$$KEY=§§_02$$NUM
CFI.$$INI|$$SEC|$$KEY|$$VAL
IVV.§§_01=1
' Text Lesen
SBE.$$UAA|$$NUM|$$VAL
ELS.
' Link lesen
SBE.$$LBA|$$NUM|$$VAL
EIF.
NEX.
RET.
'-----------------------------------------------------------
: %Write 1
GSB.Lab_Writer|§§§01
END%
'-----------------------------------------------------------
: %Footer 1
GBE.$$UAA|§§§01|$$VAS
VAR.$$ELK=<td align="center" width="16%"> <b> <font size="4">$$VAS</font></b></td>
%Write $$ELK
END%
'-----------------------------------------------------------
' Not used, Alternative to Inline_Data
:Prefix_File
IEF.$$PIF\
MBX.Deleting:$crlf$ $$PIF
RMD.$$PIF
ELS.
DBP.$$PIF not found
EIF.
RET.
'-----------------------------------------------------------
:Lab_Writer
$$CON=§§_01$crlf$
ATF.$$FIO|$$CON
RET.
'-----------------------------------------------------------
'-----------------------------------------------------------
' Parameter 1: Blocknummer
' 2 - Blockzeile
' 3 - Blockspalte
'
: %WriteBlock 3
GBE.$$LBA|§§§01|$$VAT
'PRT. Got in Block: $$VAT
VAV.$$LNK=$$VAT
'#######################################################################
VAV.$$VAF=§§§02
VAV.$$VAG=§§§03
GSB.Do_Snap|$$LNK|$$VAF|$$VAG
'#######################################################################
VAR.$$OUA=<td width="$$PRZ" align="center">
$$OUA=$$OUA$crlf$<a
VAR.$$ELK=href="$$VAT">
VAV.$$OUA=$$OUA$crlf$$$ELK
CAL.$$LAD=§§§01
GSB.Gen_Filename|$$LNK
VAR.$$ELK=<img width="$$PIX" height="$$PIY" border="0" src=".$$SUB/$$FIN"/>
$$OUA=$$OUA$crlf$ $$ELK
$$OUA=$$OUA$crlf$ </a>
$$OUA=$$OUA$crlf$ </td>
%Write $$OUA
END%
'-----------------------------------------------------------
:Do_Snap
SAV.Save|$$VAA|$$VAB|$$VAC|$$TAX|$$TAY|$$FIN|$$TMP
VAN.$$TAX=350
VAN.$$TAY=260
VAF.$$TMP=?exeloc\Temp.jpg
VAR.$$VAA=§§_01
VAR.$$VAB=§§_02
VAR.$$VAC=§§_03
GSB.Gen_Filename|$$LNK
PRT.($$VAB,$$VAC) $$FIN -> $$LNK
VAR.$$FIM=$$PIF\$$FIN
NEF.$$FIM
%Locate_Run $$LNK
%Locate_TW
SWP.0,0|1348,1244|T
PAU.10
ANA.Set_Data|8|0
ANA.Snap|0
ANA.CutRect|0|10|90|1300|1200
ANA.ResizeTo|0|0|$$TAX|$$TAY
ANA.Save|0|$$TMP
COP.$$TMP|$$FIM
NEF.$$FIM
MBX.Datei nicht erzeugt: $$FIM
EIF.
CAL.$$VAD=$$VAB+$$VAC
IVV.$$VAD>2
%Locate_TW
MLI.
PAU.0.5
SDK.^w
PAU.1
EIF.
EIF.
'ANA.Show|0!
SAV.Restore
RET.
'-----------------------------------------------------------
:Gen_Filename
SAV.Save|$$VAA|$$VAB|$$VAC|$$VAD|$$VAE|$$TAX|$$TAY|$$TMP
VAR.$$VAA=§§_01
GMD.v|$$VAA|$$VAD
GMD.e|$$VAA|$$VAE
VAR.$$FIN=$$VAD_$$VAE.jpg
' Filename is in $$FIN
SAV.Restore
RET.
'-----------------------------------------------------------
'
'-----------------------------------------------------------
' Prefix.txt
' $$DTA = Data
' $$FIN = Filename of Sourcefile
' Length: 2010 Bytes in 31 Lines.
:Inline_Prefix
VDA.$$PRE|$$FIN=
?MAAGHCAAASlE8gB7YrG97QcgpaNX/xzgGowKyBSrduWIBc5kEOsbJfXQpRFL7cwfJ
PHR2pHp7SytS+N+Zhn2j2IlRAWfciKDbKF3pMMIsX7l6+wyM8/NaZjTYM68/cT/P
qC7rJLYdsXbmDXeQ74cc0DJYKq2OLYyGjCPTZGtqx05HrPdrhKW/KZgJ2R1hYJBX
ByBEwz/V236bnKNtIM6roUePBs0i0oR4dm98n9OabPsIiMFidzmXC8mx0OaGXv4y
VIyVEschay0NfVDFGmpifqx3fW+iYyCiDv2vyM9dX94BguVxeSLbd2+iZjvkv21m
lz65TmfZ8jaUCb8o2upBjMSs2vtnlnurD3Z77zPqvZWOIkmwfH6Wz+fmg56heHiX
kNOhaygojm/vc6tN7FHRKSy0FLdr/P3/FVtbvYt5Lw5ARNUiAtxrL56LpD+KnZaV
jqQYhftyzXE8k2MVa51ZPKd4dyVS3kyOEO+Y+Bla3daISWGyXLw7PFBsZTHAjB+3
C49SRGoCJcVRuz5XPXSSJosvjVZtEKNTwWz+yAuhEftpNG49Br9zfrBWpKuTDMyC
zfUOaGp+fEBUkTKmnJYEA/NMwf0MiL4Asyq29glM1jL4ODPDwCrrDPK0/GY9aM4b
Vy5NrKDiIN050/O6S3k8da4XUy+qI0+P9ONu2AiT7tKarwKjZmHLsouj6InJriVP
J+79ADDRhDfZau0Nv1TePSr1yvlhAqzDp2y95PIOGbSoW/JcKee5kfFJcxtT0F2v
9DdnUBPKBCiyl8DkHUEoawXardrX8VgVbRhXuZKW3nqTnRlETgLN50JXr3S0tAcl
9YT1/Wjf7nGdGMNALh3X57Yne3V48EaYjLCZGj8+YbYiQb4MLVmzEx4Rmr2yRWrY
Ryl3+T5d+JEiuB7M6Do81fL0MimrvVxWmxAbj/y07kPIq5Hi3RME4kZTTgda98S3
547zcUWNetp22Ai7yU0lUumvjVgluwpxMqisk39g2+WGFN704JLKB/IL6Kz45Xh+
2Ci9OSstDc65U6eseQrcHIxo2pMI5ueIRLPvYAeJlbcUzOCCWVWvCurNat6ZL5qW
PFfDNrCZ+tT/DPfa/6dn4fuBJTiPaUo8veqpqrVDmGXzb65LjBQ+F0RKHxcJl/MI
3przdfOcGEz+xBpk7toldvxt4YZFGqtpIdSmi5ulC6791qjqtnb/xkE5o2dwfNLQ
+0LcjzHRm5snVvn1tTvf+lzh/HWikZUJOHyMgbvhzCYjfXafoEtoGP+Com+QLQ3I
oKjEFVA370DmB32bGoeFTFImoth/KZaSkiVW4C6dDB9TP7kA/FQvv7i7FK6Fvl41
B8iHoX6sG0kvT+weBxc6LK9AdS+56s01pfpDA7wJZHRbeCDnAn1FNVP2qRVW9Wq+
o3ZW0zhaK4nH6ZQcIRCsYopE+dpIS/lhk7aa+7MUlEUISHJFeDuUQRavFUztld9a
pTVAWUhIHvUSTfINoi/Wl+8UF61xgY8Xj3bKTOZGlBOm0I6C1AthozWnaTmrUrjI
I/D6bRuyg4+Wh+2roCQWuQkor4GaC8TeqNzIZrzCEWaxFFHopZ5VUqKl7ph4bG3P
QEjHyeekOHZPo7HMXghYPlaFHwWSxBbFyY2CS86y3zc5M8L7kdrJFh1YICkok9XT
NQqECNG8HfP4QfNeExXXN3iHOqkhFFBBpxq9G40cvo8lGmmGC5Gl9gEjOKfWCEqO
W6YEdQHXg279vaG+DRmSLx55P5wDfSCTLK1bHTbFqJFmUhTL6VsxSRsPrtg69GNV
NBwWWLzki+j2lrhHOnAaaly0NbyU1MseOOHooBgGNLShzSm4REFKwWTi2zAoJQOu
tm62kZQUUuxO7YjoYEbGu0XbI75qNVDEICr++fsB36Jt6xXH5IASZtfx3ZpBt3H/
hjyV+AOtp0YT77uqlJkn5LPDItoB
VDE.
RET.
'-----------------------------------------------------------
'
'-----------------------------------------------------------
#INC:Library.mrt
'-----------------------------------------------------------
:Lab_error
MBX.Fehler: $$LEN<10
ENR.
And here is the INI-File that will contain the Links on the WEB-Site:
; Picture Size is 503x499 Name 1_1 bis 1_8 (nach rechts) und nächste Zeile 2_1 bis 2_8.jpg
[General]
Count=15
PicX=175
PicY=130
Subfolder=/pics
Size=16
Target=index.html
Column=8
; Domain-Services
[B1]
L1=https://banking.ing-diba.de/OnlineBanking/index.html
T1=DiBA
L2=https://www.onlinebanking-psd-karlsruhe-neustadt.de/banking-private/entry
T2=PSD-OnlineBanking
L3=https://banking.postbank.de/rai/login
T3=Postbank Homebanking
L4=https://adac.lbb.de/security/login
T4=ADAC Kreditkartenbanking
L5=https://amzn.to/3rN11yg
T5=AMAZON Shopping
L6=https://mail.ionos.de/
T6=1&1-Webmailer
L7=https://www.mbv-ka-ebanking.de/banking-private/entry
T7=E-Banking MBV Karlsruhe
L8=https://auth.fidor.de/session/new
T8=Fidor-Banking
; Banken
[B2]
L1=http://fa2.de/UPA/Index.htm
T1=Bitcoin und Altcoin-Sites
L2=http://fa2.de/UPB/Index.htm
T2=Amazon und Shopify Links
L3=http://translate.google.de/#es|de
T3=Google Translater Spanisch Deutsch
L4=https://admin.df.eu/kunde/index.php5#
T4=Domain Factory-Kundenmenue
L5=http://www.ebay.de/
T5=EBAY
L6=http://fa2.de/subweb/asc-ansi-tabelle.htm
T6=ASCII-ANSI-Tabelle
L7=https://webmail.df.eu/roundcube/
T7=Domain Factory WEB-Mailer
L8=https://login.ionos.de/?ionos-tour=instant
T8=1&1 Provider-Login