初めまして、ABではじめてプログラムに挑戦しようとしている、半世紀近く生きているおじさんです。
よろしくお願いします。
ご質問は、このサイトのプログラミング講座のリファレンス→ステートメント→入出力(ファイル)→Fieldの中にある、サンプルログラムについてです。
0123456789の内容の「read.txt」を作成し、下記のサンプルプログラムを打ち込んでコンパイルした後実行しましたが、「write.txt」には、10バイト分のスペースがあるだけで、0123456789とコピーされていません。
おそらく私が何かをしでかしている(入力に何かが足りなかったりとか)と思うのですが、どこが悪かったのかわかりません。
正常にコピーできるようにするには、どうしたらいいのでしょうか。
また、下記の方法では、何メガバイトくらいのファイルのコピーが可能でしょうか。
初歩的な質問で、この掲示板にはふさわしくないかもしれませんが、よろしくお願いいたします。
サンプル
Dim buffer As String
Open "read.txt" as #1
Open "write.txt" as #2
Field #1,10
Field #2,10
Get #1,1,buffer
Put #2,1,buffer
Close #1
Close #2
テキストファイルのコピーについて
Re: テキストファイルのコピーについて
こちらで試してみましたが、正常にコピーされました.
Win2000 + AB Ver.4.23.00
もしActiveBasicのバージョンが上記と違う場合は、
最新版(現在Ver.4.23.20)で試してみてください。
もしくは、一度閉じてから再度開いて実行するなどしてみてください。
提示されたコード自体はあってますので、コンパイラか環境が原因と思われます。
なお、単純にファイルをコピーするだけであれば、CopyFile()が便利です。コピーに成功すればTRUEが、失敗すればFALSEが返ります(rに代入されます)。
最後のFALSEをTRUEに変えると、上書きしなくなります。
Win2000 + AB Ver.4.23.00
もしActiveBasicのバージョンが上記と違う場合は、
最新版(現在Ver.4.23.20)で試してみてください。
もしくは、一度閉じてから再度開いて実行するなどしてみてください。
提示されたコード自体はあってますので、コンパイラか環境が原因と思われます。
最近は試してないので分かりませんが、以前は4KBあたりで失敗した気がします。五十肩さん さんが書きました:> また、下記の方法では、何メガバイトくらいのファイルのコピーが可能でしょうか。
なお、単純にファイルをコピーするだけであれば、CopyFile()が便利です。
コード: 全て選択
Dim r As Long
r = CopyFile( "read.txt", "write.txt", FALSE ) '常に上書きコピーする
最後のFALSEをTRUEに変えると、上書きしなくなります。
テキストファイルのコピーについて
淡幻星 様
早速ご回答いただきありがとうございました。
ActiveBasic Ver4.23.00をダウンロードさせていただき、無事解決することができました。
また、ほかのコピー方法も教えてくださり、重ね重ねありがとうございました。
早速ご回答いただきありがとうございました。
ActiveBasic Ver4.23.00をダウンロードさせていただき、無事解決することができました。
また、ほかのコピー方法も教えてくださり、重ね重ねありがとうございました。