valores duplicados em tdictionary delphi
bom dia pessoal,
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;
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
Curtidas 0
Respostas
Emerson Nascimento
16/11/2021
será que você não está mandando 'invertido'?
onde é a chave está mandando 123 e no valor mandando contaD e ContaC?
onde é a chave está mandando 123 e no valor mandando contaD e ContaC?
GOSTEI 0
Gxf
16/11/2021
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 := '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;
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
Emerson Nascimento
16/11/2021
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
Gxf
16/11/2021
é que no caso as contas vem de um grid, entao pode existir contas iguais ou nao :/
GOSTEI 0