Patrocínio Natura
Copiando arquivos entre Pastas com Delphi no Windows 7
Delphi , Programação , Soluções / 17 de dezembro de 2012

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

Como alternar cores nas linhas de impressão no Quick Report no Delphi
Delphi , Programação / 14 de dezembro de 2012

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. 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: 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.

Executando Aplicativos no Delphi com Windows 7
Delphi , Programação , Soluções / 2 de novembro de 2012

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;

Quando o Panel assuma cor do form no Delphi 7
Delphi , Programação / 29 de outubro de 2012

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.

Locação de Fitas de Vídeo com Delphi – Atualizado
Banco de Dados , Delphi , Downloads , Programação / 9 de janeiro de 2012

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!