VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

リンク元へ戻ります。 ファイル入出力関係のメニュー
1.テキストファイル読み書き色々
2.CSV ファイルの読み書き色々
3.固定長テキストファイルの読込
4.ランダムファイルの簡単なサンプル
5.FileSystemObject の TextStream オブジェクトを使っての読み書き色々
6.ADOを使ってCSVファイルをMSHFlexGridに表示する
7.テキストファイル同士の結合
8.テキストファイルの最後の数行を取得する
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.その他、当サイト内に掲載のファイル入出力に関するサンプル


8.テキストファイルの最後の数行を取得する
1.テキストファイルの最後の数行を取得する ゆう(U)さん投稿分
2.
3.
4. 
5. 
6. 

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6)
Option :[Option Explicit]
参照設定:
使用 API:
なし
その他 :
    :
このページのトップへ移動します。 1.テキストファイルの最後の数行を取得する ゆう(U)さん投稿分

Option Explicit   'SampleNo=075 WindowsXP VB6.0(SP5) 2002.05.16
'======================================================
'テキストファイルの最後の数行を取得する fReadLastText
'======================================================
' result = fReadLastText(FileName, [BuffLines], [MaxLength])
' 引数 FileName :テキストファイルのパス
'    BuffLines:取出す行数   (デフォルト:1)
'    MaxLength:最大レコード長(Byte)(デフォルト:100)
' 戻値 result :Variant型内部配列(文字列:1次元)
'------------------------------------------------------
'エラー処理はしていません(既存のファイルで読込み可のみ)
'------------------------------------------------------
Private Function fReadLastText(ByRef FileName As String, _
                    Optional ByVal BuffLines _
                    As Long = 1&, _
                    Optional ByVal MaxLength _
                    As Long = 100&) As Variant
  Dim strTemp()   As String
  Dim strReturn()  As String
  Dim intFileNumber As Integer
  Dim strFileName  As String
  Dim i As Long, j As Long, k As Long

  strFileName = FileName
  ReDim strTemp(0& To BuffLines - 1&)
  ReDim strReturn(0& To BuffLines - 1&)
  intFileNumber = FreeFile
  Open strFileName For Input As #intFileNumber
  i = LOF(intFileNumber) - ((BuffLines + 1&) * MaxLength)
  If i > 0& Then
    Seek #intFileNumber, i
  End If
  Do Until EOF(intFileNumber)
    j = j + 1&
    Line Input #intFileNumber, strTemp(j Mod BuffLines)
  Loop
  Close #intFileNumber

  For i = 1& To BuffLines
    strReturn(k) = strTemp((i + j) Mod BuffLines)
    k = k + 1
  Next i

  fReadLastText = strReturn
End Function


Private Sub Command1_Click()
  Dim varTemp As Variant
  Dim i    As Long
  Dim gn   As Long
  Text1.Text = ""
  gn = CLng(Text2.Text)
  varTemp = fReadLastText("Test.txt", gn, 100&)
  For i = LBound(varTemp) To UBound(varTemp)
    Text1.Text = Text1.Text & varTemp(i) & vbCrLf
  Next i
End Sub


Private Sub Text2_GotFocus()
  Text2.SelStart = 0
  Text2.SelLength = Len(Text2.Text)
End Sub

このページのトップへ移動します。 2.


このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5.


このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)





このページのトップへ移動します。