BASIC-String Commands

<< Click to Display Table of Contents >>

Navigation:  3. Script Language > ! User-Macros >

BASIC-String Commands

Firefox Library

Previous Top Next


Sample Code

 

BASIC-String Commands Library

 

NEW: All these commands have nbow been implemetned within the STR. - Commands.

Therefore these Macros just stay as a sample from now.

 

These Subprogrammes implement all BASIC String-Commands like "RIGHT$","LEFT$" etc. as Macros.

You will find these Macros in the User-Library Folder as "String-Lib_Macros.mrt"

 

First we have here a complete Sample that will use these Macros and Test them.

Below you will find the Library Code.

 

'

'

'SPR Script-file: New Script_2

'Purpose: 

'Author: TEOT\Theo

'Creation date: 12-23-2016 at 22:30:40

'===========================================================

'#EXE:?path\

'#SPI:ForceWrite

'#CRY:

'-----------------------------------------------------------

MBX.SAVE-RESTORE Test

VAR.$$TXT=Hallo Peter

SAV.s|$$TXA|$$TXT

 

VAR.$$TXT=Hey Ralf

SAV.s|$$TXA|$$TXT

$$TXT=NEW

SAV.r

DBP.$$TXT

SAV.r

DBP.$$TXT

MBX.XINSTR$

'-----------------------------------------------------------

' XINSTR$

$$TXT=HalloTextSampleText

 

' Mit Variable

%XINSTR $$TXT|Text|2|$$ERG

DBP.$$ERG

 

' Mit Stack

%XINSTR $$TXT|Text|2

$$ERG=$tos$

DBP.$$ERG

'-----------------------------------------------------------

%Test_Stack

MBX.INSTR

'-----------------------------------------------------------

' Test INSTR$

$$TXT=HalloTextSampleText

 

' Mit Variable

%INSTR $$TXT|Text

$$ERG=$tos$

DBP.$$ERG

 

' M;it Start

%INSTR $$TXT|7|Text

$$ERG=$tos$

DBP.$$ERG

'-----------------------------------------------------------

%Test_Stack

MBX.MidTo

'-----------------------------------------------------------

' Test MidTo$

$$TXT=HalloText

 

' Mit Variable

%MidTo_String $$TXT|6|9|$$ERG

DBP.$$ERG

 

' Mit Stack

%MidTo_String $$TXT|6|9                            

'-----------------------------------------------------------

%Test_Stack

MBX.Mid

'-----------------------------------------------------------

' Test Mid$

$$TXT=HalloText

 

' Mit Variable

%Mid_String $$TXT|6|3|$$ERG

DBP.$$ERG

 

' Mit Stack

%Mid_String $$TXT|6|3                            

'-----------------------------------------------------------

%Test_Stack

MBX.Right

'-----------------------------------------------------------

' Test Right$

$$TXT=Hallo

 

' Mit Variable

%Right_String $$TXT|2|$$ERG

DBP.$$ERG

 

' Mit Stack

%Right_String $$TXT|2                            

 

'-----------------------------------------------------------

%Test_Stack

MBX.Left

'-----------------------------------------------------------

' Test Left$

$$TXT=Hallo

 

' Mit Variable

%Left_String $$TXT|2|$$ERG

DBP.$$ERG

 

' Mit Stack

%Left_String $$TXT|2                            

 

'-----------------------------------------------------------

%Test_Stack

MBX.Halt

'-----------------------------------------------------------

ENR.

'===========================================================

#INC:Debug_Lib.mrt

#INC:String-Lib_Macros.mrt

'===========================================================

' END of Sample Program

 

 

    Here is the Library Code:

 

'SPR Script-file: String-Lib

'Purpose: 

'Author: Theo

'Creation date: 12-23-2016 at 22:05:01

'

' Uses: §§M01,§§M02,§§M03,§§M04

'

'===========================================================

 

 

ENR.

'===========================================================

' LEFT$ - 

' P1 - Variablen-Name (in)

' P2 - Anzahl Zeichen

' P3 - Variable für Resultat

' falls nicht vorhanden, TOS

: %Left_String 2

SAV.Save|§§M01|§§M02|§§M03|§§M04

VAO.§§§03=

' Len nach §§M01

LEN.§§§01|§§M01

IVV.§§§02|>|§§M01

  VAR.§§M03=§§§01

ELS.

  GSS.1|§§§02|§§§01|§§M03

EIF.

#IF PARAMS>2

VAR.§§§03=§§M03

#ELS

VAR.$tos$=§§M03

#EIF

SAV.Restore

END%

'-----------------------------------------------------------

' RIGHT$ - 

' P1 - Variablen-Name (in)

' P2 - Anzahl Zeichen

' P3 - Variable für Resultat

' falls nicht vorhanden, TOS

: %Right_String 2

SAV.Save|§§M01|§§M02|§§M03|§§M04

