2010-12-23 4 views
0

출처 : 내가 좋아하는 간단한 매크로를 작성하지 생각배열 키 이름과 파일 입력에 대한 더 나은 연관성은 무엇입니까?

// write 
    Path := 'Data/_prefixed' + dynarray1[v].Name; 
    with XMLConfig1 do begin; 
     SetValue(Path + '/RealName', dynarray1[v].Name); 
    end; 
    .. 
    // read 
    Path := 'Data/_prefixed' + listOfVars.Strings[v]; 
    with XMLConfig1 do begin; 
    dynarray1[v].Name := GetValue(Path + '/RealName', ''); 
    end; 

: (? 같은 것도)

procedure getsetkey(Keyname,Var:string; var Value: **overloaded**; Direction: integer); 
getset('Data/_prefixed'+Keyname, Var 

하지만 때문에 다른 반환 형식에 세 (정수, 문자열, 부울) 유사한 기능 여전히 나는 방향 인수를 버리고 setkeygetkey, 또는 key(overload: call set if 4-th parameter presents)의 세트를 얻을 경우, 또는 지금까지 여섯 기능,

0123을 (가치를 결정하는 방법 이렇게 값을 확인, 빈 될 수 되지 않은 것입니다)

함수 수를 줄이고 GetValue()에 전달할 수있는 키와 dynarray1 [v] .Element_Name을 연결하는 방법은 무엇입니까? 키 이름에 액세스하는 Reflection과 같은 API가 있습니까?

답변

1

변형이 더 논리적 일 것입니다. 리플렉션/RTTI 정보를 얻을 수 있다면 (예 : 저장할 모든 것을 게시 된 속성으로 할 수 있습니다) 가능합니다.

그러나

이럴 모기에 캐논 촬영처럼 1 개 라인 기능의 3 변종에 대한

관련 문제