私が達成しようとしている非常に基本的なこと。
文字列 (単純なパス) として格納されているファイル (画像) のソースがあります。
そのファイルをカスタムの宛先にコピーしたい。より正確には、アプリケーションのルートにあるフォルダー名の画像です。ドキュメントを確認しましたが、それらはすべて FolderItem クラスを参照していますが、残念ながらわかりません。
何か案は?
オブジェクト指向の構文に慣れていない場合は、FolderItem をコピー コマンドがある場所と考えてください。以下では、2 つの FolderItem オブジェクトを作成します。1 つはソース ファイル用、もう 1 つは宛先フォルダー用です。それが完了したら、FolderItem の CopyFileTo() メソッドを使用してファイルをコピーできます。
dim s as String
dim source as FolderItem
dim dest as FolderItem
s="C:\test.jpg"
source=GetFolderItem(s)
dest=GetFolderItem("C:\image")
source.CopyFileTo(dest)
FolderItem クラスには組み込みの FileCopy メソッドがあり、FolderItem を学習することをお勧めします。なぜなら、Xojo/Real Studio でそれを行う唯一の方法だからです。
通常、folderitem クラスは GetFolderItem メソッドを使用して初期化されます。
dim f as folderitem = GetFolderItem("somefile.pdf")
この基本的な関数は、実行可能ファイルと同じディレクトリで pdf ファイルを探します。ファイルが別の場所にある場合は、「C:/SomeFolder/somefile.pdf」のような絶対パスを使用できます。
頻繁にアクセスすることを意図した禁止された場所 (アプリケーション データ、設定など) がいくつかありますが、それらにアクセスする最も簡単な方法は、SpecialFolders オブジェクトを使用することです。ファイルが Application Data フォルダーにある場合は、次のようにアクセスします。
dim f as folderitem = SpecialFolder.ApplicationData.child("somefile.pdf")
SpecialFolder.ApplicationData は folderitem を返し、子はファイルを探します。Folderitem の子メソッドと親メソッドを学ぶことは非常に重要です。
https://docs.xojo.com/index.php/GetFolderItemに GetFolderItem の使用例が多数あります。
https://docs.xojo.com/index.php/SpecialFolderで説明されている SpecialFolder
ビデオ トレーニングが必要な場合は、加入者はhttp://www.bkeeney.com/XojoTraining/xojotraining.cgiで 40 時間以上の Real Studio および Xojo トレーニングを受けることができます。
フォルダ項目は、OS の詳細とは関係なく、パスを表す方法です。たとえば、Windows および Mac または Linux 用のアプリを作成する予定がある場合は重要です。
Windows では、一般的なパスは次のように表されます。
C:\Users\MitchMatch\Desktop\myPicture.png
Mac OS X または Linux では、同じパスは次のようになります。
C:/Users/MitchMatch/Desktop/myPicture.png
FolderItem は、デスクトップに直接アクセスする方法も提供します。
Dim f as folderItem = SpecialFolder.Desktop.Child("myPicture.png")
ファイルをコピーするには、FolderItem.CopyFileTo メソッドに組み込まれている Xojo を使用するか、システムへのシェルを使用し、コマンド ラインを使用します。
たとえば、Windowsでは、次を使用できます
Dim s as new shell
s.execute("Copy c:\Users\MitchMatch\Desktop\myPicture.png c:\Users\MitchMatch\Pictures")
Mac OS X および Linux では、コマンドは CP です。Xojo の CopyFileTo コマンドとは異なり、システム関数はディレクトリ全体をコピーできることに注意してください。