PowerBuilder에서 파일 함수를 사용하여 모든 디렉토리 (예 : c : \, d : \ 등)에서 .txt 파일을 검색하는 방법은 무엇입니까?Powerbuilder 쿼리
답변
ListBox
컨트롤을 사용하면 지정된 문자열 패턴 (* .txt, myfile.txt, .etc)을 기반으로 파일/디렉토리 목록을 가져올 수 있습니다. 도움말의 DirList
기능을보십시오. 다음은 창에 시각적으로 표시하지 않고 ListBox 컨트롤을 사용하는 방법을 보여주는 here의 예제입니다. 당신이하고있는 모든 파일을 찾는 경우
string ls_files[]
window lw_1
listbox llb_1
int li_items, li_i
Open(lw_1)
lw_1.openUserObject(llb_1)
llb_1.DirList(sFileSpec, uFileType)
li_items = llb_1.TotalItems()
For li_i = 1 to li_items
ls_files[ li_i ] = llb_1.Text(li_i)
Next
lw_1.closeUserObject(llb_1)
Close(lw_1)
DirList가 작동하려면 창에서 컨트롤을 가져야한다는 것은 매우 성가시다. 그것은 특히 NVO에서 일할 때 불필요한 단계를 추가합니다. –
나는 그것을 볼 필요가 없다고 생각한다. 코드에 목록 상자를 추가하고 제거합니다. –
그래서, 당신은 listbox.DirList()로이 작업을 수행 할 수 있습니다, 또는 당신은 창 또는 컨트롤에 연결하지 않고이 작업을 수행하려는 경우, 당신을 WinAPI를 함수를 호출 할 수있는 것은이 작업을 수행합니다 :
os_finddata이unsignedlong ul_fileattributes
os_filedatetime str_creationtime
os_filedatetime str_lastaccesstime
os_filedatetime str_lastwritetime
unsignedlong ul_filesizehigh
unsignedlong ul_filesizelow
unsignedlong ul_reserved0
unsignedlong ul_reserved1
character ch_filename[260]
character ch_alternatefilename[14]
로 정의되고 os_filedatetime이
,536으로 정의된다Function long FindFirstFileW (ref string filename, ref os_finddata findfiledata) library "KERNEL32.DLL" alias for "FindFirstFileW"
Function boolean FindNextFileW (long handle, ref os_finddata findfiledata) library "KERNEL32.DLL" alias for "FindNextFileW"
unsignedlong ul_lowdatetime
unsignedlong ul_highdatetime
사용 방법에 대한 예제가 필요하면 개체 (pfcapsrv.pbl) pfc_n_cst_filesrvunicode.of_DirList()에서 PFC (PowerBuilder Foundation Classes, CodeXchange)를 확인하십시오.
당신이 * * * .txt 인 파일 디렉토리 *를 검색하거나 스캔 찾고
테리, (즉 이러한 프로토 타입과 구조가 BTW, 복사 곳.이다)
행운을 빕니다. 특정 콘텐츠에 대한 디렉토리의 txt 파일? 하나의 디렉토리 또는 하위 트리? PB 버전과 대상 유형은 무엇입니까? – Terry