Basic 2.201: bug fixes in STR$ G and STR$ K
This commit is contained in:
parent
cbee494fe7
commit
14bc607b4d
|
@ -589,7 +589,14 @@ Logbuch :
|
|||
|
||||
13-05-2014 -Befehl PUT kreiert für die direkte Zeichenausgabe mit x-y Koordinaten, hier wird die aktuelle Zeichen-und Hintergrundfarbe benutzt
|
||||
-ist etwas schneller als pos x,y + Print
|
||||
-1356 Longs frei
|
||||
-Fehler in der DIR-Routine behoben (im Modus 0 wurde nichts gelesen)
|
||||
-DIR-Routine gestrafft
|
||||
-1369 Longs frei
|
||||
|
||||
16-05-2014 -################### Version 2.2 veröffentlicht ####################
|
||||
|
||||
'############################################################ Version 2.3 ######################################################################################################
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------------------------------- }}
|
||||
|
||||
|
@ -1736,9 +1743,9 @@ PRI stringfunc2|a8,b8,c8,function,a,b
|
|||
b:=c8
|
||||
"r","R":a:=a8-b8
|
||||
b:=b8
|
||||
"u","U":charactersUpperLower(@font,0) 'in Grossbuchstaben umwandeln
|
||||
"g","G":charactersUpperLower(@font,0) 'in Grossbuchstaben umwandeln
|
||||
return
|
||||
"d","D":charactersUpperLower(@font,1) 'in Kleinbuchstaben umwandeln
|
||||
"k","K":charactersUpperLower(@font,1) 'in Kleinbuchstaben umwandeln
|
||||
return
|
||||
|
||||
other:
|
||||
|
@ -1757,10 +1764,10 @@ PRI charactersUpperLower(characters,mode) '' 4 Stack Longs
|
|||
|
||||
result := byte[++characters]
|
||||
if mode
|
||||
if((result > 64) and (result < 91)) 'nur A -Z
|
||||
if((result > 64) and (result < 91)) 'nur A -Z in Kleinbuchstaben
|
||||
byte[characters] := (result + 32)
|
||||
else
|
||||
if(result > 96) 'nur a-z
|
||||
if(result > 96) 'nur a-z in Großbuchstaben
|
||||
byte[characters] := (result - 32)
|
||||
|
||||
|
||||
|
@ -1811,7 +1818,7 @@ PUB substr (strAddr, start, count)
|
|||
bytemove(@strtmp, strAddr + start, count) 'just move the selected section
|
||||
return @strtmp
|
||||
obj '*********************************************** TIMER-FUNKTIONEN ***********************************************************************************************************
|
||||
con' *********************************************** Verwaltung der acht Timer **************************************************************************************************
|
||||
con' *********************************************** Verwaltung der acht Timer und 4 Counter ************************************************************************************
|
||||
PRI timerfunction:b|a,c,function
|
||||
function:=spaces
|
||||
skipspaces
|
||||
|
@ -2665,14 +2672,13 @@ PRI texec | ht, nt, restart,a,b,c,d,e,f,h,elsa
|
|||
Input_String
|
||||
komma
|
||||
a:=expr(1)
|
||||
charactersUpperLower(@f0,0)
|
||||
h_dir(dzeilen,a,@f0)
|
||||
elseifnot spaces
|
||||
h_dir(dzeilen,modus,@ext5) 'directory ohne parameter nur anzeigen
|
||||
else
|
||||
param(1)
|
||||
dzeilen:=prm[0]
|
||||
modus:=a:=prm[1]
|
||||
modus:=prm[1]
|
||||
h_dir(dzeilen,modus,@ext5)
|
||||
|
||||
|
||||
|
@ -3816,7 +3822,7 @@ pri zahlenformat(h)|j
|
|||
return FS.FloatToString(h) 'Zahlenwerte ohne Exponent
|
||||
|
||||
con '****************************************** Directory-Anzeige-Funktion *******************************************************************************************************
|
||||
PRI h_dir(z,mode,str) | stradr,n,i,tt,dlen,dd,mm,jj,color,xstart 'hive: verzeichnis anzeigen
|
||||
PRI h_dir(z,modes,str) | stradr,n,i,tt,dlen,dd,mm,jj,color,xstart 'hive: verzeichnis anzeigen
|
||||
{{h_dir - anzeige verzeichnis}} 'mode 0=keine Anzeige,mode 1=einfache Anzeige, mode 2=erweiterte Anzeige
|
||||
ios.printcursorrate(0) 'cursor ausschalten
|
||||
mount
|
||||
|
@ -3829,66 +3835,62 @@ PRI h_dir(z,mode,str) | stradr,n,i,tt,dlen,dd,mm,jj,color,xstart
|
|||
if byte[str][i]>96
|
||||
byte[str][i]^=32
|
||||
i++
|
||||
|
||||
ios.sddir 'kommando: verzeichnis öffnen
|
||||
n := 0 'dateizaehler
|
||||
i := 0 'zeilenzaehler
|
||||
repeat while stradr <> 0 'wiederholen solange stradr <> 0
|
||||
'wiederhole bis verzeichnisende
|
||||
stradr:=ios.sdnext 'einen eintrag holen
|
||||
repeat while (stradr:=ios.sdnext)<>0 'wiederholen solange stradr <> 0
|
||||
|
||||
|
||||
dlen:=ios.sdfattrib(0) 'dateigroesse
|
||||
dd:=ios.sdfattrib(10) 'Aenderungsdatum tag
|
||||
mm:=ios.sdfattrib(11) 'Aenderungsdatum monat
|
||||
jj:=ios.sdfattrib(12) 'Aenderungsdatum Jahr
|
||||
|
||||
if stradr <> 0 'ist eintrag gültig?
|
||||
|
||||
color:=farbe
|
||||
bytemove(@file1,stradr,12)
|
||||
scanstr(@file1,1) 'dateierweiterung extrahieren
|
||||
scanstr(stradr,1) 'dateierweiterung extrahieren
|
||||
|
||||
ifnot ios.sdfattrib(17) 'unsichtbare Dateien ausblenden
|
||||
if strcomp(@buff,str) or strcomp(str,@ext5) 'Filter anwenden
|
||||
n++
|
||||
if n<DIR_ENTRY 'Begrenzung der Einträge auf die mit DIR_ENTRY vereinbarte
|
||||
WriteNameToRam(stradr,n) 'Dateiname zur spaeteren Verwendung in ERam speichern an adresse n
|
||||
|
||||
'################## Bildschrirmausgabe ##################################
|
||||
if mode>0
|
||||
if modes>0
|
||||
|
||||
if strsize(@buff)<3 'verzeichnis
|
||||
color:=hintergr-125
|
||||
ios.print(stradr)
|
||||
|
||||
ios.print(stradr)
|
||||
if mode==2
|
||||
erweitert(xstart,dlen,dd,mm,jj)
|
||||
ios.printnl
|
||||
ios.setx(xstart)
|
||||
i++
|
||||
|
||||
|
||||
if i==z '**********************************
|
||||
'errortext(37,0)
|
||||
if ios.keywait == ios#CHAR_ESC 'auf Taste warten, wenn ESC dann Ausstieg
|
||||
if cursor==1 '**********************************
|
||||
ios.printCursorRate(3) '**********************************
|
||||
ios.printnl '**********************************
|
||||
ios.print(string("OK>"))
|
||||
close '**********************************
|
||||
filenumber:=n 'Anzal der Dateien merken
|
||||
return '**********************************
|
||||
|
||||
i := 0 '**********************************
|
||||
if modes==2
|
||||
erweitert(xstart,dlen,dd,mm,jj)
|
||||
ios.printnl
|
||||
ios.setx(xstart)
|
||||
i++
|
||||
|
||||
if mode>0 'sichtbare Ausgabe
|
||||
ios.printdec(n) 'Anzahl Dateien
|
||||
errortext(43,0)
|
||||
ios.printnl
|
||||
if cursor==1
|
||||
ios.printCursorRate(3)
|
||||
filenumber:=n 'Anzal der Dateien merken
|
||||
close 'ins Root Verzeichnis ,SD-Card schliessen und unmounten
|
||||
if i==z '**********************************
|
||||
if ios.keywait == ios#CHAR_ESC 'auf Taste warten, wenn ESC dann Ausstieg
|
||||
if cursor==1 '**********************************
|
||||
ios.printCursorRate(3) '**********************************
|
||||
ios.printnl '**********************************
|
||||
close '**********************************
|
||||
filenumber:=n 'Anzal der Dateien merken
|
||||
abort '**********************************
|
||||
|
||||
i := 0 '**********************************
|
||||
ios.printnl
|
||||
ios.setx(xstart)
|
||||
if modes==0
|
||||
if n<DIR_ENTRY 'Begrenzung der Einträge auf die mit DIR_ENTRY vereinbarte
|
||||
WriteNameToRam(stradr,n) 'Dateiname zur spaeteren Verwendung in ERam speichern an adresse n
|
||||
|
||||
|
||||
if modes 'sichtbare Ausgabe
|
||||
ios.printdec(n) 'Anzahl Dateien
|
||||
errortext(43,0)
|
||||
ios.printnl
|
||||
if cursor==1
|
||||
ios.printCursorRate(3)
|
||||
filenumber:=n 'Anzal der Dateien merken
|
||||
close 'ins Root Verzeichnis ,SD-Card schliessen und unmounten
|
||||
abort
|
||||
PRI WriteNameToRam(str,nummer)|adress,position,c 'Dateiliste in ERam schreiben
|
||||
position:=(nummer-1)*13
|
||||
adress:=DIR_RAM+position
|
||||
|
@ -3909,11 +3911,11 @@ PRI erweitert(startx,laenge,tag,monat,jahr) 'erwei
|
|||
|
||||
ios.setx(startx+14)
|
||||
ios.printdec(laenge)
|
||||
ios.setx(startx+20)
|
||||
ios.setx(startx+21)
|
||||
ios.printdec(tag)
|
||||
ios.setx(startx+23)
|
||||
ios.setx(startx+24)
|
||||
ios.printdec(monat)
|
||||
ios.setx(startx+26)
|
||||
ios.setx(startx+27)
|
||||
ios.printdec(jahr)
|
||||
|
||||
PRI scanstr(f,mode) | z ,c 'Dateiendung extrahieren
|
||||
|
|
Loading…
Reference in New Issue