Ir para conteúdo
Fórum Script Brasil
  • 0

Array Of Const


McBlade

Pergunta

Já procurei de todas as formas e em todos os fóruns do mundo e não achei resposta.

Eu tenho um ClientDataSet no qual preciso inserir strings, o problema é que eu nunca sei a quantidade de strings a serem inseridas. Preciso de uma rotina abstrata para inserir entendem?

Vejam o que eu tenho pronto:

var
  VarRec: array of TVarRec;
  I, J: Integer;
begin
  for I := 0 to Memo1.Lines.Count - 1 do
  begin
    String(VarRec[I].VString) := String(Memo1.Lines[I]);
    InsertRecord(VarRec);
  end;
end;

Mas depois de inserido todas as linhas do memo, se ligo o DataSource num DBGrid ele mostra o mesmo número (Endereço de memória?)... :(

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Já procurei de todas as formas e em todos os fóruns do mundo e não achei resposta.
"todos os foruns do mundo"? :blink:

Olha este em espanhol: http://www.clubdelphi.com/foros/showthread.php?t=10900

Eu tenho um ClientDataSet no qual preciso inserir strings, o problema é que eu nunca sei a quantidade de strings a serem inseridas. Preciso de uma rotina abstrata para inserir entendem?

Vejam o que eu tenho pronto:

var
  VarRec: array of TVarRec;
  I, J: Integer;
begin
  for I := 0 to Memo1.Lines.Count - 1 do
  begin
    String(VarRec[I].VString) := String(Memo1.Lines[I]);
    InsertRecord(VarRec);
  end;
end;

Mas depois de inserido todas as linhas do memo, se ligo o DataSource num DBGrid ele mostra o mesmo número (Endereço de memória?)... :(

McBlade, você está ciente que InsertRecord insere um array que corresponde a cada coluna do registro de seu dataset? Neste caso, parece-me que o array tem sim um tamanho pré-definido, a questão daí seria que campos (posições do array) você vai preencher.

Este seu código, parece supor que cada linha do Memo é o valor de um campo já que a cada posição do array você adiciona a linha. Mas isso passa a ser um problema quando você, a cada campo (linha do memo e posição do array), tenta inserir uma linha inteira (registro) em sua tabela.

A menos que seu dataset tenha apenas uma coluna, e daí a cada linha do memo, corresponderá a uma linha (registro) no dataset. Mas, mesmo assim, seu array tem tamanho fixo - 1 posição - equivalente a única coluna existente na tabela.

Veja este exemplo http://www.guiadodelphi.com.br/ler.php?codigo=312

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...