|
Option Explicit
Private Sub cmdOpenFile_Click()
On Error GoTo ErrHandler
With CommonDialog1
.CancelError = True
.DialogTitle = "VB-fun - Datei öffnen"
.InitDir = App.Path
.Flags = cdlOFNFileMustExist Or cdlOFNHideReadOnly
.Filter = "Text-Dateien (*.txt)|*.txt"
.ShowOpen
GetFileStatistic .FileName
End With
On Error GoTo 0
Exit Sub
ErrHandler:
Exit Sub
End Sub
Private Sub GetFileStatistic(ByVal vsFileName As String)
Dim FN As Integer
Dim strFileText As String
Dim astrData() As String
Dim strTemp As String
Screen.MousePointer = vbHourglass
'Dateiname
lblFileName.Caption = vsFileName
'Datei-Größe
lblSize.Caption = _
Format$(FileLen(vsFileName), "#,##0") & " Bytes"
'Datei lesen
FN = FreeFile()
Open vsFileName For Binary Access Read As #FN
strTemp = Space(LOF(FN))
Get #FN, , strTemp
Close #FN
strFileText = strTemp
'Anzahl Zeilen ermitteln
astrData() = Split(strFileText, vbCrLf)
lblLines.Caption = Format$(UBound(astrData) + 1, "#,##0")
'Anzahl Wörter ermitteln
strTemp = Replace(strFileText, vbCrLf, " ")
Do Until InStr(1, strTemp, " ") = 0
strTemp = Replace(strTemp, " ", " ")
Loop
astrData() = Split(strTemp, " ")
lblWords.Caption = Format$(UBound(astrData) + 1, "#,##0")
'Anzahl Zeichen ermitteln
'1. Inkl. Absatzschaltungen und Leerzeichen
lblChars1.Caption = Format$(Len(strFileText), "#,##0")
'2. Ohne Absatzschaltungen / mit Leerzeichen
strTemp = Replace(strFileText, vbCrLf, "")
lblChars2.Caption = Format$(Len(strTemp), "#,##0")
'3. Ohne Absatzschaltungen / ohne Leerzeichen
strTemp = Replace(strFileText, vbCrLf, "")
Do Until InStr(1, strTemp, " ") = 0
strTemp = Replace(strTemp, " ", "")
Loop
lblChars3.Caption = Format$(Len(strTemp), "#,##0")
Erase astrData()
Screen.MousePointer = vbDefault
End Sub
|
|