una notte nel tentativo di fare dei fix a uno script che sto cercando di perfezionare, mi serviva un qualcosa per registrare i cambiamenti di valore dnelle variabili permanenti che uso, pensando fosse lavoro da poco buttai giù questo coso, ma il lavoro fu lungo e tra stanchezza e altro non riuscii a risolvere la faccenda.
lo script come ho descritto dovrebbe:
-leggere il nome dato della variabile (ok)
-registrare ogni variazione della variabile nel registro di sistema (non lo fa sempre )
-stampare su file il "report" che viene creato mentre la variabile cambia (quasi mai il file viene creato)
per fare i controtest ho adoperato questo:
sapreste dirmi dove e cosa ho sbagliato?
probabilmente per qualche motivo a me ignoto non è proprio possibile fare una cosa del genere... fatemi sapere pls! ho postato anche nel forum di EUO ma non ho avuto risposte.
o forse è meglio se mi arrangio con un linguaggio di programmazione serio? o.o
lo script come ho descritto dovrebbe:
-leggere il nome dato della variabile (ok)
-registrare ogni variazione della variabile nel registro di sistema (non lo fa sempre )
-stampare su file il "report" che viene creato mentre la variabile cambia (quasi mai il file viene creato)
codice:
set %filename trackVar.txt set %cmd cmd set #menubutton N/A gosub genericInputMenu sub genericInputMenu menu Clear menu Window Title Persistant Vars Tester menu Window Color $00FFB0B0 menu Window Size 412 91 menu Font Transparent #true menu Font Align Right menu Font Name MS Sans Serif menu Font Size 8 menu Font Style menu Font Color WindowText menu Font Transparent #false menu Font Align Left menu Font BGColor $00FFB0B0 menu Text Instructions 80 8 Put below data you want to check. menu Text var_name 16 44 var name: menu Font BGColor Window menu Edit var_edtbox 80 40 233 menu Font Name @Meiryo menu Font Size 12 menu Font Style b menu Font BGColor $00FFC1C1 menu Button start 320 4 77 77 TRACK! menu Show 421 270 loopmenu: if #menubutton = closed stop if #menubutton = start { menu hide set %isCEO #false set #menubutton N/A gosub genericOutput } menu get var_edtbox set %var #menures goto loopmenu sub genericOutput menu Clear menu Window Color $00FFB0B0 menu Window Size 373 362 menu Font Transparent #true menu Font Align Right menu Font Name MS Sans Serif menu Font Size 8 menu Font Style menu Font Color WindowText menu Font Transparent #false menu Font Align Left menu Font BGColor $00FFB0B0 menu Text Lblresult 16 8 Current variable ( * , %var ) value: menu Text TableLabel 16 72 Debugging Table < Entry n° ) Time (HHMMSS) - Value > : menu Text NoteLbl 16 312 Note: i can save the table on a txt if you stop tracking... menu Text timer 16 336 Time tracking: %timer menu Font BGColor Window if %isCEO = #true { gosub getglobalvar %idscript menu Edit resultEdt 16 32 333 %var } else menu Edit resultEdt 16 32 333 * . %var menu List Create Table 16 96 333 209 menu Button Stop 140 332 95 25 Stop tracking menu Show 421 270 set %entry 1 gosub add_entry set #lpc 5000 refresh: if #menubutton = closed stop if #menubutton = stop { set #menubutton = N/A menu Text NoteLbl 16 312 Note: set the file name before saving! Close the window to stop the script. menu Edit EdtFilen 240 334 121 %filename menu Button Write 140 332 95 25 Print in file _waitBtn: if #menubutton = write { set #lpc 10 menu hide gosub printTofile stop } if #menubutton = closed { set #lpc 10 stop } goto _waitBtn } set %value * . %var if %value <> * . %var { set %entry %entry + 1 menu Edit resultEdt 16 32 333 * . %var gosub add_entry } goto refresh stop ;======================= sub add_entry set %time #time str ins %time : 3 set %time #strres str ins %time : 6 set %time #strres set %string ) , #spc , %time , #spc , - , #spc , * . %var gosub setToArray %entry %entry %string menu List ADD Table %entry , %string return ;=======ARRAY SUBS====== sub setToArray set %varname %1 set %varname %varname , b set %varname1 %varname , %2 set % . %varname1 %3 return sub getArray set %varname %1 set %varname %varname , b set %varname1 %varname , %2 set %return % . %varname1 return ;======================== sub printTofile set %steptot 3 + %entry ;steptot sono gli step totali + i 3 dell'header del file set %step 0 set %status Writing , #spc , file , #spc , header menu Clear menu Window Size 278 72 menu Font Transparent #true menu Font Align Right menu Font size 8 menu Font Color Maroon menu Font Transparent #false menu Font Align Left menu Font BGColor $00FFB0B0 menu Text Progress 7 4 Writing progress status: %status menu Text StepLbl 92 24 Step: %step / %steptot menu Shape BackBar 8 48 257 17 3 1 1 Black 7 Teal menu Show 421 270 str mid #date 3 2 ;formatto #date a una stringa più leggibile set %date #strres str right #date 2 set %date %date , / , #strres str left #date 2 set %date %date , / , #strres menu get EdtFilen set %filename #menures set #menubutton N/A set %step %step + 1 menu Text Progress 7 4 Writing progress status: %status gosub setProgressbar execute %cmd /c echo * Created with Algander's Var tracker on , #spc , %date , #spc , * > %filename set %step %step + 1 gosub setProgressbar execute %cmd /c echo Persistant variable: , #spc , %var >> %filename set %step %step + 1 gosub setProgressbar execute %cmd /c echo , #spc , index n° ) Time (HH:MM:SS) - Value >> %filename set %status Writing , #spc , tracked , #spc , variable , #spc , values... menu Text Progress 7 4 Writing progress status: %status for %i 1 %entry { gosub getArray %i %i execute %cmd /c echo %1 %return >> %filename set %step %step + 1 gosub setProgressbar menu Text StepLbl 92 24 Step: %step / %steptot } if %step = %steptot { menu clear menu Font Transparent #true menu Font Align Right menu Font size 8 menu Font Color Maroon menu Font Transparent #true menu Font Align Left menu Text Progress 7 4 Writing progress status: finish! gosub setProgressbar } return sub setProgressBar set %pBarSize ( ( 266000 * %step ) / %steptot ) / 1000 menu delete ProgressBar menu Shape progressBar 8 48 %pBarSize 17 3 1 1 Black 7 Maroon menu Text StepLbl 92 24 Step: %step / %steptot return
codice:
set *tester 1 loop: display yesno actual value of tester: *tester $ + increment? if #dispres = yes { set *tester *tester + 1 goto loop } else stop goto loop
probabilmente per qualche motivo a me ignoto non è proprio possibile fare una cosa del genere... fatemi sapere pls! ho postato anche nel forum di EUO ma non ho avuto risposte.
o forse è meglio se mi arrangio con un linguaggio di programmazione serio? o.o
Commenta