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

(Resolvido) Como eu faria isso?


Greed

Pergunta

Boa tarde galera,

estou com uma duvida aqui!

Como eu faria no delphi, um sistema onde o usuário escolhe os arquivos .doc que desejaria incluir no form do delphi e escolhe-se a ordem que iriam aparecer, clicando no arquivo e o conteudo aparecendo no delphi, sendo que o usuário teria de editar o conteúdo dele?

Pensem em um editor de fases de um jogo, é a mesma coisa, só que com textos e tabelas desenhas no Word.

No final, o usuário exportaria estas informações para um outro arquivo .doc, de onde ele iria imprimir e guardar!

Estes documentos são relatórios!

Eu usaria as propriedades drag e drop, correto?

para facilitar até mesmo para o programador que no caso sou eu, o que vocês acham de colocar um botão importar e abre uma janela onde o usuario escolhe um arquivo .doc e o conteudo dele é adicionando no delphi. Em seguida ele clica novamente e seleciona outro arquivo e o conteudo aparece em baixo do conteúdo já contido, como algo acumulativo como:

conteudo:= conteudo + ArquivoWord;

Como eu faria isso? Não faço a menor ideia de como começar!

Obrigado pela atenção

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0
Como eu faria no delphi, um sistema onde o usuário escolhe os arquivos .doc que desejaria incluir no form do delphi

Como eu faria isso? Não faço a menor ideia de como começar!

Tem um exemplo no delphi que vai te dar uma idéia de como começar

C:\Arquivos de programas\Borland\Delphi5\Demos\Richedit ou

C:\Arquivos de programas\Borland\Delphi7\Demos\Richedit

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Legal, obrigado pelos componentes e desculpa a demora em responder!

Me diz uma coisa, como eu faço para ele abrir os arquivos do Ms-Word?

Obrigado!

Ignorem isso, eu já consegui resolver este problema!

VocÊs saberiam me dizer, como eu faço para acumular o conteúdo do RichEdit?

Assim:

Eu abro o arquivo 1, ele aparece no RichEdit

Eu abro em seguida o arquivo 2, aparece no Rich Edit o conteúdo do arquivo 1 e do arquivo 2 logo em baixo

e assim sucessivamente!

Obrigado pela atenção

Link para o comentário
Compartilhar em outros sites

  • 0
VocÊs saberiam me dizer, como eu faço para acumular o conteúdo do RichEdit?

Assim:

Eu abro o arquivo 1, ele aparece no RichEdit

Eu abro em seguida o arquivo 2, aparece no Rich Edit o conteúdo do arquivo 1 e do arquivo 2 logo em baixo

e assim sucessivamente!

Greed, experimente usar a propriedade Lines:

RichEdit1.Lines.Add(<linhas do aquivo 2>)

RichEdit1.Lines.Add(<linhas do aquivo 3>)

...

Seria por ai...

Link para o comentário
Compartilhar em outros sites

  • 0
Greed, experimente usar a propriedade Lines:

RichEdit1.Lines.Add(<linhas do aquivo 2>)

RichEdit1.Lines.Add(<linhas do aquivo 3>)

...

Seria por ai...

Legal, funcionou mas tem um probleminha!

Eu estou utilizando o JvRichEdit (Componente Jedi), por ele dar suporte a tabelas, mas se eu uso este comando ou mando guardar o text com a tabela desenhada em alguma variavel, a tabela some e fica só o texto, até a formatação do texto some!

O que eu posso fazer?

Eu preciso que essas tabelas acumulem junto com o texto!

Existe algum componente que guarde o conteúdo como ele é, sem ter perdas? Que no caso seria perder a marcação da tabela!

Obrigado mais uma vez!

Link para o comentário
Compartilhar em outros sites

  • 0
Eu estou utilizando o JvRichEdit (Componente Jedi), por ele dar suporte a tabelas, mas se eu uso este comando ou mando guardar o text com a tabela desenhada em alguma variavel, a tabela some e fica só o texto, até a formatação do texto some!

O que eu posso fazer?

Eu preciso que essas tabelas acumulem junto com o texto!

Como você está carregando o arquivo a ser concatenado?

Link para o comentário
Compartilhar em outros sites

  • 0

Eu estou usando esta lógica e código no botão abrir

if OpenDialog.Execute then
  begin
    PerformFileOpen(OpenDialog.FileName);
    Editor.ReadOnly := ofReadOnly in OpenDialog.Options;
    Editor.Lines.AddStrings(JvRichEdit1.Lines);
  end;

Editor é um JvRichEdit

Qual código eu usaria no lugar deste para acumular o texto, a formatação e as tabelas desenhadas no word?

Editado por Greed
Link para o comentário
Compartilhar em outros sites

  • 0

Greed, eu não uso os componente Jedi, mas acredito que nesta questão não haja diferença para os RichEdit padrão.

Quando você usa Lines.AddStrings, está substituindo todo o conteúdo do seu Editor pelo lido através de JvRichEdit1. Não é isto?

Supondo que seja, experimente o seguinte:

Editor.Lines.Add(JvRichEdit1.Lines.Text);

O método Add, adicina string ao final das linhas existentes - tente.

Imagino que em algum momento você deve utilizar Editor.Lines.Clear para iniciar um documento limpo.

Link para o comentário
Compartilhar em outros sites

  • 0
Editor.Lines.Add(JvRichEdit1.Lines.Text);

Eu fiz isso e também não deu certo

Da uma olhada na imagem

imagemno4.jpg

Código do botão Abrir:

if OpenDialog.Execute then
  begin
    PerformFileOpen(OpenDialog.FileName);
    Editor.ReadOnly := ofReadOnly in OpenDialog.Options;
    Editor.Lines.Add(JvRichEdit1.Lines.Text);
  end;

O JvRichEdit (1° Campo) é o local que aparece o texto aberto!

O Editor é o JvRichEdit que irá acumular os textos, ele acumula, mas da uma olhada no que acontece, as tabelas somem.

O que eu faço? Só falta isso para o projeto ser encerrado.

Obrigado pela atenção

Editado por Greed
Link para o comentário
Compartilhar em outros sites

  • 0
O JvRichEdit (1° Campo) é o local que aparece o texto aberto!

O Editor é o JvRichEdit que irá acumular os textos, ele acumula, mas da uma olhada no que acontece, as tabelas somem.

O que eu faço? Só falta isso para o projeto ser encerrado.

Greed, vale usar o clipboard?

você precisará fazer algo como:

...
 // já carregado o texto em JvRichEdit1
 // seleciona todo ele
  JvRichEdit1.SelectAll;
 // copia para o clipboard 
  JvRichEdit1.CopyToClipboard;
 // cancela seleção do texto
  JvRichEdit1.SelLength := 0;
 // posicionar no final do texto principal
  Editor.SelStart := Length(Editor.Lines.Text);
 // cola texto copiado
  Editor.PasteFromClipboard;

Veja se consegue colocar isto no seu código e avaliar se lhe atende.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Putz Micheus Você me salvou!

Funcionou o código :blush:

Eu não sabia que eu podia copiar um texto para o Clipboard com o Delphi!

Na verdade, não é que eu não sabia, mas é que não pensei nisso.

É foda, mas as vezes pensamos em mil coisas e nos esquecemos de algom tão simples!

Muito obrigado pela ajuda =)

Boa semana te trabalho ai para você!

Editado por Greed
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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...