2013-03-13 4 views
1

내 절차에 도움이 필요합니다. 다른 프로 시저에서 만든 문자열 목록에 일부 문자열을 저장하고 싶습니다. 내가 어떻게 할 수 있니?다른 프로 시저에서 생성 된 문자열 목록에 문자열을 저장하는 방법은 무엇입니까?

나는 그것을 더 잘 이해하기 위해 적절한 장소에 의견을 남겼습니다.

procedure GetIniNamesWithoutExt(IniPfade: TStringList); 
var 
    i, suchPunkt: integer; 
    ini: TIniFile; 
    Modul, fullFileName, IniName: String; 
begin 
    try 
    for i := 0 to IniPfade.Count-1 do 
    begin 
    fullFileName := IniPfade.Strings[i]; 
    Modul := ExtractFileName(fullFileName); // Dateiname aktueller Ini + .Ini Endung 
    suchPunkt := Pos('.', Modul); 
    IniName := Copy(Modul, 1, suchPunkt-1); // Aktueller Modulname ohne ini Endung 
    // Here should be the Code for saving the String "IniName" to a StringList which is created in procedure a. Procedure a calls the procedure GetIniNamesWithoutExt. 
    end; 
    finally 

    end; 
end; 
+0

당신은에 수정 된 문자열을 저장하려고하는 경우 'IniPfade' 문자열 목록이 매개 변수로 전달되었으므로'IniPfade [i] : = IniName;'으로 간단하게 처리합니다. 그러나 여러분의 질문은 다른 것에 관한 것 같습니다. – TLama

+0

Ive는 다른 프로 시저에서 "a"문자열 목록을 만들었고 프로 시저 a에있는 StringList에 var IniName을 저장하려고했습니다 ... – Hidden

답변

4

어떻게

procedure GetIniNamesWithoutExt(IniPfade, Module: TStrings); 
var 
    i, suchPunkt: integer; 
    ini: TIniFile; 
    Modul, fullFileName, IniName: String; 
begin 
    Module.BeginUpdate; 
    try 
    for i := 0 to IniPfade.Count-1 do 
    begin 
     fullFileName := IniPfade.Strings[i]; 
     Modul := ExtractFileName(fullFileName); // Dateiname aktueller Ini + .Ini Endung 
     suchPunkt := Pos('.', Modul); 
     IniName := Copy(Modul, 1, suchPunkt-1); // Aktueller Modulname ohne ini Endung 
     Module.Add(IniName); 
    end; 
    finally 
    Module.EndUpdate; 
    end; 
end; 

에 대한 및 절차 A에서 : 나는 당신의 의도,하지만 확실하지 않다

procedure A; 
var 
    Module: TStringList; 
begin 
    Module := TStringList.Create; 
    try 
    GetIniNamesWithoutExt(IniPfade , Module); 
    // Do Whatever you want with "Module" 
    finally 
    Module.Free; 
    end; 
end; 
+1

'TStringList'에'try'..finally' 블록을 추가했습니다. – jpfollenius

+0

다른 옵션 : 내 StringList를 전역으로 선언하고 프로 시저에서이를 생성하려면 a. – Hidden

+0

@ Robin2k 내가 반대하는 조언. –