Copiando arquivos entre Pastas com Delphi no Windows 7

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (4 votos, média: 5,00)
Loading...

Postado por Plinio Cruz em 17 de dezembro de 2012 na categoria Delphi, Programação, Soluções | Seja o primeiro a comentar

Há tempos eu utilizava em meus sistemas uma rotina para cópia entre pastas que funcionava muito bem, veja:

function JCopiarq(PathOrigem: String; ArqOrigem: String ; PathDestino: String ; Manter: Boolean):boolean;
var
SR: TSearchRec;
I: integer;
Origem, Destino: String;
begin
I := FindFirst(PathOrigem+ArqOrigem,faAnyFile, SR);
while I = 0 do begin
if (SR.Attr and faDirectory) <> faDirectory then begin
Origem := PathOrigem + SR.Name;
Destino := PathDestino + SR.Name;
if not CopyFile(PChar(Origem), PChar(Destino), Manter) then Result:=False else Result:=true;
end;
I := FindNext(SR);
end;
end;

Com a entrada do Windows 7 a função “TSearchRec” não se mostrou eficiente e não funcionava mais, nem mesmo liberando as permissões de gravação das pastas envolvidas, por isso troquei para “TSHFileOpStruct”. Observe um procedimento com a função:

procedure TForm1.Button1Click(Sender: TObject);
var
Dados: TSHFileOpStruct;
begin
FillChar(Dados,SizeOf(Dados), 0);
with Dados do
begin
wFunc := FO_COPY;
pFrom := PChar(Edit1.Text);
pTo   := PChar(Edit2.Text);
fFlags:= FOF_ALLOWUNDO;
end;
SHFileOperation(Dados);
end;

Vale o registro que em uma cópia de arquivos, pode-se e deve-se utilizar “*.*”, exemplo

Leia mais »

Como alternar cores nas linhas de impressão no Quick Report no Delphi

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (1 votos, média: 5,00)
Loading...

Postado por Plinio Cruz em 14 de dezembro de 2012 na categoria Delphi, Programação | Seja o primeiro a comentar

Uma solução interessante para relatórios é o “zebrado” nas linhas, não fica muito pesado visualmente como uma grade e facilita a leitura da mesma forma. É uma técnica muito utilizada e no Quick Report é muito fácil de fazer.

Mostraremos como fazer um "zebrado" de branco e cinza no formulário.

Mostraremos como fazer um "zebrado" de branco e cinza no formulário.

Utilizaremos um formulário simples que mostrará como deve ser montado de forma rápida a operação para alternância entra o cinza e o branco como no exemplo acima. Observe a montagem do Quick Report Abaixo:

Montagem do quick report para alternância das linhas

Montagem do quick report para alternância das linhas

Nesse Quick Report temos os tipos de QRBand, pela ordem: Page Header, Title, ColumnHeader, Detail e Page Footer. Optamos por começar o relatório com o cinza na linha do título, para isso alteramos o “Color” para “clSilver” tanto do QRBand, quanto dos QRLables que utilizamos para os títulos das colunas no ColumnHeader.

Leia mais »

Executando Aplicativos no Delphi com Windows 7

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Sem votos, vote agora!)
Loading...

Postado por Plinio Cruz em 2 de novembro de 2012 na categoria Delphi, Programação, Soluções | Leia o primeiro comentario

Quanddo é preciso executar um aplicativo ou abrir um arquivo automaticamente por meio do seu executável, pode-se optar por três métodos: WinExec, ShellExecute ou CreateProcess.

A diferença dos três é definida muito bem por Marcos Dell Antonio:

WinExec: simples, porém não recomendado pela própria Microsoft, pois pode ser que futuramente não estará mais disponível;
ShellExecute: utilizado quando existe a necessidade de abrir um arquivo conforme sua extensão. Também pode ser usado para rodar um executável qualquer;
CreateProcess: o substituto do WinExec e, certamente, a melhor opção. Possui uma lista gigante de parâmetros, mas muitos deles não são utilizados e podem ser passados como nil ou 0 (zero).

Achei uma rotina para ser aplicada para a utilização do CreateProcess, muito fácil e testada:

procedure dgCreateProcess(const FileName: string);
var ProcInfo: TProcessInformation;
    StartInfo: TStartupInfo;
begin
     FillMemory(@StartInfo, sizeof(StartInfo), 0);
     StartInfo.cb := sizeof(StartInfo);
     CreateProcess(
                   nil,
                   PChar(FileName),
                   nil, Nil, False,
                   NORMAL_PRIORITY_CLASS,
                   nil, nil,
                   StartInfo,
                   ProcInfo);
     CloseHandle(ProcInfo.hProcess);
     CloseHandle(ProcInfo.hThread);
end;

Leia mais »

Quando o Panel assuma cor do form no Delphi 7

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Sem votos, vote agora!)
Loading...

Postado por Plinio Cruz em 29 de outubro de 2012 na categoria Delphi, Programação | Seja o primeiro a comentar

Quando utilizando o componente “panel” e utilizamos cores para diferenciar do form para operações isolados no software, ainda mais quando utilizamos o XPManifest é comum que, apesar da cor aparecer no modo de produção, quando rodamos o sistema o panel assume a cor do Form, acabando com a diferenciação, no Windows 7 tem o agravante que ainda pode pegar a transparência dependendo da configuração adotada pelo usuário.

Para solucionar isso é fácil. Selecione o panel desejado e vá nas propriedades do “Object Inspector” e desligue o ParentBackGround e Parente color, passando eles para “false”, veja:

Se você precisar utilizar isso em vários panels no seu sistema, pode ainda fazer via programação, veja a dica do site Ramos da Informática é muito eficiente para esse caso. Basta colocar no evento OnForm ou OnCreate.

Leia mais »

Locação de Fitas de Vídeo com Delphi – Atualizado

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (2 votos, média: 5,00)
Loading...

Postado por Plinio Cruz em 9 de janeiro de 2012 na categoria Banco de Dados, Delphi, Downloads, Programação | 5 Comments to Read

Prezados visitantes do Clube nosso colaborador, Jackson Pires, a pedidos de muitos dos nossos visitantes, nos encaminhou um PDF atualizado do sistema de Locação de Fitas de Vídeo, uma compilação do projeto com Capa, projeto e tabelas, podem utilizar o link abaixo que já está atualizado. Deixo nosso agradecimento ao amigo com a atenção e cuidado com nosso espaço aqui. Segue o artigo de 2009 com link atualizado. Abraço Plínio Cruz

Jackson Pires, o colaborador dos tutoriais mais completos de Delphi do Clube da Informática, volta a presentear nossos visitantes com um curso completo para desenvolvimento de um projeto de Locação de Fitas de Vídeo.

O arquivo PDF é ricamente recheado de imagens e  muito bem detalhado. Serve de guia não só para a sua aplicação primária, mas como consulta para qualquer sistema de gerenciamento de banco de dados, pois trata das principais ferramentas necessárias para um sistema de gestão de dados.

O nível de detalhamento que leva o leitor do momento de criação das pastas, passando pela criação de menus e tabelas até chegar ao ponto de finalização do projeto e os relatórios.

Obrigado Jackson pela colaboração!

Leia mais »