Δευτέρα, 16 Ιουλίου 2018

Αναθεώρηση 25 (Έκδοση 9.3)

Διορθώθηκε η String$() ή Επαν$()  που είχε "χαλάσει" από την 20η αναθεώρηση.  Επιπλέον προστέθηκε η δυνατότητα χρησης ANSI αλφαριθμητικών (ένα byte o κάθε χαρακτήρας) με τις MID$(), LEFT$(), RIGHT$(), INSTR(), RINSTR().


Locale 1033
\\ str$(a$) return ANSI from UTF16LE using Locale
\\ chr$(a$) read a$ as ANSI and return a UTF16LE
\\ make an 8bit Ansi string
a$=str$("    Hello  ")
Print Len(a$) =5.5 ' 5.5*2 = 11 bytes
b$=string$(a$,3)
Print Len(b$)=16.5 ' 16.5*2=33 bytes
k$=b$+b$
Print len(k$)=33 ' 33*2 = 66 bytes
Print chr$(mid$(a$, 2,1 as byte))
Print chr$(trim$(a$ as byte))+"OK"
For i=1 to Len(a$)*2
Print chr$(mid$(a$, i, 1 as byte)), i
next i
z$=trim$(a$ as byte)
Print chr$(left$(z$, 3 as byte))+"/"+chr$(right$(z$, 2 as byte))
Print chr$(mid$(z$, 3, 2 as byte))="ll"

\\ string$() used for encode to escape codes/ json escape codes
\\ we use format$ to decode from escape codes to normal
N$=String$({"hello there"})
Print N$="\u0022hello there\u0022"
Print format$(N$)={"hello there"}
N$=String$({"hello there"} as json)
Print N$={\"hello there\"}
Print format$(N$)={"hello there"}

\\ We can use String$ to encode/decode UTF8
\\ M$ are in bytes
M$=String$("GREEK == ΕΛΛΗΝΙΚΑ" as UTF8enc)
Print  Len(M$)= 12.5
Print String$(M$ as UTF8dec)="GREEK == ΕΛΛΗΝΙΚΑ"
Print  Len("GREEK == ΕΛΛΗΝΙΚΑ")=17

\\We can use String$ to encode/decode to BASE64
\\ using ,0 we get compact encode
\\ using ,1, 60 we get  6 lead spaces every line, we get linebreak after 60 symbols
M$=String$("GREEK == ΕΛΛΗΝΙΚΑ" as Encode64, 0)
Print Len(M$)=48
Clipboard M$
Print M$="RwBSAEUARQBLACAAPQA9ACAAlQObA5sDlwOdA5kDmgORAw=="
Print String$(M$ as Decode64)
M$=String$("GREEK == ΕΛΛΗΝΙΚΑ" as Encode64, 0,10)
clipboard M$
report m$
Print M$={          RwBSAEUARQBLACAAPQA9ACAAlQObA5sDlwOdA5kDmgORAw==}






Άλλο Παράδειγμα:
Τοπικό 1032
α$=γραφη$("Γιώργος")
β$=γραφη$("ς")
Τύπωσε Θέση(α$, β$ ως ψηφίο)=7
 


Locale 1032
a$=str$("Γιώργος")
b$=str$("ς")
Print Instr(a$, b$ as byte)=7



\\ check rinstr
Search$ = Str$("aetabetAbet")
Keyword$ = Str$("bet")
Print rinstr(Search$, Keyword$ as byte)=9
Print rinstr(Search$, Keyword$, 1 as byte)=9
Print rinstr(Search$, Keyword$, 2 as byte)=5

Search$ = "aetabetAbet"
Keyword$ ="bet"
Print rinstr(Search$, Keyword$,1 )=9
Print rinstr(Search$, Keyword$,2 )=5

\\ now check instr
Search$ = Str$("aetabetAbet")
Keyword$ = Str$("bet")
Print instr(Search$, Keyword$ as byte)=5
Print instr(Search$, Keyword$, 6 as byte)=9
Print instr(Search$, Keyword$, 1 as byte)=5
Search$ = "aetabetAbet"
Keyword$ ="bet"
Print instr(Search$, Keyword$)=5
Print instr(Search$, Keyword$, 6)=9
Print instr(Search$, Keyword$, 1)=5


 Αναζήτησε$ = Γραφή$("aetabetAbet")
τι$ = Γραφή$("bet")
Τύπωσε ΘέσηΔεξιά(Αναζήτησε$, τι$ ως ψηφίο)=9
Τύπωσε ΘέσηΔεξιά(Αναζήτησε$, τι$, 1 ως ψηφίο)=9
Τύπωσε ΘέσηΔεξιά(Αναζήτησε$, τι$, 2 ως ψηφίο)=5

Αναζήτησε$ = "aetabetAbet"
τι$ ="bet"
Τύπωσε ΘέσηΔεξιά(Αναζήτησε$, τι$,1 )=9
Τύπωσε ΘέσηΔεξιά(Αναζήτησε$, τι$,2 )=5

Αναζήτησε$ = Γραφή$("aetabetAbet")
τι$ = Γραφή$("bet")
Τύπωσε Θέση(Αναζήτησε$, τι$ ως ψηφίο)=5
Τύπωσε Θέση(Αναζήτησε$, τι$, 6 ως ψηφίο)=9
Τύπωσε Θέση(Αναζήτησε$, τι$, 1 ως ψηφίο)=5
Αναζήτησε$ = "aetabetAbet"
τι$ ="bet"
Τύπωσε Θέση(Αναζήτησε$, τι$)=5
Τύπωσε Θέση(Αναζήτησε$, τι$, 6)=9
Τύπωσε Θέση(Αναζήτησε$, τι$, 1)=5