如何从两个不同的 tstringlist 中搜索第一次出现

How to search the first occurrence from two different tstringlist

我需要比较两个不同的列表,其中包含需要从路径(chosenDirectoryFOpenDialog.FileName)复制到我的本地存储库(PathLocalRepo = ExtractFilePath(Application.ExeName)+LOCAL_REPOSITORY_01 ).

问题是我需要检查我的本地存储库中是否已存在文件夹名称,如果存在则我需要退出循环并继续下一个值。

这是我的代码:

for N := 0 to ListFoldersImported.Count-1 do
begin
  for Y := 0 to ListFoldersLocalRepository.Count-1 do
  begin
    if MatchStr(ExtractFileName(ListFoldersImported[N]), ExtractFileName(ListFoldersLocalRepository[Y])) = True then
    begin
      FlagFound := True;
      Break;
    end else
    begin
      FlagFound := False;
      ListOfFoldersThatNeedsToBeCopied.Add(ListFoldersImported[N]);
    end;
  end;
  if FlagFound = False then
    TDirectory.Copy(chosenDirectory,PathLocalRepo)
end;

如果找到第一次出现,此代码不会停止我的循环,并且不会继续将 [Y] 与下一个 [N] 值进行比较。

也许你需要下一个逻辑:

for N:= 0 to ListFoldersImported.Count-1 do
begin
    FlagFound := False;
    for Y:= 0 to ListFoldersLocalRepository.Count-1 do
    begin
          if MatchStr(ExtractFileName(ListFoldersImported[N]),ExtractFileName(ListFoldersLocalRepository[Y])) = True then
          begin
              FlagFound := True;
              Break;
          end;
    end;
    if not FlagFound then
    begin
       ListOfFoldersThatNeedsToBeCopied.Add(ListFoldersImported[N]);
       TDirectory.Copy(chosenDirectory,PathLocalRepo);
    end;
 end;