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 »