Page 1 of 1 1
Topic Options
#32122 - 2002-11-09 08:29 PM older KIX-scripts (can we use it on latest kixtart versions?)
stukie Offline
Fresh Scripter

Registered: 2002-11-06
Posts: 9
Loc: netherlands
We've a kix-script running under NT-4. Can we use this script in the latest version of kix?

(MCA: extend subject)

[ 08. December 2002, 16:03: Message edited by: MCA ]

Top
#32123 - 2002-11-09 08:31 PM Re: older KIX-scripts (can we use it on latest kixtart versions?)
Les Offline
KiX Master
*****

Registered: 2001-06-11
Posts: 12734
Loc: fortfrances.on.ca
Maybe yes, maybe no. It really depends how it's coded. There has been changes in behavior thru the versions. Check the manual.
_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.

Top
#32124 - 2002-11-09 09:18 PM Re: older KIX-scripts (can we use it on latest kixtart versions?)
Les Offline
KiX Master
*****

Registered: 2001-06-11
Posts: 12734
Loc: fortfrances.on.ca
Along with the manual, there's a kix2001.txt file that explains the evolution of the product. You may also want to look through the Beta forum as the changes do get discussed there.

Some of the changes that have bitten me are InGroup() and ReadProfileString().

At the end of the day however, the proof of the pudding is in the eating.  Uninstall the old RPC service and install the new one and then test the script with a small control group.

Post back your findings.
_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.

Top
#32125 - 2002-11-10 03:09 AM Re: older KIX-scripts (can we use it on latest kixtart versions?)
Sealeopard Offline
KiX Master
*****

Registered: 2001-04-25
Posts: 11165
Loc: Boston, MA, USA
There are also some new functions that did not exist in the 3.x verisons, or even in 4.02. It might be best to go throught he code line by line and see whether the new functions might make some of the coding easier, e.g. string manipulation, or the introduction of non-integer numbers. Also note the improvements to e.g. WRITEVALUE.
BTW, we even have an FAQ about this in the FAQ Forum: Kix upgrade: what are those new features? can upgrade be done without any danger?

[ 10. November 2002, 03:13: Message edited by: sealeopard ]
_________________________
There are two types of vessels, submarines and targets.

Top
#32126 - 2002-12-08 04:01 PM Re: older KIX-scripts (can we use it on latest kixtart versions?)
MCA Offline
KiX Supporter
*****

Registered: 2000-04-28
Posts: 5152
Loc: Netherlands, EU
Dear,

In our opinion it isn't necessary to read your script line-by-line. Just run
it in a test environment. The only two elements which aren't
downwards compatible are
- OLExxx functions. obsolete for KiXtart 4.x releases
- way DIM statement is working. Since KiXtart 4.x it can be necessary to use REDIM

The page KiXtart Release Summary contains
information about which command, function or macro
what introduces during a specification kixtart release.
Also the obsolete ones you will find there.

As alternative for seeing what is going wrong see our tool kixstrip.

Suggestion:
use our tool kixstrip, which can add all kind of debugging code to your script.
so you can see exactly which part of your script creates possible 'hanging' situation
or which part of your script slows it down.

Our suggestion 1:

Very your syntax with our kixstrip tool. Possible call

kixstrip input.kix output.kix /block_check /show_structure

Our Suggestion 2:

A way to see what is going wrong can be done by our kixstrip
tool with option /debug.
At the end you only need to look at output file to see what was
executed and what were the error status.
The debugging file will not be overwritten.

QUESTIONs:
- is it possible to see what is happening during a logging on session.
- is it possible to see how long our script runs.

Advice: please run your script after adding our debugging code to it.
How:
- add debugging code?
- is debugging possible without user intervention? YES
- can is be usefull by logon or script problems? YES

A way of checking your script is by using our tool kixstrip on our site
http://home.wanadoo.nl/scripting
With the option /debug we add additional kixtart code, which shows
  • which line was executed.
  • what was the time of execution.
  • what was the error status of previous executed line.
So it is possible to catch the error status of kixtart statements during
a logon session.
and
it will show the last executed before script is crashing.

