HDディスクのあるフォルダ中のファイルを
他のフォルダにコピーする簡単な方法を教えて下さい。
使用言語はC++Builder5.0です。

A 回答 (2件)

SHFileOperationというAPIはどうですか?

    • good
    • 0

単純に1ファイルをコピーするならCopyFile()が使えます。



フォルダを丸ごとコピーするならちょっと手間です。
(フォルダにフォルダが含まれる可能性がある)
FineFirst(),FindNext(),FindClose()を使って元フォルダ内のファイルを一覧し、CopyFile()でコピーします。

使用するクラスライブラリが指定されていないのでWin32APIで考えました。
C++ならVCL,MFCなどを使えばもっと簡単にできます。
CならANSI標準ライブラリにファイルコピーは無いのでやはりCopyFile()でしょう。

この回答への補足

御返事ありがとうございました。
使用ライブラリはVCLです(正しいでしょうか…)。
しかし、このような情報はどのようにして手に入れられる
のですか。
C++Builder5.0のヘルプで「コピー」「ファイル」
「ファイルコピー」等のキーワードで検索しても一向に
見つけることができないのですが…。
また、C++Builderの本も5冊ほど持っていますが、
見つけることができませんでした。

補足日時:2001/03/23 21:49
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QBorland C++ Builderで簡単なC言語プログラムの作成・実行

Borland C++ Builderで簡単なCのプログラムを作り実行させるにはどうしたらよいですか?
DOS窓上でコンパイルするのではなく、Borland C++ Builderのメニューから行いたいのです。
一応、「ファイル→新規作成→その他→Cファイル」でCのファイルは作成できるのですが、このファイルを「プロジェクト→ユニットのコンパイル」でコンパイルすることができません。
Formオブジェクト(?)を作成しておくとコンパイルできます。
Formは特に必要ないので、FormなしでCのファイルだけをコンパイルしたいのです。

DOS窓でのコンパイル・実行はできます。

事情があってBorland C++ Builderを使わなくてはなりませんので、他のIDEはこの際全く解決になりません。

よろしくお願いします。

Aベストアンサー

プロジェクトを[コンソールアプリケーション]で作成して置く必要があります。

TurboC++での例。
画面は多少違いますがC++Builderでも同じです。
http://www.asahi-net.or.jp/~qb3k-kwsk/rpg/program/tool/tcpp/tcpp.html

QBorlandC++Builder5.0でリンカエラー

現在A/D変換ボードの制御をしようとしています。
ボードのインストールも行なったのですが、以下のエラーが出て困っています。

外部シンボル 'AdOpen' が未解決(C:\PROGRAM FILES\BORLAND\CBUILDER5\PROJECTS\MAG\MAIN.OBJ が参照)と出てしまいます。

mainはシンプルなのですが...
void __fastcall TForm1::OpenDevClick(TObject*Sender)
{
device_handle = AdOpen("FBIAD1");
if(device_handle == INVALID_HANDLE_VALUE){
ShowMessage("Err : デバイスのオープンに失敗");
return;
}
}

そもそもこのエラーはなぜ出るのですか?

Aベストアンサー

> [リンカ エラー]'FBIAD.LIB' contains invalid OMF record, type 0x21 (possibly COFF)
>
> さっぱりわかりません(^^;)

コンパイルしたもの(.objなど)には、決められたフォーマットが幾つかあって、
それが期待したのと違う(OMF というフォーマットで読もうとしてるんだけど、
タイプが違う、もしかしたら COFF というフォーマットかも)ということみたい。

多分 VC++ だったらいけると思う。

もしくは、変換ツール(coff2omf みたいな)が BC++ についてるとか。

A/D変換ボード用のライブラリは、DLL で提供されているものなんでしょうか?
であれば、implib で、インポートライブラリを DLL から作り直しましょう。

QC++BuilderのMemoコンポーネントについて

現在Memoコンポーネントに実行結果を出力するプログラムを作っているのですが、

Memoコンポーネントの編集を不可にすることはできるのでしょうか。

また、MemoコンポーネントにあらかじめLinesで書き込んでおいた文字列を選び、リンクのようなものを貼り、違うフォームを開くなんてことはできるのでしょうか。

初心者で簡単な質問かもしれませんが、よろしかったらアドバイスお願い致します。

Aベストアンサー

Memoコンポーネントを編集不可にするには
ReadOnlyというプロパティをtrueにします。

QVC++又はC++Builderでもいいのですが

VC++又はC++Builderでもいいのですが
マウスをドラッグしながら移動すると
範囲を表示する線がでますが
あれはどうやっているのでしょうか?
わかりにくくてすいませんが
よろしくお願いいたします

Aベストアンサー

DrawFocusRectかな?

マウスカーソルが移動されるたびに、以前の座標と新しい座標でこのAPIを呼び出しているんだと思います。

QC言語(UNIX)からVB・VC・C++に移植したことあるかた

C言語(UNIX)からVB・VC・C++に移植した
ことあるかたいませんか?
ある方がいらっしゃいましたら、移行の仕方等教えて下さい。その際注意点等ありましたらお願いします

Aベストアンサー

GUIを持ってるか否かで違います。
またGUIと内部処理が切り離されている場合なら、
GUIを持っていても移植は楽でしょう。

ソースを良く吟味して、

・OSに依存する部分・しない部分
・互換ライブラリのある部分・ない部分
・ライブラリに依存する部分・しない部分

に分けてください。
VCへの移植はOSに依存する部分を入れ替えてしまうことです。
DLLにしておけば、VBからも場合によっては使えるかも知れません。

非常に上手くこの作業を行えば、VC++のフレームワークで
ごく簡単にGUIを追加・移植出来るかもしれません。
無理にGUIにする必要ないならいいんですが。

C++へ移行するのに何か意味があるとお考えでしょうか?
保守の面で意味があるなら、仕様を再度分析した上で、
詳細設計の書き直しが必要です。


人気Q&Aランキング

おすすめ情報