Fórum valores duplicados em tdictionary delphi #617149
16/11/2021
0
algm ja trabalhou com valores duplicados em tdictionary?
por exemplo, posso adicionar a contaD 123 e tbm a contaC 123...
esta me retornando "duplicates not allowed"
abs;
Gxf
Curtir tópico
+ 0Posts
16/11/2021
Emerson Nascimento
onde é a chave está mandando 123 e no valor mandando contaD e ContaC?
Gostei + 0
16/11/2021
Gxf
private
contaDebito: String;
contaCredito: String;
end;
{ Private declarations }
listaLancamentos2: TDictionary<String, TLancamentos>;
var
vI: Integer;
lancamento: TLancamentos;
begin
try
if not Assigned(listaLancamentos2) then
listaLancamentos2 := TDictionary<String, TLancamentos>.Create;
for vI := 0 to 5 do
begin
lancamento := TLancamentos.Create;
lancamento.contaDebito := '111';
lancamento.contaCredito := '555';
//if not listaLancamentos2.ContainsKey(lancamento.contaDebito) then
listaLancamentos2.Add(lancamento.contaDebito, lancamento);
//if not listaLancamentos2.ContainsKey(lancamento.contaCredito) then
listaLancamentos2.Add(lancamento.contaCredito, lancamento);
end;
for lancamento in listaLancamentos2.Values do
ShowMessage(lancamento.contaDebito + ' ' + '-' + lancamento.contaCredito);
finally
end;
end;
Gostei + 0
16/11/2021
Emerson Nascimento
type TLancamentos = class
private
contaDebito: String;
contaCredito: String;
end;
{ Private declarations }
listaLancamentos2: TDictionary<String, TLancamentos>;
var
vI: Integer;
lancamento: TLancamentos;
begin
try
if not Assigned(listaLancamentos2) then
listaLancamentos2 := TDictionary<String, TLancamentos>.Create;
for vI := 0 to 5 do
begin
lancamento := TLancamentos.Create;
lancamento.contaDebito := FormatFloat('000', vI+100);//'111'; //valor fixo: na segunda passagem pelo 'for' vai acusar duplicidade
lancamento.contaCredito := FormatFloat('000', vI+500);//'555'; //valor fixo: na segunda passagem pelo 'for' vai acusar duplicidade
//if not listaLancamentos2.ContainsKey(lancamento.contaDebito) then
listaLancamentos2.Add(lancamento.contaDebito, lancamento);
//if not listaLancamentos2.ContainsKey(lancamento.contaCredito) then
listaLancamentos2.Add(lancamento.contaCredito, lancamento);
end;
for lancamento in listaLancamentos2.Values do
ShowMessage(lancamento.contaDebito + ' ' + '-' + lancamento.contaCredito);
finally
end;
end;Gostei + 0
17/11/2021
Gxf
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)