Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
caiocaesar

Gerador de documentos de texto

Recommended Posts

Prezados,

Estou querendo desenvolver um aplicativo simples, que consiste em um gerador de documentos de texto, a partir da entrada de dados pelo usuário.

A ideia do algoritmo é esta:

Leia Nome;

Leia Sexo;

Leia Idade;

Se Sexo = 'Masculino' então

Escreva 'O'

Senão

Escreva 'A';

Escreva Nome;

Escreva ' tem ';

Escreva Idade;

Escreva ' anos.'

(Não sei se consegui expor corretamente o algoritmo, caso não esteja correta a escrita, por favor me avisem, para que eu possa tentar explicar melhor o que estou querendo).

Certamente o aplicativo, embora simples, será mais complexo que o exemplo, imagino que cada texto gerado terá em torno de 40 variáveis.

Não sou programador, embora tenha estudado sobre o assunto no passado, mas estou disposto a me dedicar para desenvolver este aplicativo.

No momento estou utilizando um livro de Delphi, pois conheço um pouco de Pascal, o que iria me ajudar, mas não sei se é exatamente a melhor escolha.

A dúvida é: qual linguagem vocês recomendam para este uso específico?

Outro ponto: eu consigo imaginar que este gerador de texto possa criar um arquivo .txt sem maiores problemas. Porém, seria desejável que ele já criasse um arquivo .odt, para o BrOffice, com toda a formatação pronta. Alguém sabe dizer se é possível/simples fazer isso?

Att,

Caio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua lógica está perfeita, basta aprender mais a sintaxe das linguagens, acredito que Delphi de conta do recado.

Sobre o .odt não se te responder, sei que para Office você teria problemas, pois exigi a utilização de algumas DLL por fora.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Robson,

    Obrigado pela ajuda.

    Passei a tarde quebrando a cabeça pra conseguir passar essa lógica pro Lazarus, com bastante dificuldade no começo, pra me adaptar a certas particularidades que não exisitiam no "Turbo Pascal", mas acabou que saiu:


    procedure TFormPrincipal.ButtonGerarClick(Sender: TObject);
    begin
    Sexo:=EditSexo.Text;
    if (Sexo = 'M') or (Sexo = 'm') then
    begin
    Texto:='O '+EditNome.Text + ' tem ' + EditIdade.Text + ' anos.';
    Showmessage(Texto);
    end
    else
    if (Sexo = 'F') or (Sexo = 'f') then
    begin
    Texto:='A '+EditNome.Text + ' tem ' + EditIdade.Text + ' anos.';
    Showmessage(Texto);
    end
    else
    Showmessage('Erro no campo Sexo!');
    end;

    Meu próximo passo agora é gerar um arquivo .txt com a variável Texto. Alguém pode dar uma luz?

    Quanto ao uso de DLL para essa relação do aplicativo com o Office ou com o BrOffice, alguém já fez algo do tipo?

    Editado por caiocaesar

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Bom, se voce quiser que o documento ja seja em ODT ou DOCX (office) então não faz sentido programar em outra linguagem, aliás nem programar vai ser preciso, pois voce poderá usar a mala direta, mas se for por programacao então voce tera que utilizar o basic do broffice ou o VBA do ms office.

    Agora para TXT simples voce pode usar qualquer linguagem.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • XFlaPC,

    Não compreendi de que forma eu poderia fazer isso utilizando a ferramenta "Mala Direta".

    Obrigado pela dica do Basic do BrOffice, acabei de encontrar um material sobre isso, vou dar uma estudada.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    voce precisa desse programa (está fazendo um trabalho para faculdade, está treinando programação, etc) ou voce precisa na prática apenas de gerar documentos com campos? Se for a 2ª opção é bem mais simples e prático.

    O Office é mais robusto, mas dá pra fazer também por broffice.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Preciso para gerar um documento com campos mesmo.

    Eu só conhecia essa função de mala direta do office de nome, nunca utilizei, vou dar uma analisada pra ver se é possível. Acredito que se torne um pouco difícil construir a estrutura condicional da maneira que preciso utilizando apenas a mala direta (como disse, imagino que o texto conte com umas 40 variáveis, e ainda tem que considerar que certos parágrafos são inseridos ou não de acordo com os dados inseridos, além da concordância gramatical entre os termos), mas vou tentar.

    Obrigado pela ajuda!

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    No MS Office Word existem campos condicionais onde dá pra fazer uma programação básica.

    Primeiro de tudo, crie uma planilha exel com a 1a linha contendo o nome dos campos nas colunas A, B, ..... Exemplo: NOME, IDADE, SEXO, aí a partir da linha 2 você vai preenchendo com as pessoas.

    Abre o word, vai na aba correspondencias, clica em selecionar destinatarios, clica em usar lista existente, procure a planilha excel que criou.

    Agora é so preencher o texto da sua carta, quando chegar no ponto onde deve entrar os dados personalizados você clica em Inserir campo de mesclagem.

    SE o texto for condicional, por exemplo "O" para masc e "A" para feminino, é so você ir em "REgras" e selecionar Se...então...senão...

    terminado isso é só ir em concluir e mesclar

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário

    Entre para seguir isso  





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×