ストリーム間でのデータのコピー

提供: Appmethod Topics
移動先: 案内検索

ストリームの使用 への移動


このアプリケーションを作成する手順は以下のとおりです。

  1. ボタン コントロールの付いたフォームを作成し、プロジェクトを保存します。
  2. テキスト ファイルを作成して、それをデフォルトのプロジェクト ディレクトリにコピーおよび保存します。
  3. 文字列を読み取ってファイルに書き込むコードを作成します。
  4. アプリケーションを実行します。

ボタン コントロールの付いたフォームを作成する

  1. [ファイル|新規作成|その他...|Object Pascal プロジェクト]を選択し、[マルチデバイス アプリケーション]アイコンをダブルクリックして、[空のアプリケーション]を選択します。フォーム デザイナが表示されます。
  2. [ツール パレット][Standard]ページから、TButton コンポーネントをフォームに配置します。
  3. [オブジェクト インスペクタ]で、ボタンのNameText の両方のプロパティに「CopyFile」と入力します。
  4. プロジェクトを保存します([ファイル|上書き保存]または[ファイル|プロジェクトに名前を付けて保存...]を使用)。
    デフォルトでは、すべてのプロジェクトは C:\Users\<user>\Documents\Embarcadero\Studio\Projects というディレクトリに保存されます。
    ただし、[ファイル|プロジェクトに名前を付けて保存...]を使用すると、1 つの固有のプロジェクト ディレクトリを指定することができます。
    詳細は、「保存用コマンド」を参照してください。

テキスト ファイルをプロジェクト ディレクトリに追加する

  1. テキスト エディタを使って単純なテキスト ファイルを作成します。
  2. そのテキスト ファイルを from.txt という名前でプロジェクト ディレクトリに保存します。
    メモ:
  • デスクトップ プラットフォームの場合、テキスト ファイルをプロジェクトの Win32/Debug フォルダに置きます。
  • モバイル プラットフォームの場合、テキスト ファイルをプロジェクトの <platform>/Debug フォルダに置きます。

ストリームをコピーする手続きを作成する

Object Pascal の場合:

  1. フォームで Button1 を選択します。
  2. [オブジェクト インスペクタ][イベント]タブで、[OnClick]アクションをダブルクリックします。
    コード エディタが表示され、TForm1.CopyFileClick(Object Pascal)イベント ハンドラ ブロックにカーソルが置かれます。
  3. カーソルを予約語 begin の前に置き、Return キーを押します。これで、コード ブロックの前に新しい行が作成されます。
  4. 作成された新しい行にカーソルを置き、以下の変数宣言を入力します。
var stream1, stream2: TStream;
  1. コード ブロック内にカーソルを置き、以下のコードを入力します。
 stream1 := TFileStream.Create('from.txt', fmOpenRead);
 try
   stream2 := TFileStream.Create('to.txt', fmCreate);
   try
     stream2.CopyFrom(stream1, stream1.Size);
   finally
     stream2.Free;
   end;
 finally
   stream1.Free;
 end;

C++ の場合:

  1. フォームで Button1 を選択します。
  2. [オブジェクト インスペクタ]で、[イベント]タブの OnClick アクションをダブルクリックします。
    コード エディタが表示され、TForm1::CopyFileClick(C++)イベント ハンドラ ブロックにカーソルが置かれます。
  3. 以下の変数宣言を入力します。
TStream *stream1, *stream2;
  1. コード ブロック内にカーソルを置き、以下のコードを入力します。
  stream1 = new TFileStream( "from.txt", fmOpenRead );
 try {
   stream2 = new TFileStream( "to.txt", fmCreate );
          try {
     stream2->CopyFrom( stream1, stream1->Size );
   } __finally {
     stream2->Free();
   }
 } finally {
   stream1->Free();
 }

アプリケーションを実行する

  1. プロジェクト ファイルを保存します。
  2. [実行|実行] を選択して、アプリケーションをビルドし、実行します。CopyFile というボタンがあるフォームが表示されます。
  3. [CopyFile]をクリックします。
  4. テキスト エディタを使用して、新規作成された to.txt ファイルを開きます。このファイルはプロジェクト ディレクトリにあります。from.txt の内容が to.txt にコピーされています。

関連項目