An example.

For changing your script with debugging code use
f.e. kixstrip input.kix output.kix /debug

It is no longer necessary to change RedirectOutput statement for normal operation.
The default debugging file will be
%tmp%\kixdebug.txt.
By an automatic cleaning of the %tmp% we advise to uncomment the line

;$_debug_file="c:\kixdebug.txt"

During the execution the information will be append to previous information.
So it is possible to check the differences.

be sure above RedirectOutput file has write permissions.

A kixstrip output example of our script os.kix (reduced version) is:
code:
            ;CLS
IF (instr("-3.0x-3.1x-3.2x-3.3x-","-"+substr(@kix,1,3)+"x-") <> 0)
IF MessageBox("sorry, your kixtart "+@kix+" release is too old."+CHR(13)+CHR(10)+CHR(13)+CHR(10)+" please upgrade.","KiXtart "+@kix+" info",4112,300)
ENDIF
EXIT
ENDIF
COLOR C+/N
;AT (1,1) " "

$_debug_file="kixdebug.txt" ; - %tmp% directory -
IF (len($_debug_file) <> 0)
IF (substr("%tmp%",len("%tmp%"),1) = "\")
$_debug_file="%tmp%"+$_debug_file
ELSE
$_debug_file="%tmp%\"+$_debug_file
ENDIF
ENDIF
;$_debug_file="c:\kixdebug.txt"
IF RedirectOutput($_debug_file)
ENDIF

? "-"+LCASE(@day)+" "+@date+" "+@time+"- kixtart "+@kix+"/3.19e script starting"
IF (Val(substr(@kix,1,1)) >= 4)
IF (len(@scriptname) <> 0)
" ("+LCASE(@scriptname)+")"
ENDIF
ENDIF
? "-"
IF ("$_debug_already_starting" <> "yes")
? "-curdir: "+LCASE(@curdir)
? "-scriptdir: "+LCASE(@scriptdir)
IF (instr("-4.1x-","-"+substr(@kix,1,3)+"x-") <> 0)
? "-scriptname: "+LCASE(@scriptname)
ENDIF
? "-startdir: "+LCASE(@startdir)
? "-"
? "-userid: "+LCASE(@userid)+"/"+LCASE(@wuserid)
? "-user priv: "+LCASE(@priv)
IF (instr("-4.xx-","-"+substr(@kix,1,2)+"xx-") <> 0)
? "-version: inwin="+@inwin+"/dos="+@dos"/productsuite="+@productsuite+"/producttype="+@producttype"/csd="+LTRIM(RTRIM(@csd))
ELSE
? "-version: inwin="+@inwin+"/dos="+@dos
ENDIF
? "-"
IF (instr("-4.1x-","-"+substr(@kix,1,3)+"x-") <> 0)
? "-"+@cpu+" (memory "+MemorySize()+" MB)"
? "-"
ENDIF
ENDIF

$_debug_temp_name="" ; -format: yyyymmdd_hhmmss.sss_999 scriptname-
IF (instr("-3.6x-","-"+substr(@kix,1,3)+"x-") <> 0) OR (Val(substr(@kix,1,1)) >= 4)
IF (instr("-4.xx-","-"+substr(@kix,1,2)+"xx-") <> 0)
$_debug_temp_name=@msecs
SELECT
CASE (len($_debug_temp_name) = 1)
$_debug_temp_name="00"+$_debug_temp_name
CASE (len($_debug_temp_name) = 2)
$_debug_temp_name="0"+$_debug_temp_name
ENDSELECT
$_debug_temp_name="."+$_debug_temp_name
IF Srnd(@msecs)
ENDIF
SLEEP 0.050
ELSE
IF Srnd((-1)*32767/(substr(@time,7,2)+1))
ENDIF
SLEEP 1
ENDIF
$_debug_temp_name=substr(@date,1,4)+substr(@date,6,2)+substr(@date,9,2)+"_"+substr(@time,1,2)+substr(@time,4,2)+substr(@time,7,2)+$_debug_temp_name+"_"+Rnd()
IF (len($_debug_temp_name) < 25)
$_debug_temp_name=substr($_debug_temp_name+" ",1,25)
ENDIF
IF (instr("-4.1x-","-"+substr(@kix,1,3)+"x-") <> 0)
IF (len(@scriptname) < 12)
$_debug_temp_name=$_debug_temp_name+" "+substr(@scriptname+" ",1,12)
ELSE
$_debug_temp_name=$_debug_temp_name+" "+@scriptname
ENDIF
ENDIF
ENDIF

IF ("$_debug_already_starting" <> "yes")
? "-debug file: "+$_debug_file
? "-debug name: "+LCASE($_debug_temp_name)
ELSE
IF (len($_debug_temp_name) <> 0)
? "-debug: "+LTRIM(RTRIM(LCASE($_debug_temp_name)))+" -> "+$_debug_file
ELSE
? "-debug-file: "+$_debug_file
ENDIF
ENDIF

IF (instr("-3.6x-","-"+substr(@kix,1,3)+"x-") = 0) AND (Val(substr(@kix,1,1)) < 4)
GOTO _debug_starting_point
ENDIF
DIM $_debug_name ; -create local variable-
:_debug_starting_point
$_debug_name=LCASE($_debug_temp_name)
$_debug_already_starting="yes"
? "-"
?"----- start-"+@time+"-"+$_debug_name+"- @error @serror"?

?"- 1-"+@time+"- @error @serror "? $os=""
?"- 2-"+@time+"- @error @serror "? SELECT
?"- 3-"+@time+"- @error @serror "? CASE
(@inwin = 1) AND (@dos = "5.1") ; - Windows XP -
?"- 4-"+@time+"- @error @serror "? $os="XP"
?"- 5-"+@time+"- @error @serror "? CASE
(@inwin = 1) AND (@dos = "5.0") ; - Windows 2000 -
?"- 6-"+@time+"- @error @serror "? $os="W2K"
?"- 7-"+@time+"- @error @serror "? CASE
(@inwin = 1) ; - Windows NT -
?"- 8-"+@time+"- @error @serror "? $os="NT4"
?"- 9-"+@time+"- @error @serror "? CASE
(@inwin <> 1) AND (@dos = "4.90") ; - Windows ME -
?"- 10-"+@time+"- @error @serror "? $os="ME"
?"- 11-"+@time+"- @error @serror "? CASE
(@inwin <> 1) AND (@dos = "4.10") ; - Windows 98 -
?"- 12-"+@time+"- @error @serror "? $os="W98"
?"- 13-"+@time+"- @error @serror "? CASE
(@inwin <> 1) AND (@dos = "4.0") ; - Windows 95 -
?"- 14-"+@time+"- @error @serror "? $os="W95"
?"- 15-"+@time+"- @error @serror "? CASE
1
?"- 16-"+@time+"- @error @serror "? $os="???" ; - undetermined -
?"- 17-"+@time+"- @error @serror "? ENDSELECT
?"- 18-"+@time+"- @error @serror "? ? "$$os "+$os

?"------- end-"+@time+"-"+$_debug_name+"- @error @serror"
? "-"
? "-"+LCASE(@day)+" "+@date+" "+@time+"- kixtart "+@kix+"/3.19e script ending"
IF (Val(substr(@kix,1,1)) >= 4)
IF (len(@scriptname) <> 0)
" ("+LCASE(@scriptname)+")"
ENDIF
ENDIF
? "-"
IF RedirectOutput("CON")
ENDIF
COLOR C+/N
?
? "Informative KIX "+@kix+":"+" debug info see "+CHR(34)+$_debug_file+CHR(34)
IF (Val(substr(@kix,1,1)) >= 4)
IF (len(@scriptname) <> 0)
" ("+LCASE(@scriptname)+")"
ENDIF
ENDIF
IF RedirectOutput($_debug_file)
ENDIF
;($begin)
;
; mon 22-jul-2002 13:30:34 (kix 4.10 vs 3.19e)
;
;Informative KIXSTRIP: no errors found (input=1 output=1 skip=0).
;
;Summary KIXSTRIP: block structures
; - do:until [0:0]
; - for|each:in|to:step|next [0|0:0|0:0|0]
; - function:endfunction [0:0]
; - if:else:endif [0:0:0]
; - select:case:endselect [0:0:0]
; - while:loop [0:0]
;Informative KIXSTRIP: no block_structures found.
;Informative KIXSTRIP: no UDF's found.
;Informative KIXSTRIP: no labels found.
;Summary KIXSTRIP: BREAK CALL DEBUG DISPLAY ENDFUNCTION EXECUTE EXIT FUNCTION GET GETS GOSUB GOTO OLExxx PLAY QUIT RETURN RUN SHELL SLEEP THEN USE
;
;($end)

An output example of kix32 run:
code:
-sunday 2002/04/14 05:32:38- kixtart 4.02/3.04e script starting.
-
-curdir: d:\
-scriptdir:
-startdir: c:\windows
-
-userid: MCA/MCA
-user priv: guest
-version: inwin=2/dos=4.0/productsuite=/producttype=Windows 95/csd=B
-
- start-05:32:39- 0 The operation completed successfully.

- 1-05:32:39- 0 The operation completed successfully.

- 2-05:32:39- 0 The operation completed successfully.

- 14-05:32:39- 0 The operation completed successfully.

- 15-05:32:39- 0 The operation completed successfully.

- 18-05:32:39- 0 The operation completed successfully.

$os W95
- end-05:32:39- 0 The operation completed successfully.

-
-sunday 2002/04/14 05:32:39- kixtart 4.02/3.04e script ending.
-
-

When you still have problems please:
  • put some code on the board.
  • put your logon batch file on the board.
  • put the output of a debugging run on the board.
  • put a DIR list of your NETLOGON directory on the board.
  • put a DIR list of your clients on the board with contains information
    about: KIX32.EXE and KX*.DLL
The translate of your scripts looks like
code:
            ;CLS
IF (instr("-3.0x-3.1x-3.2x-3.3x-","-"+substr(@kix,1,3)+"x-") <> 0)
IF MessageBox("sorry, your kixtart "+@kix+" release is too old."+CHR(13)+CHR(10)+CHR(13)+CHR(10)+" please upgrade.","KiXtart "+@kix+" info",4112,300)
ENDIF
EXIT
ENDIF
COLOR C+/N
;AT (1,1) " "

$_debug_file="kixdebug.txt" ; - %tmp% directory -
IF (len($_debug_file) <> 0)
IF (substr("%tmp%",len("%tmp%"),1) = "\")
$_debug_file="%tmp%"+$_debug_file
ELSE
$_debug_file="%tmp%\"+$_debug_file
ENDIF
ENDIF
;$_debug_file="c:\kixdebug.txt"
IF RedirectOutput($_debug_file)
ENDIF

? "-"+LCASE(@day)+" "+@date+" "+@time+"- kixtart "+@kix+"/3.20e script starting"
IF (Val(substr(@kix,1,1)) >= 4)
IF (len(@scriptname) <> 0)
" ("+LCASE(@scriptname)+")"
ENDIF
ENDIF
? "-"
IF ("$_debug_already_starting" <> "yes")
? "-curdir: "+LCASE(@curdir)
? "-scriptdir: "+LCASE(@scriptdir)
IF (instr("-4.1x-","-"+substr(@kix,1,3)+"x-") <> 0)
? "-scriptname: "+LCASE(@scriptname)
ENDIF
? "-startdir: "+LCASE(@startdir)
? "-"
? "-userid: "+LCASE(@userid)+"/"+LCASE(@wuserid)
? "-user priv: "+LCASE(@priv)
IF (instr("-4.xx-","-"+substr(@kix,1,2)+"xx-") <> 0)
? "-version: inwin="+@inwin+"/dos="+@dos+"/productsuite="+@productsuite+"/producttype="+@producttype+"/csd="+LTRIM(RTRIM(@csd))
ELSE
? "-version: inwin="+@inwin+"/dos="+@dos
ENDIF
? "-"
IF (instr("-4.1x-","-"+substr(@kix,1,3)+"x-") <> 0)
? "-"+@cpu+" (memory "+MemorySize()+" MB)"
? "-"
ENDIF
ENDIF

$_debug_temp_name="" ; -format: yyyymmdd_hhmmss.sss_999 scriptname-
IF (instr("-3.6x-","-"+substr(@kix,1,3)+"x-") <> 0) OR (Val(substr(@kix,1,1)) >= 4)
IF (instr("-4.xx-","-"+substr(@kix,1,2)+"xx-") <> 0)
$_debug_temp_name=@msecs
SELECT
CASE (len($_debug_temp_name) = 1)
$_debug_temp_name="00"+$_debug_temp_name
CASE (len($_debug_temp_name) = 2)
$_debug_temp_name="0"+$_debug_temp_name
ENDSELECT
$_debug_temp_name="."+$_debug_temp_name
IF Srnd(@msecs)
ENDIF
SLEEP 0.050
ELSE
IF Srnd((-1)*32767/(substr(@time,7,2)+1))
ENDIF
SLEEP 1
ENDIF
$_debug_temp_name=substr(@date,1,4)+substr(@date,6,2)+substr(@date,9,2)+"_"+substr(@time,1,2)+substr(@time,4,2)+substr(@time,7,2)+$_debug_temp_name+"_"+Rnd()
IF (len($_debug_temp_name) < 25)
$_debug_temp_name=substr($_debug_temp_name+" ",1,25)
ENDIF
IF (instr("-4.1x-","-"+substr(@kix,1,3)+"x-") <> 0)
IF (len(@scriptname) < 12)
$_debug_temp_name=$_debug_temp_name+" "+substr(@scriptname+" ",1,12)
ELSE
$_debug_temp_name=$_debug_temp_name+" "+@scriptname
ENDIF
ENDIF
ENDIF

IF ("$_debug_already_starting" <> "yes")
? "-debug file: "+$_debug_file
? "-debug name: "+LCASE($_debug_temp_name)
ELSE
IF (len($_debug_temp_name) <> 0)
? "-debug: "+LTRIM(RTRIM(LCASE($_debug_temp_name)))+" -> "+$_debug_file
ELSE
? "-debug-file: "+$_debug_file
ENDIF
ENDIF

IF (instr("-3.6x-","-"+substr(@kix,1,3)+"x-") = 0) AND (Val(substr(@kix,1,1)) < 4)
GOTO _debug_starting_point
ENDIF
DIM $_debug_name ; -create local variable-
:_debug_starting_point
$_debug_name=LCASE($_debug_temp_name)
$_debug_already_starting="yes"
? "-"
?"----- start-"+@time+"-"+$_debug_name+"- @error @serror"?

?"- 1-"+@time+"-"+$_debug_name+"- @error @serror"? ? 'Login Script: v'+$scriptversion+' running under KiXtart v'+@kix
?"- 2-"+@time+"-"+$_debug_name+"- @error @serror"? ? 'Network Type: '+$networkconnection
?"- 3-"+@time+"-"+$_debug_name+"- @error @serror"? ? 'User ID: '+@userid
?"- 4-"+@time+"-"+$_debug_name+"- @error @serror"? ? 'Full Name: '+@fullname
?"- 5-"+@time+"-"+$_debug_name+"- @error @serror"? ? 'Privilege: '+@priv
?"- 6-"+@time+"-"+$_debug_name+"- @error @serror"? ? 'ComputerName: '+@wksta
?"- 7-"+@time+"-"+$_debug_name+"- @error @serror"? ? 'ComputerDomain: '+@domain
?"- 8-"+@time+"-"+$_debug_name+"- @error @serror"? ? 'LogonDomain: '+@ldomain
?"- 9-"+@time+"-"+$_debug_name+"- @error @serror"? ? 'Logon Server: '+@lserver
?"- 10-"+@time+"-"+$_debug_name+"- @error @serror"? ? 'OS Version: '+$os_short+' '+$os_role+' SP'+$os_sp
?"- 11-"+@time+"-"+$_debug_name+"- @error @serror"? ? 'Site: '+$site
?"- 12-"+@time+"-"+$_debug_name+"- @error @serror"?

?"------- end-"+@time+"-"+$_debug_name+"- @error @serror"
? "-"
? "-"+LCASE(@day)+" "+@date+" "+@time+"- kixtart "+@kix+"/3.20e script ending"
IF (Val(substr(@kix,1,1)) >= 4)
IF (len(@scriptname) <> 0)
" ("+LCASE(@scriptname)+")"
ENDIF
ENDIF
? "-"
IF RedirectOutput("CON")
ENDIF
COLOR C+/N
?
? "Informative KIX "+@kix+":"+" debug info see "+CHR(34)+$_debug_file+CHR(34)
IF (Val(substr(@kix,1,1)) >= 4)
IF (len(@scriptname) <> 0)
" ("+LCASE(@scriptname)+")"
ENDIF
ENDIF
IF RedirectOutput($_debug_file)
ENDIF
;($begin)
;
; tue 03-dec-2002 17:40:39 (kix 4.10 vs 3.20e)
;
;Informative KIXSTRIP: no errors found (input=12 output=12 skip=0).
;
;Informative KIXSTRIP: no block_structures found.
;Informative KIXSTRIP: no UDF's found.
;Informative KIXSTRIP: no labels found.
;Summary KIXSTRIP: BREAK CALL DEBUG DISPLAY ENDFUNCTION EXECUTE EXIT FUNCTION GET GETS GOSUB GOTO OLExxx PLAY QUIT RETURN RUN SHELL SLEEP THEN USE
;
;($end)

Greetings.
btw: it is only some additional information about how you can debug your script.

btw: with kixstrip ? you get a summary of possible options.
The result will be something like this:
code:
 Kixstrip 4.10 (vs 3.19e)     (c) MCA - scripting@wanadoo.nl - 2000, 2001, 2002
------------------------------------------------------------------------------
kixstrip [input] [output]
/Block_Check or /BC /Combine /Debug
/Headers /License /License=[var]
/Performance /Print /Progress
/Show_Errors or /SE /Show_Structure or /SS /Translate
/TAB=[num] (def: 6)
default: /Combine /Headers /License (other options are negative)
other: - options with prefix "/No" will be ignored. f.e. /NoDebug /NoTab
- /Block_Check /Tab=2 (auto set: /NoCombine /NoLicense /Print )
/Debug (auto set: /NoLicense /Print /Show_Errors )
- /Block_Check (reformat kixtart code inc. block structure )
/Combine (combine lines to one line )
/Debug (insert "line numbers" for each printed line )
/Headers (insert summary report as footer )
/Performance (insert "indicator" for each executed line)
/Print (do not remove print statements )
/Progress (insert "indicator" for each printed line )
/Show_Errors (insert error messages in output file )
/Show_Structure (insert block structures in output file )
/Translate (convert keywords to upper/lower-case )
examples - kixstrip test.kix test.out /Block_Check /Debug
- kixstrip test.kix test.out /Performance /Show_Structure

btw: Symbol  - on our homepage has been linked to related http://kixtart.org topic.
_________________________
email scripting@wanadoo.nl homepage scripting@wanadoo.nl | Links | Summary of Site Site KiXforms FAQ kixtart.org library collection mirror MCA | FAQ & UDF help file UDF kixtart.org library collection mirror MCA | mirror USA | mirror europe UDF scriptlogic library collection UDFs | mirror MCA

Top
Page 1 of 1 1


Moderator:  Jochen, Allen, Radimus, Glenn Barnas, ShaneEP, Ruud van Velsen, Arend_, Mart 
Hop to:
Shout Box

Who's Online
0 registered and 1183 anonymous users online.
Newest Members
batdk82, StuTheCoder, M_Moore, BeeEm, min_seow
17885 Registered Users

Generated in 0.056 seconds in which 0.026 seconds were spent on a total of 12 queries. Zlib compression enabled.

Search the board with:
superb Board Search
or try with google:
Google
Web kixtart.org