Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hur kan man skapa och redigera en txt fil på VB?

Postades av 2005-03-01 11:29:39 - Tony Truong, i forum visual basic - allmänt, Tråden har 7 Kommentarer och lästs av 841 personer

Hej igen!
Jag har en program som loggar fel, tanken var först att kunna logga felmeddelande i XML filer men det verkar vara lite klydd så jag tänkte logga felmeddelande i en txt fil istället.
Den ska se ut följande:

[Datum][Felmeddelande]

Varje gång ett fel inträffar så ska filen se ut så efter loggandet:

20050201 10:23:22 inget internet förbindelse
20050202 10:23:20 inget internet förbindelse
.
.
.

Frågan är nu: Hur skapar man ett txt fil? Hur kan man öppna txt filen och redigera det?

MVH
Tony


Svara

Sv: Hur kan man skapa och redigera en txt fil på VB?

Postades av 2005-03-01 12:09:22 - Johan Svensson

Hej,

Bifogar en liten klass som jag brukar använda. Finns säkert synpunkter men denna funkar för mig. t.ex. en sak man skulle ändra är att köra med FreeFile istället för fasta filnummer. Det finns andra förbättringsförslag om man har lite tid över... :-)

<code>
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" ( _
ByVal lpBuffer As String, _
nSize As Long _
) As Long

Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" ( _
ByVal lpBuffer As String, _
nSize As Long _
) As Long

Public Function DumpError( _
ByVal GlobalPath As String, _
ByVal sError As String, _
ByVal sSource As String _
) As Boolean

Dim sComputerName As String
Dim sUserName As String
Dim sPrefix As String
Dim bOK As Boolean
Dim sLogText As String

'Prepare execution
On Error GoTo Err_DE
bOK = True

'Prepare global prefix data
'-- Computer name
sComputerName = Space$(255)
GetComputerName sComputerName, 254
sComputerName = Trim$(sComputerName)
sComputerName = Replace$(sComputerName, Chr$(0), "")
'-- User name
sUserName = Space$(255)
GetUserName sUserName, 254
sUserName = Trim$(sUserName)
sUserName = Replace$(sUserName, Chr$(0), "")
'-- And compile the full string
sPrefix = Format$(Now, "HH:MM:SS") & _
" [" & App.EXEName & " v. " & App.Major & "." & App.Minor & "." & App.Revision & "]" & _
" <" & sUserName & "@" & sComputerName & ">" & _
" (" & App.hInstance & ":" & App.ThreadID & ")" & _
" "

'Write log
sLogText = "Error source: " & sSource & ";" & sError
bOK = WriteGlobalLog(GlobalPath, sPrefix, sLogText)
If Not bOK Then bOK = WriteLocalLog(sPrefix, sLogText)
If Not bOK Then bOK = WriteEventLog(sPrefix, sLogText)

'Return result
DumpError = bOK
Exit Function

Err_DE:
DumpError = False
End Function

Private Function WriteGlobalLog( _
ByVal GlobalPath As String, _
ByVal Prefix As String, _
ByVal Message As String _
) As Boolean

Dim sRows() As String
Dim sFileName
Dim iLoop As Integer

'Handle errors
On Error GoTo Err_WGL

'Prepare output data
sRows = Split(Message, ";")

'Open log file
sFileName = GlobalPath & "\" & App.EXEName & " " & Format$(Now, "YYYY-MM-DD") & " error log.txt"
Open sFileName For Append Access Write Shared As #199

'Write log data
For iLoop = LBound(sRows) To UBound(sRows)
Print #199, Prefix & sRows(iLoop)
Next

'Close log file
Close #199

'Return result
WriteGlobalLog = True
Exit Function

Err_WGL:
WriteGlobalLog = False
End Function

Private Function WriteLocalLog( _
ByVal Prefix As String, _
ByVal Message As String _
) As Boolean

Dim sRows() As String
Dim sFileName
Dim iLoop As Integer

'Handle errors
On Error GoTo Err_WLL

