Todas as dicas e rotinas desta seção foram
obtidas nos vários grupos
de discussão (newsgroups) sobre Delphi existentes na Internet.
IMPORTANTE:
Informamos não foram efetuados testes em todas as dicas ou
rotinas listadas nesta seção.
Sendo assim, o uso das mesmas é de sua inteira responsabilidade.
Armazenamento de fotos em banco de dados
Para armazenar fotos num banco de dados, você deve primeiramente criar um campo do tipo Blob numa tabela (em alguns gerenciadores de banco de dados, como o ACCESS, o campo é do tipo OLE). No formulário onde os dados serão editados, insira um componente TDBImage (este componente irá exibir a foto), um TOpenPictureDialog e um TButton próximo ao componente TDBImage. Coloque na propriedade DataField do componente TDBImage, o nome do campo do tipo Blob que você criou na sua tabela. Digite a rotina a seguir no evento onClick do componente TButton:
if OpenPictureDialog1.Execute then
DBImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
Assim que o botão (TBotton) for pressionado, ele abrirá a caixa de diálogo (TOpenPictureDialog) para seleção da foto que se deseja armazenar no banco de dados
Usando a tecla ENTER para saltar entre os campos de um formulário
Para usar a tecla ENTER para saltar entre os campos de um formulário no lugar da incômoda tecla TAB, digite o código a seguir no evento onKeyPress de todos os componentes TEdit ou TDBEdit do formulário:
if key = #13 then
begin
key := #0;
PostMessage(handle, WM_KEYDOWN, VK_TAB, 1);
end;
Para fazer o micro soar um beep (para alertar o usuário de um erro na digitação, por exemplo), basta chamar a seguinte função:
MessageBeep(0);
Lendo e gravando em arquivos texto
Para ler e gravar em arquivos texto, tente usar as seguintes funções e procedures deste esboço de uma rotina Delphi:
var
Texto: String;
ArquivoTexto: TextFile; {handle do arquivo texto}
begin
AssignFile(ArquivoTexto,'C:\teste\arqtexto.txt'); {Associa o arquivo a uma variável do tipo TextFile}
Reset(ArquivoTexto); {Abre o arquivo texto}
Readln(ArquivoTexto,Texto); {Armazena a linha atual do arquivo na string Texto
e salta para a próxima linha}
Writeln(ArquivoTexto,Texto); {Grava a string Texto no arquivo texto}
ReWrite(ArquivoTexto); {Recria o arquivo texto}
CloseFile(ArquivoTexto); {Fecha o arquivo texto}
end;
Função de leitura do número de série do disco rígido
Para você que quer proteger seu software contra cópias piratas, esta função lhe será muito útil:
function SerieHD(FDrive: String):String;
var
NrSerie,DirLen,Flags: DWord;
DLabel:Array[0..11] of Char;
begin
try
GetVolumeInformation(PChar(FDrive+':\'),DLabel,12,@NrSerie,DirLen,Flags,nil,0);
Result:=InttoHex(NrSerie,8);
except
Result:='';
end;
end;
Última atualização em 28/02/1999 Borland Delphi© é marca registrada da Inprise Corporation Todas as outras marcas são de propriedade de seus respectivos proprietários