Guest User

Untitled

a guest
Apr 21st, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. Var
  2. I,First:Integer;
  3. SLInS,S:String;
  4. SLIn,SLOut:TStringList;
  5.  
  6. DictionaryArray: TArray<TPair<string, integer>>;
  7. DictionaryArrayItem: TPair<string, integer>;
  8.  
  9. Dictionary : TDictionary<String,Integer>;
  10. begin
  11. First:=4;
  12.  
  13. Dictionary:= TDictionary<String,Integer>.Create;
  14.  
  15. SLOut:=TStringList.Create;
  16.  
  17. SLIn:=TStringList.Create;
  18. SLIn.LoadFromFile('Out.txt');
  19. SLIn.Delimiter:=' ';
  20. SLIn.DelimitedText:=SLIn.Text;
  21.  
  22. For I:=0 to slIn.Count-1 do
  23. Begin
  24. SLInS:=slIn.Strings[I];
  25. if Pos(':',SLInS)<>0 Then delete(SLInS,1,Pos(':',SLInS));
  26.  
  27. If Dictionary.ContainsKey(SLInS) then Dictionary[SLInS]:=Dictionary[SLInS]+1
  28. Else Dictionary.Add(SLInS,1);
  29. End;
  30.  
  31.  
  32. DictionaryArray := Dictionary.ToArray;
  33.  
  34. TArray.Sort<TPair<string, integer>>(
  35. DictionaryArray, TComparer<TPair<string, integer>>.Construct(
  36. function (const Left, Right: TPair<string, integer>): Integer
  37. begin
  38. Result := CompareStr(Left.Value.ToString, Right.Value.ToString);
  39. if Result = 0 then
  40. Result := CompareStr(Left.Key, Right.Key);
  41. end));
  42.  
  43.  
  44. for I :=Length(DictionaryArray)-1 downto Length(DictionaryArray)-First do
  45. SLOut.add(Format('%s: %s',[DictionaryArray[I].Key,DictionaryArray[I].Value.ToString]));
  46.  
  47. SLOut.SaveToFile('REZ.txt');
  48.  
  49. Dictionary.Free;
  50. SLIn.Free;
  51. SLOut.Free;
  52. end;
Add Comment
Please, Sign In to add comment