Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Var
- I,First:Integer;
- SLInS,S:String;
- SLIn,SLOut:TStringList;
- DictionaryArray: TArray<TPair<string, integer>>;
- DictionaryArrayItem: TPair<string, integer>;
- Dictionary : TDictionary<String,Integer>;
- begin
- First:=4;
- Dictionary:= TDictionary<String,Integer>.Create;
- SLOut:=TStringList.Create;
- SLIn:=TStringList.Create;
- SLIn.LoadFromFile('Out.txt');
- SLIn.Delimiter:=' ';
- SLIn.DelimitedText:=SLIn.Text;
- For I:=0 to slIn.Count-1 do
- Begin
- SLInS:=slIn.Strings[I];
- if Pos(':',SLInS)<>0 Then delete(SLInS,1,Pos(':',SLInS));
- If Dictionary.ContainsKey(SLInS) then Dictionary[SLInS]:=Dictionary[SLInS]+1
- Else Dictionary.Add(SLInS,1);
- End;
- DictionaryArray := Dictionary.ToArray;
- TArray.Sort<TPair<string, integer>>(
- DictionaryArray, TComparer<TPair<string, integer>>.Construct(
- function (const Left, Right: TPair<string, integer>): Integer
- begin
- Result := CompareStr(Left.Value.ToString, Right.Value.ToString);
- if Result = 0 then
- Result := CompareStr(Left.Key, Right.Key);
- end));
- for I :=Length(DictionaryArray)-1 downto Length(DictionaryArray)-First do
- SLOut.add(Format('%s: %s',[DictionaryArray[I].Key,DictionaryArray[I].Value.ToString]));
- SLOut.SaveToFile('REZ.txt');
- Dictionary.Free;
- SLIn.Free;
- SLOut.Free;
- end;
Add Comment
Please, Sign In to add comment