Da sowohl Key als auch Value vom Typ String sind kannst du einfach eine Stringliste verwenden.
Code:
var
KeyValue : TStrings;
erg : String;
begin
//Stringlist erstellen und Key/Value durch ein = trennen;
KeyValue := TStringlist.create;
keyvalue.NameValueSeperator := '=';
//Befüllen
keyvalue.append(key+'='+value);
//Suchen mit key
erg := keyvalue.Value[Key];
//Irgendwann wenns nimmer gebraucht wird freigeben
KeyValue.free;
end;