2008-09-24 5 views
0

폴더의 모든 그림에 대해 슬라이드 쇼로 작동하는 응용 프로그램이 있습니다. 그것은 Borland의 C++ Builder (9)로 작성되었습니다. 현재 빌린 코드를 사용하여 파일 이름을 목록 상자에 던지고 목록 상자 항목을 텍스트 파일로 저장합니다.디렉토리에서 파일 이름으로 데이터베이스 채우기

파일 이름을 적절한 데이터베이스에 저장하여 추가 필드를 포함하고 적절한 SQL 작업을 수행 할 수 있도록이 파일을 업데이트하려고합니다.

그래서 '샘플'코드가 똑같은 일을하는 경우 기본적으로 해결할 수 있습니다.

누구든지이 코드를 알고 있으면 나는 위대 할 것이다. 특정 파일 형식에서 모든 파일을 처리 할 수 ​​있어야합니다.

답변

1

기본적으로 TDataSet 매개 변수를 사용하여 재귀 함수를 작성해야합니다.

(당신이 "있는 그대로"그것을 얻을, 그래서 내가, 내 코드를 컴파일 할 수 없습니다)이 대한

void AddFiles(AnsiString path, TDataSet *DataSet) 
{ 
TSearchRec sr; 
int f; 
    f = FindFirst(path+"\\*.*", faAnyFile, sr); 
    while(!f) 
    { 
     if(sr.Attr & faDirectory) 
     { 
      if(sr.Name != "." && sr.Name != "..") 
      { 
       path.sprintf("%s%s%s", path, "\\", sr.Name); 
       AddFiles(path, DataSet); 
      } 
     } 
     else 
     { 
      DataSet->Append(); 
      DataSet->FieldByName("Name")->Value = sr.Name; 
      /* other fields ... */ 
      DataSet->Post(); 
     } 
     f = FindNext(sr); 
    } 
    FindClose(sr); 
} 
+0

많은 감사합니다. 내가 불행히도 즉시 할 수 없을 때 그것을 시도해 보겠습니다. 내가 그 결과를 알려주지. – MrVimes

+0

필자는이 코드를 테스트하고 있습니다 (데이터 세트가 없어도 모든 파일을 디렉토리에 가져오고 하위 디렉토리에 있는지 테스트 함). 제대로 작동하지 않습니다. 그것은 는 \ B 형 \ C는 가 (그것이 잘못하게 경로 ... 실제 구조 \ B를 \ C를 가 \ A에 B가되는 \의 D를 엉망 'a'의 서브 디렉토리를 'b'의 서브 디렉토리 – MrVimes

관련 문제