'Prepare output data
sRows = Split(Message, ";")

'Open log file
sFileName = App.Path & "\" & App.EXEName & " " & Format$(Now, "YYYY-MM-DD") & " error log.txt"
Open sFileName For Append Access Write Shared As #99

'Write log data
For iLoop = LBound(sRows) To UBound(sRows)
Print #99, Prefix & sRows(iLoop)
Next

'Close log file
Close #99

'Return result
WriteLocalLog = True
Exit Function

Err_WLL:
WriteLocalLog = False
End Function

Private Function WriteEventLog( _
ByVal Prefix As String, _
ByVal Message As String _
) As Boolean

Dim sRows() As String
Dim iLoop As Integer

'Handle errors
On Error GoTo Err_WEL

'Prepare output data
App.StartLogging "", vbLogToNT
sRows = Split(Message, ";")

'Write log data
For iLoop = LBound(sRows) To UBound(sRows)
App.LogEvent Prefix & sRows(iLoop), vbLogEventTypeError
Next

'Stop logging
App.StartLogging "", vbLogOff

'Return result
WriteEventLog = True
Exit Function

Err_WEL:
WriteEventLog = False
End Function
</code>


Lycka till!

// Johan


Svara

Sv: Hur kan man skapa och redigera en txt fil på VB?

Postades av 2005-03-01 14:05:23 - Sven Åke Persson

Jesus ! så mycket kod för en så enkel sak.

Ingen kritik men ! Mycket skrik för lite ull,sa käringen när hon klippte grisen"


Svara

Sv:Hur kan man skapa och redigera en txt fil på VB?

Postades av 2005-03-01 15:24:25 - Johan Svensson

SvenPon,

Det är väl det som är skillnaden på dig och mig. Jag ser gärna att loggning har förutsättningar attt lyckas och därför implementerar flera alternativa metoder ifall en skulle misslyckas, t.ex. p.g.a. nätverksproblem eller fulla hårddiskar. Men det är klart att man kan göra detta mycket mindre, men då blir det också med mindre funktionalitet och stabilitet.

Det är valfritt hur mycket man vill använda, så det står dig och andra fritt att klippa bort det man anser sig inte behöva.

// Johan


Svara

Sv: Hur kan man skapa och redigera en txt fil på VB?

Postades av 2005-03-02 09:49:01 - Tony Truong

Tack Johan, jag ska ta o testa det nu =)

/Tony


Svara

Sv: Hur kan man skapa och redigera en txt fil på VB?

Postades av 2005-03-02 12:27:11 - Tony Truong

writeLocalLog fungerar hur fint som helst, tack!

Jag undrar bara var jag kan hitta resultatet på writeEventLog?

MVH
Tony


Svara

Sv:Hur kan man skapa och redigera en txt fil på VB?

Postades av 2005-03-02 12:31:42 - Johan Svensson

Hej,

Tanken med denna klassen är att den i första hand skall logga till en nätverksenhet (ifall man har flera datorer som kör samma komponent så skall man slippa springa runt och leta loggar på alla datorer), därav funktionen WriteGlobalLog.

WriteLocalLog anropas bara om den föregående misslyckas och för att inte tappa loggdata så är det bättre att logga lokalt, så man kan ju tyvärr tvingas springa runt på de olika burkarna om man har nätverksstrul.

Om nu dessutom datadisken är full (förutsätter att man har en datadisk för program och en systemdisk med os) så misslyckas ju även WriteLocalLog och då anropas WriteEventLog som då istället skriver till Windows event log. Denna hittar du via kontrollpanelen eller möjligtvis via MMC (Microsoft Managemnt Console) lite beroende på Windowsversion.

Hoppas detta var svaer på din fråga.

// Johan


Svara

Sv: Hur kan man skapa och redigera en txt fil på VB?

Postades av 2005-03-02 13:20:32 - Tony Truong

Tack för hjälpen =)

/Tony


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 614
27 953
271 709
404
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies