ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月28日(木) 23:20

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 1 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2005年11月20日(日) 07:45 
オフライン

登録日時: 2005年7月19日(火) 07:02
記事: 183
お住まい: 宮城県
多くの方が既にご自身で実装してそうですが、ファイル読み書きクラスを投稿してみます。

ReadFile(), WriteFile() を使う際の、
いちいち必要な変数を定義する面倒&バッファを確保する手間から解放されます。
・・・後者はちょっと語弊があるかも?(^^;
※Ascファイル(.txtとか.htmlとか)が対象です。
使い方はこんな感じです。
コード:
Dim rw As WsFileReadWrite
Dim r As Long
Dim p As BytePtr

'ファイルを読み込む
r = rw.OpenFile( "FilePath" )
p = rw.GetContents() '読み込んだファイル内容のポインタを返す(使用は推奨しませんが)
debug

'必要なバイト数を確保して、
'読み込んだファイル内容をコピーする
p = calloc( rw.WhatByte() + 1 )
r = rw.CpyContents( p )
debug

'気になるなら、読み込んだ内容をメモリから破棄
r = rw.CloseFile()
debug

'ファイルへの書き込み。
r = rw.SetContents( "hogetest" )
r = rw.WriteContents( "FilePath" )
debug
End
GetContents(), WhatByte() 以外の返り値は、成功ならTRUE、
失敗ならFALSE or NULLです。


11/20 20:34修正しました。
「CreateRead(), CreateWrite() を使う際の、」って書いてました。
なんですかそれ・・・(汗)。徹夜明けだったのでボケてたみたいです( ̄▽ ̄;)

06/24 13:12修正しました。
書き込み先のファイルがFILE_ATTRIBUTE_NORMAL以外の属性のとき
エラーしてました。修正しました。


(いつものように?)蛇足。
無性にクラスを使ってみたくなったから組んだ、それが全てだったり(^^。
ファイル読み書き周りで、バッファの解放を忘れていたのにずっと気付かず、凹んでいるからかもしれません┐(´ー`)┌


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 1 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[11人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean