[win2kserver]kixstart.kix naar txt-bestand schrijven

Pagina: 1
Acties:
  • 63 views sinds 30-01-2008

  • killerflappy
  • Registratie: Februari 2002
  • Laatst online: 29-08-2021
Met het onderstaande bestand schrijft kix23.exe naar het bestandjes logfile.txt een regel:

$logfile = "\\server\logon\logfile.txt"
WriteProfileString( $logfile,
"logtimes","LOGIN,@fullname,@mdayno,@monthno,@year", @time )
Endif


Wanneer ik met een naam (bv, Dennis kist) inlog schrijft het bestandje de onderstannde regel in logfile.txt:

LOGIN Dennis kist, 16, 6, 2003 13:45:42

Wanneer ik uitlog en met een andere naam inlog voegd kix een regel toe aan het txt-bestand.
Log ik weer met Dennis kist in dan overschrijft hij de vorige regel van Dennis Kist.
Dit is niet de bedoeling.

Is hier een eenvoudige oplossing voor?

  • Senser
  • Registratie: Juni 2002
  • Laatst online: 15:18
WriteProfileString wordt gebruikt om INI-files te vullen en niet om logfiles mee aan te maken!

Probeer onderstaand stukje script maar eens, hiermee moet je het wel kunnen oplossen. :)

--
$enter = Chr(13) + Chr(10)
$LogFileName = "c:\temp\test.log"
$LogFileNum = 3
$LogLine = "dit is een testregel" + $enter
$tmp = Open($LogFileNum, "$LogFileName",5)
$tmp = WriteLine($LogFileNum,$LogLine)
$tmp = Close($LogFileNum)

[ Voor 9% gewijzigd door Senser op 17-06-2003 14:45 . Reden: $enter var toegevoegd ]


  • Equator
  • Registratie: April 2001
  • Laatst online: 11:49

Equator

Crew Council

🦺#Rodekruis #whisky #barista

Wat Senser probeert te vertellen is dat je de $enter variabele ook weg moet schrijven..

code:
1
2
3
4
5
$enter = Chr(13) + Chr(10)
$logfile = "\\server\logon\logfile.txt"
WriteProfileString( $logfile,
"logtimes","LOGIN,@fullname,@mdayno,@monthno,@year", @time, $enter )
Endif

Character 13 = Cariage Return
Character 10 = Line Feed

  • Senser
  • Registratie: Juni 2002
  • Laatst online: 15:18
Niet helemaal, hij moet in plaats van de functie WriteProfileString (is voor INI-files) de functie WriteLine gebruiken. Althans, als hij een overzicht van de de logons van een bepaalde user over meerdere dagen wil bewaren..

Voor het gemak zou je evt. per user een logfile kunnen maken, iets als:

$Logfile = "LOGON_" + @USERID + ".LOG"

  • killerflappy
  • Registratie: Februari 2002
  • Laatst online: 29-08-2021
klinkt goed. Maar per user doe ik niet.
Ik importeer het bestand in Excel en maak daar iets mooi van.

  • Senser
  • Registratie: Juni 2002
  • Laatst online: 15:18
In dat geval kun je hem beter als CSV bestand wegschrijven. Dan kun je hem zo importeren in Excel. Even extensie veranderen in .CSV en tussen alle records een ";" zetten moet volgens mij wel werken.

  • bolke
  • Registratie: Oktober 2000
  • Laatst online: 08-06 11:47

bolke

Klikt nu met een Canon R

Je moet het LOGON even veranderen. Als deze steeds hetzelfde is dan overschrijft hij het. Met hetonderstaande geeft hij de tijd erbij. Hierdoor maakt hij steeds een nieuwe regel. (Alleen als er binnen de seconden wordt ingelog overschrijft hij het).

code:
1
2
3
4
$logfile = "\\server\logon\logfile.txt"
WriteProfileString( $logfile,
"logtimes","LOGIN_"+ @time",@fullname,@mdayno,@monthno,@year" )
Endif

[ Voor 31% gewijzigd door bolke op 18-06-2003 08:50 ]

http://www.hroling.nl


  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 17-08 21:12

Koffie

Koffiebierbrouwer

Braaimeneer

Simpel, gewoon ff naar een TXT writen dus, dit staat toch echt allemaal in de helpfile van kix hoor.

code:
1
2
3
4
5
6
7
8
$begin = "@WKSTA|@IPADDRESS0|@USERID (@FULLNAME)|@DATE @TIME"

[snip]

;Write Main logfile
    OPEN (1, "\\server\logging\logon.log", 5)
    WriteLine( 1, "$begin" + Chr(13) + Chr(10) )
    CLOSE (1)

Braaikamer - Smoke&BBQ

Pagina: 1

Dit topic is gesloten.