VAO.§§§03=

' Len nach §§M01

LEN.§§§01|§§M01

IVV.§§§02|>|§§M01

  VAR.§§M03=§§§01

ELS.

  GSS.-§§§02|-1|§§§01|§§M03

EIF.

#IF PARAMS>2

VAR.§§§03=§§M03

#ELS

VAR.$tos$=§§M03

#EIF

SAV.Restore

END%

'-----------------------------------------------------------

' MID$ - 

' P1 - Variablen-Name (in)

' P2 - Start-Zeichen

' P3 - Anzahl Zeichen

' P4 - Variable für Resultat

' falls nicht vorhanden, TOS

: %Mid_String 2

SAV.Save|§§M01|§§M02|§§M03|§§M04

VAO.§§§04=

' Len nach §§M01

LEN.§§§01|§§M01

CAL.§§M04=§§§02+§§§03-1

IVV.§§M04>§§M01

  VAR.§§M04=§§M01

EIF.

GSS.§§§02|§§M04|§§§01|§§M03

#IF PARAMS>3

VAR.§§§04=§§M03

#ELS

VAR.$tos$=§§M03

#EIF

SAV.Restore

END%

'-----------------------------------------------------------

' MIDTO$ - 

' P1 - Variablen-Name (in)

' P2 - Start-Zeichen

' P3 - Ende Zeichen

' P4 - Variable für Resultat

' falls nicht vorhanden, TOS

: %MidTo_String 2

SAV.Save|§§M01|§§M02|§§M03|§§M04

VAO.§§§04=

' Len nach §§M01

GSS.§§§02|§§§03|§§§01|§§M03

#IF PARAMS>3

VAR.§§§04=§§M03

#ELS

VAR.$tos$=§§M03

#EIF

SAV.Restore

END%

'-----------------------------------------------------------

' Split_String -

' P1 - Variablen-Name (in)

' P2 - Delimiting Charakter

' P3 - Variable-Result 1 (left Side)

' P4 - Variable-Result 2 (right Side)

' If P3/P4 is omitted, TOS is used

: %Split_String 2

SAV.Save|§§M01|§§M02|§§M03|§§M04

VAO.§§§03=

VAO.§§§04=

' Here we get the first string before the delimiter

GES.b|§§§01|§§§02|§§M01

' Here we get the next string after the delimiter

GES.d|§§§01|§§§02|§§§M02

' Is P3 available?

#IF PARAMS>2

VAR.§§§03=§§M01

' Is P4 available?

#IF PARAMS>3

VAR.§§§04=§§M02

#ELS

VAR.$tos$=§§M02

#EIF

#ELS

VAR.$tos$=§§M01

#EIF

SAV.Restore

END%

'-----------------------------------------------------------

' InString - finde erstes Zeichen wo ein Text in einem String vorkommt

' P1 - Variablen-Name (in)

' P2 - bei 3 Parameter Startzeichen, bei 2 Parameter Searchstring

' P3 - Searchsting wenn 3 Parameter

'

: %INSTR 2

SAV.Save|§§M01|§§M02|§§M03|§§M04

#IF PARAMS>2

%INSTR_INT §§§01|§§§02|§§§03

#ELS

%INSTR_INT §§§01|§§§02

#EIF

SAV.Restore

END%

'-----------------------------------------------------------

' InString - finde erstes Zeichen wo ein Text in einem String vorkommt

' P1 - Variablen-Name (in)

' P2 - bei 3 Parameter Startzeichen, bei 2 Parameter Searchstring

' P3 - Searchsting wenn 3 Parameter

'

: %INSTR_INT 2

#IF PARAMS>2

§§M01=§§§02

LEN.§§§01|§§M02

JIV.§§M01>§§M02|LX§§§98

§§M02=§§§03

#ELS

§§M01=1

§§M02=§§§02

#EIF

' Source,Start,SearchFor

STR.FIND|§§§01|§§M01|§§M02

:LX§§§98

END%

'-----------------------------------------------------------

' XINSTR - finde X'tes Vorkommen von Searchstring in String P1

' P1 - Variablen-Name (in)

' P2 - Searchstring

' P3 - Nr. des Vorkommens das wir suchen

' P4 - Variable-Result oder Tos wenn fehlt

'

: %XINSTR 3

SAV.Save|§§M01|§§M02|§§M03|§§M04

VAO.§§§04=

VAR.§§M03=1

FOR.§§LOP|1|§§§03

  %INSTR_INT §§§01|§§M03|§§§02

  §§M04=$tos$ 

  JIZ.§§M04|L§§§98

  CAL.§§M03=§§M04+1

NEX.

:L§§§98

#IF PARAMS>3

VAR.§§§04=§§M04

#ELS

VAR.$tos$=§§M04

#EIF

SAV.Restore

END%

'-----------------------------------------------------------

 

'===========================================================