Fórum array of string, não consigo visualizar o conteúdo do array no delphi #611223

10/06/2020

0

alguém pode dar uma dica

var
placa : array [0..2] of string

ind := 0;
while pos_placa > 0 do
begin
placa[ind] := copy(XMLTransp, pos_placa+7, 7);
XMLTransp := copy (XMLTransp, pos_placa+7+7+8, 100);
pos_placa := pos(UpperCase('<placa>'), UpperCase(XMLTransp));
inc(ind);
end;

for j := 0 to (ind - 1) do
Application.MessageBox(pchar(placa[ind]), 'Aviso', MB_OK);
Emanuel Gonçalves

Emanuel Gonçalves

Responder

Post mais votado

11/06/2020

é Length() !!!! kkkkkkk len() é em outra linguagem
var
  placa: array of string;
begin
  pos_placa := pos(UpperCase('<placa>'), UpperCase(XMLTransp));
  while pos_placa > 0 do
  begin
    SetLength(placa, Length(placa)+1);
    placa[High(placa)] := copy(XMLTransp, pos_placa+7,7);
    XMLTransp := copy (XMLTransp, pos_placa+7+7+8, 100);
    pos_placa := pos(UpperCase('<placa>'), UpperCase(XMLTransp));
  end;
 
  for j := Low(placa) to High(placa) do
    Application.MessageBox(pchar(placa[j]), 'Aviso', MB_OK); // aqui estava placa[ind], e deveria ser placa[j]

Emerson Nascimento

Emerson Nascimento
Responder

Gostei + 1

Mais Posts

10/06/2020

Emerson Nascimento

tente assim:
var
  placa: array of string;
begin
  pos_placa := pos(UpperCase('<placa>'), UpperCase(XMLTransp));
  while pos_placa > 0 do
  begin
    SetLength(placa, len(placa)+1);
    placa[High(placa)] := copy(XMLTransp, pos_placa+7,7);
    XMLTransp := copy (XMLTransp, pos_placa+7+7+8, 100);
    pos_placa := pos(UpperCase('<placa>'), UpperCase(XMLTransp));
  end;

  for j := Low(placa) to High(placa) do
    Application.MessageBox(pchar(placa[j]), 'Aviso', MB_OK); // aqui estava placa[ind], e deveria ser placa[j]
Responder

Gostei + 0

11/06/2020

Emanuel Gonçalves

tente assim:
var
  placa: array of string;
begin
  pos_placa := pos(UpperCase('<placa>'), UpperCase(XMLTransp));
  while pos_placa > 0 do
  begin
    SetLength(placa, len(placa)+1);
    placa[High(placa)] := copy(XMLTransp, pos_placa+7,7);
    XMLTransp := copy (XMLTransp, pos_placa+7+7+8, 100);
    pos_placa := pos(UpperCase('<placa>'), UpperCase(XMLTransp));
  end;

  for j := Low(placa) to High(placa) do
    Application.MessageBox(pchar(placa[j]), 'Aviso', MB_OK); // aqui estava placa[ind], e deveria ser placa[j]


Tá reclamando do len
Responder

Gostei + 0

11/06/2020

Emanuel Gonçalves

tente assim:
var
  placa: array of string;
begin
  pos_placa := pos(UpperCase(''<placa>''), UpperCase(XMLTransp));
  while pos_placa > 0 do
  begin
    SetLength(placa, len(placa)+1);
    placa[High(placa)] := copy(XMLTransp, pos_placa+7,7);
    XMLTransp := copy (XMLTransp, pos_placa+7+7+8, 100);
    pos_placa := pos(UpperCase(''<placa>''), UpperCase(XMLTransp));
  end;

  for j := Low(placa) to High(placa) do
    Application.MessageBox(pchar(placa[j]), ''Aviso'', MB_OK); // aqui estava placa[ind], e deveria ser placa[j]


Tá reclamando do len
Responder

Gostei + 0

11/06/2020

Emanuel Gonçalves

Mais uma vez obrigado Emerson !!

é Length() !!!! kkkkkkk len() é em outra linguagem
var
  placa: array of string;
begin
  pos_placa := pos(UpperCase('<placa>'), UpperCase(XMLTransp));
  while pos_placa > 0 do
  begin
    SetLength(placa, Length(placa)+1);
    placa[High(placa)] := copy(XMLTransp, pos_placa+7,7);
    XMLTransp := copy (XMLTransp, pos_placa+7+7+8, 100);
    pos_placa := pos(UpperCase('<placa>'), UpperCase(XMLTransp));
  end;
 
  for j := Low(placa) to High(placa) do
    Application.MessageBox(pchar(placa[j]), 'Aviso', MB_OK); // aqui estava placa[ind], e deveria ser placa[j]

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar