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

(Resolvido) Duvida Gerar Html a partir do Edit


C.J.

Pergunta

Boa noite!

Estou com uma duvida,

Estou com o seguinte código em um Button:

var
  HTML : TStringList;
begin
  HTML := TStringList.Create;
  HTML.Add('<html>');
  HTML.Add('<head>');
  HTML.Add('  <title>' + Edit1.Text + '</title>');
  HTML.Add('</head>');
  HTML.Add('</html>');
  HTML.Add('<body>');
  HTML.Add('<h1>' + Edit2.Text + '</h1><br />');
  HTML.Add('<center>' + Memo1.Lines.Text + '</center>');
  HTML.Add('</body>');
  HTML.SaveToFile('\index.htm');
  HTML.Free;
end;

O programa esta compilando certinho, sem erros.

Quando vou usar recebo uma mensagem de acesso negado: Cannot create file "C:\index.htm". Acesso negado.

 

Alguém sabe como resolver isso?

 

Obrigado.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Jhonas, vou fazer os testes.

Com essa forma de salvar: 

HTML.SaveToFile('\index.htm');

Deixando o diretório em branco apenas com a "\" ele não salvaria teoricamente no local onde esta o executável do delphi? Se não, poderia me informar um método para salvar o html gerado no mesmo diretório da aplicação?

 

Obrigado 

Link para o comentário
Compartilhar em outros sites

  • 0

deixando em branco, ele pega o diretório padrão  C:\

HTML.SaveToFile('\index.htm');

ou

HTML.SaveToFile('C:\index.htm');

o erro é que voce não tem autorização para salvar no seu Diretório C:\

 

poderia me informar um método para salvar o html gerado no mesmo diretório da aplicação?

procedure TForm1.Button1Click(Sender: TObject);
var
  HTML : TStringList; dirAtual : string;
begin
  HTML := TStringList.Create;
  HTML.Add('<html>');
  HTML.Add('<head>');
  HTML.Add('  <title>' + Edit1.Text + '</title>');
  HTML.Add('</head>');
  HTML.Add('</html>');
  HTML.Add('<body>');
  HTML.Add('<h1>' + Edit2.Text + '</h1><br />');
  HTML.Add('<center>' + Memo1.Lines.Text + '</center>');
  HTML.Add('</body>');
  dirAtual := GetCurrentDir();
  HTML.SaveToFile(dirAtual + '\index.htm');
  HTML.Free;
end;

 

abraço

 

Link para o comentário
Compartilhar em outros sites

  • 0

Opa! Agora sim.

 

Obrigado, segue como ficou o código para quem tiver dúvida:

var
  dirAtual : String;

procedure TForm1.Button1Click(Sender: TObject);
begin
// Capturar o diretório atual do app
  dirAtual := GetCurrentDir;
   HTML := TStringList.Create;
  HTML.Add('<html>');
  HTML.Add('<head>');
  HTML.Add('  <title>' + Edit1.Text + '</title>');
  HTML.Add('</head>');
  HTML.Add('</html>');
  HTML.Add('<body>');
  HTML.Add('<h1>' + Edit2.Text + '</h1><br />');
  HTML.Add('<center>' + Memo1.Lines.Text + '</center>');
  HTML.Add('</body>');
  dirAtual := GetCurrentDir();
  HTML.SaveToFile(dirAtual + '\index.htm');
  HTML.Free;
  ShowMessage('Arquivo gerado com sucesso em: '+ dirAtual);
end;

 

Abraços e obrigado!

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,5k
×
×
  • Criar Novo...