Einzelnen Beitrag anzeigen

generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#4

AW: Übung macht den Meister - zeigt her eure Lösungen

  Alt 13. Sep 2021, 16:05
@TiGü Danke für die Übersetzung des Beispiels
@Uwe die VAR/Array Sachen sind schon schön in den neuen Compiler. Hab nur XE5

Delphi-Quellcode:
uses
  System.SysUtils,
  System.Generics.Collections;

procedure DuplicatesFromString(source: string; duplicateFound: TProc<string>);
var
  dict: TDictionary<String, integer>;
  s: string;
  i: integer;
  p: TPair<string, integer>;
begin
  dict:=TDictionary<String, integer>.Create();
  try
    for s in source.ToLower().Split([' ']) do
    begin
      i:=0;
      if dict.TryGetValue(s, i) then
        i:=i+1;
      dict.AddOrSetValue(s, i);
    end;

    for p in dict do
      if p.Value>0 then
        duplicateFound(p.Key);
  finally
    dict.Free;
  end;
end;

begin
  try
    Writeln('Duplikate: ');
    DuplicatesFromString('Ohne Clean Code ist Code nicht wartbar.',
      procedure(s: string)
      begin
        Writeln(s);
      end);
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
  Readln;
end.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat