Boa tarde,
sou novo utilizando o xmaker, e gostaria de saber como poderia anexar arquivos pdf em meu formulário. De ter algum exemplo ficaria muito grato.
obrigado.
Trabalhando com PDF
-
- Mensagens: 244
- Registrado em: Dezembro 22nd, 2010, 1:05 am [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Re: Trabalhando com PDF
Olá, segue abaixo um passo a passo de como fazer:
1- Crie um campo alfanumérico chamado "LINK" na tabela do formulário que você quer anexar.
2- Abra pelo Delphi o arquivo Rotinas.pas
2.1. Em Uses, declare a unit SHELLAPI
2.2- Declare uma procedure, coloque abaixo da última função declarada:
procedure ExecFile(F: String);
2.3- Crie ela, coloque abaixo da última função criada:
procedure ExecFile(F: String);
var
r: String;
Handle: THandle;
begin
case ShellExecute(Handle, nil, PChar(F), nil, nil, SW_SHOWNORMAL) of
ERROR_FILE_NOT_FOUND: r := 'The specified file was not found.';
ERROR_PATH_NOT_FOUND: r := 'The specified path was not found.';
ERROR_BAD_FORMAT: r := 'The .EXE file is invalid (non-Win32 .EXE or error in .EXE image).';
SE_ERR_ACCESSDENIED: r := 'Windows 95 only: The operating system denied access to the specified file.';
SE_ERR_ASSOCINCOMPLETE: r := 'The filename association is incomplete or invalid.';
SE_ERR_DDEBUSY: r := 'The DDE transaction could not be completed because other DDE transactions were being processed.';
SE_ERR_DDEFAIL: r := 'The DDE transaction failed.';
SE_ERR_DDETIMEOUT: r := 'The DDE transaction could not be completed because the request timed out.';
SE_ERR_DLLNOTFOUND: r := 'Windows 95 only: The specified dynamic-link library was not found.';
SE_ERR_NOASSOC: r := 'There is no application associated with the given filename extension.';
SE_ERR_OOM: r := 'Windows 95 only: There was not enough memory to complete the operation.';
SE_ERR_SHARE: r := 'A sharing violation occurred.';
else
Exit;
end;
ShowMessage(r);
end;
3- Salve o arquivo Rotinas.pas
4- Pelo Xmaker insira o campo alfanumérico no formulário e no evento OnClick insira o seguinte código:
begin
ExecFile(TabGlobal.DCLIENTES.LINK.Conteudo);
end;
4.1- Nas propriedade do campo em "Cursor" mude para "crHandPoint", assim quando clicar no documento anexado vai aparecer um mãozinha.
5- Na paleta de componentes "Diálogo" insira o componente "SaveDialog" no formulário.
5.1- Nas propriedades do componente vá em "InitialDir" e digite "c:\"
Para pesquisar o pdf a partir do diretório C.
6- Insira um botão no formulário, e coloque o seguinte código no envento OnClick:
if salvedialog1.execute then
TabGlobal.DCLIENTES.LINK.Conteudo:=salvedialog1.FileName;
Quando clicar nele, irá abrir uma janela para procurar o arquivo a ser anexado.
7- Compile e veja o resultado.
Obs.: Esse passo a passo serve para anexar e abrir qualquer tipo de arquivo(Pdf, Doc, Imagem, etc).
Obs.: Essa procedure permite abrir arquivos que não contém espaços em seus nomes.
Anexo.jpg
Anexo2.jpg
1- Crie um campo alfanumérico chamado "LINK" na tabela do formulário que você quer anexar.
2- Abra pelo Delphi o arquivo Rotinas.pas
2.1. Em Uses, declare a unit SHELLAPI
2.2- Declare uma procedure, coloque abaixo da última função declarada:
procedure ExecFile(F: String);
2.3- Crie ela, coloque abaixo da última função criada:
procedure ExecFile(F: String);
var
r: String;
Handle: THandle;
begin
case ShellExecute(Handle, nil, PChar(F), nil, nil, SW_SHOWNORMAL) of
ERROR_FILE_NOT_FOUND: r := 'The specified file was not found.';
ERROR_PATH_NOT_FOUND: r := 'The specified path was not found.';
ERROR_BAD_FORMAT: r := 'The .EXE file is invalid (non-Win32 .EXE or error in .EXE image).';
SE_ERR_ACCESSDENIED: r := 'Windows 95 only: The operating system denied access to the specified file.';
SE_ERR_ASSOCINCOMPLETE: r := 'The filename association is incomplete or invalid.';
SE_ERR_DDEBUSY: r := 'The DDE transaction could not be completed because other DDE transactions were being processed.';
SE_ERR_DDEFAIL: r := 'The DDE transaction failed.';
SE_ERR_DDETIMEOUT: r := 'The DDE transaction could not be completed because the request timed out.';
SE_ERR_DLLNOTFOUND: r := 'Windows 95 only: The specified dynamic-link library was not found.';
SE_ERR_NOASSOC: r := 'There is no application associated with the given filename extension.';
SE_ERR_OOM: r := 'Windows 95 only: There was not enough memory to complete the operation.';
SE_ERR_SHARE: r := 'A sharing violation occurred.';
else
Exit;
end;
ShowMessage(r);
end;
3- Salve o arquivo Rotinas.pas
4- Pelo Xmaker insira o campo alfanumérico no formulário e no evento OnClick insira o seguinte código:
begin
ExecFile(TabGlobal.DCLIENTES.LINK.Conteudo);
end;
4.1- Nas propriedade do campo em "Cursor" mude para "crHandPoint", assim quando clicar no documento anexado vai aparecer um mãozinha.
5- Na paleta de componentes "Diálogo" insira o componente "SaveDialog" no formulário.
5.1- Nas propriedades do componente vá em "InitialDir" e digite "c:\"
Para pesquisar o pdf a partir do diretório C.
6- Insira um botão no formulário, e coloque o seguinte código no envento OnClick:
if salvedialog1.execute then
TabGlobal.DCLIENTES.LINK.Conteudo:=salvedialog1.FileName;
Quando clicar nele, irá abrir uma janela para procurar o arquivo a ser anexado.
7- Compile e veja o resultado.
Obs.: Esse passo a passo serve para anexar e abrir qualquer tipo de arquivo(Pdf, Doc, Imagem, etc).
Obs.: Essa procedure permite abrir arquivos que não contém espaços em seus nomes.
Anexo.jpg
Anexo2.jpg
Você não está autorizado a ver ou baixar esse anexo.
Att,
Gustavo Barreto
Gustavo Barreto
-
- Mensagens: 15
- Registrado em: Junho 8th, 2011, 3:08 pm [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Re: Trabalhando com PDF
Obrigado,
Vou testar ela.
Vou testar ela.
-
- Mensagens: 6
- Registrado em: Fevereiro 3rd, 2014, 2:39 pm [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Re: Trabalhando com PDF
Boa tarde
Formulário pronto tudo feito, mas sempre que executo mostra esse erro:
CAD_Engenharia.Pas[1088] Error: Undeclared Identifier: 'savedialog1' CAD_Engenharia.Pas[1088].
o que pode ser ?
Formulário pronto tudo feito, mas sempre que executo mostra esse erro:
CAD_Engenharia.Pas[1088] Error: Undeclared Identifier: 'savedialog1' CAD_Engenharia.Pas[1088].
o que pode ser ?
-
- Mensagens: 6
- Registrado em: Fevereiro 3rd, 2014, 2:39 pm [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Re: Trabalhando com PDF
oi, eu usei 4 campos para armazenar os documentos, porque ele só armazena no mesmo documento em todos os campos ?
-
- Mensagens: 1
- Registrado em: Outubro 2nd, 2017, 9:31 pm [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Re: Trabalhando com PDF
Alguem tem um jeito mais simples de fazer com que sistemas pelo xmaker anexe arquivos pdf e outros ?
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes