diff --git a/source/Basic2_1-word.spin b/source/Basic2_1-word.spin index 63ee452..7283b84 100644 --- a/source/Basic2_1-word.spin +++ b/source/Basic2_1-word.spin @@ -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 n0 + 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