2013-07-13 6 views
1

내가 달성하려고하는 아주 기본적인 것.XOJO 간단한 파일 복사

A는 문자열 (단순 경로)으로 저장된 파일 (이미지)의 원본을가집니다.

해당 파일을 사용자 지정 대상에 복사하려고합니다. 응용 프로그램 루트에있는 폴더 이름 이미지를보다 정확하게 표현할 수 있습니다. 나는 설명서를 확인했으며, 모두 FolderItem 클래스를 참조합니다. 불행히도, 나는 알아낼 수 없습니다.

어떤 아이디어?

답변

1

FolderItem 클래스에는 FileCopy 메서드가 내장되어있어 Xojo/Real Studio에서 파일을 처리하는 유일한 방법이기 때문에 파일 처리가 훨씬 쉬워 져서 FolderItem을 배우는 것이 좋습니다.

일반적으로 folderitem 클래스는 GetFolderItem 방법을 사용하여 초기화 :

dim f as folderitem = GetFolderItem("somefile.pdf") 

이 기본 기능은 실행 파일과 같은 디렉토리에 PDF 파일을 찾습니다. 파일이 다른 곳에 있으면 "C : /SomeFolder/somefile.pdf"와 같은 절대 경로를 사용할 수 있습니다.

많은 정보 (예 : 응용 프로그램 데이터, 환경 설정 등)에 액세스 할 수있는 일부 금지 된 위치가 있으며 그 중 가장 쉬운 방법은 SpecialFolders 개체를 사용하는 것입니다. 파일은 응용 프로그램 데이터 폴더에있는 경우 당신은 그것을 액세스합니다 :

dim f as folderitem = SpecialFolder.ApplicationData.child("somefile.pdf") 

SpecialFolder.ApplicationData는 folderitem를 반환하고 자녀는 파일을 찾습니다. Folderitem 아동 및 부모 방법은 배우는 것이 매우 중요합니다.

당신은 비디오 교육을 원하는 경우, 가입자가 http://www.bkeeney.com/XojoTraining/xojotraining.cgi

1
레알 Studio 및 Xojo 훈련을 통해 40 시간 얻을 수 https://docs.xojo.com/index.php/SpecialFolder

에서 설명 https://docs.xojo.com/index.php/GetFolderItem

SpecialFolder에서 GetFolderItem을 사용하는 방법에 대한 많은 사례가있다

개체 지향 구문에 익숙하지 않은 경우 FolderItem을 복사 명령이있는 것으로 생각하면됩니다. 아래에서는 두 개의 FolderItem 개체를 만듭니다. 하나는 원본 파일 용이고 다른 하나는 대상 폴더 용입니다. 이 작업이 완료되면, 우리는 파일을 복사 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) 
1

FolderItem class는 컴퓨터의 파일이나 폴더를 나타낼 수 있습니다. 특정 절대 경로에 대한 FolderItem 인스턴스를 만들려면 GetFolderItem 방법의 경로를 전달하고 결과를 저장 :

Dim SourceFile As FolderItem 
SourceFile = GetFolderItem("C:\ExampleFolder\ExampleFile.txt", PathTypeAbsolute) 

당신은 FolderItem 당신이 속성을 수정하고 변경에 영향을 메서드를 호출 할 수 있습니다 구성하면 기본이되는 파일 또는 디렉토리

파일을 다른 디렉터리로 복사하거나 이동하려면 대상 디렉터리를 나타내는 FolderItem을 얻어야합니다. 대상에 따라 여러 가지 방법 중 하나를 사용하여 대상 FolderItem을 가져올 수 있습니다.

예를 들어

,

Dim destination As FolderItem 
destination = GetFolderItem("C:\DestinationExample\", PathTypeAbsolute) 

또는, SpecialFolder 모듈 사용 : 일단 당신

destination = App.ExecutableFile.Parent 'your app's directory 

다음 App classExecutableFile propertyparent 폴더를 사용하여,

destination = SpecialFolder.Desktop 'the user's desktop directory 

또는 출발지와 목적지 모두를 가짐 CopyFileTo 및 MoveFileTo 방법 만 파일을 이동 또는 디렉토리를 복사 할 수 없음을

Dim SourceFile As FolderItem 
SourceFile = GetFolderItem("C:\ExampleFolder\ExampleFile.txt", PathTypeAbsolute) 

Dim destination As FolderItem 
destination = GetFolderItem("C:\DestinationExample\", PathTypeAbsolute) 

SourceFile.MoveFileTo(destination) 
' or 
SourceFile.CopyFileTo(destination) 

참고 : erItems는 단순히 소스 FolderItem의 CopyFileTo 또는 MoveFileTo 메소드를 호출, 설정합니다.

1

FolderItem은 OS 세부 정보와 별도로 경로를 나타내는 방법입니다. 예를 들어 Windows 및 Mac 또는 Linux 용 응용 프로그램을 만들 계획이라면 중요합니다. 윈도우에서

는, 일반적인 경로

맥 OS X 또는 Linux에서
C:\Users\MitchMatch\Desktop\myPicture.png 

로 표현, 동일한 경로는 다음과 같습니다

C:/Users/MitchMatch/Desktop/myPicture.png 

FolderItem가 직접 바탕 화면에 액세스 할 수있는 방법을 제공합니다 :

Dim f as folderItem = SpecialFolder.Desktop.Child("myPicture.png") 

파일을 복사하려면, 당신은 FolderItem.CopyFileTo 방법, 또는 쉘 t에 내장 된 Xojo을 사용할 수 있습니다 o 시스템을 사용하고 명령 행을 사용하십시오.

예를 들어 Windows에서

, 당신은 맥 OS X 및 Linux에

Dim s as new shell 
s.execute("Copy c:\Users\MitchMatch\Desktop\myPicture.png c:\Users\MitchMatch\Pictures") 

를 사용할 수있는 명령은 CP입니다. Xojo CopyFileTo 명령과 달리 시스템 기능은 전체 디렉토리를 복사 할 수 있습니다.