Como uma nova linguagem de programação do Windows, o Delphi é cada vez mais preferido por programadores e entusiastas por causa de seus muitos recursos excelentes. As dez dicas a seguir cobrem uma ampla variedade de tópicos e espero que sejam benéficas para os entusiastas do Delphi.
1. Semelhante ao vb. os eventos funcionam em.
Você pode descobrir que não há equivalente a vb no Delphi. doevents funciona, então às vezes não conseguiremos fazer o Windows responder a vários eventos simultâneos. Na verdade, o objeto application do Delphi inclui um método semelhante: PRocessMessage Você pode chamar application. ProcessMessage para completar como vb. A mesma funcionalidade que doevents no .
2. Chame o NetscapeNavigator no Delphi.
Com a popularidade da Internet, você já pensou em iniciar o navegador Netscape em seu programa Delphi e exibir a página inicial do endereço WWW que você especificou? O programa a seguir pode realizar esta função.
programaNetscape;
usaDDEMan;
procedimentoGo??toURL(sURL: string);
var
dde:TDDEClientConv;
começar
dde:=TDDEClientConv. Criar(nulo);
retirou-se
começar
//especifica a localização do netscape. exe
ServiceApplication:=′c: s32program etscape. exe';
//ativa oNetscapeNavigator
SetLink('Netscape', 'WWW-Ativar');
RequestData(′0xFFFFFFFF′);
//gotothespecifiedURL
SetLink('Netscape', 'WWW-OpenURL');
RequestData(sURL+′,,0xFFFFFFFF,0x3,,,′);
Fechar Link;
fim;
dde. Livre;
fim;
começar
GotoURL(′http://www.yahoo.com/′);
fim.
3. Saída inteira formatada.
Números relativamente grandes parecerão difíceis de ler na saída. É bastante simples exibir números com marcas de seção no Delphi, como segue: xxxxx. legenda: ΚFormatFloat(′#′, 524667500).
4. Obtenha dicas em tempo de compilação.
No Delphi2.0, ao compilar, você pode pedir ao compilador para lhe dar algumas dicas, como quais variáveis são declaradas, mas nunca usadas. Sabemos que você pode controlar se deseja que o Delphi faça isso através das opções no menu, mas e se, devido a alguma necessidade especial, você só precisar que o Delphi solicite um segmento de código específico? Consulte os procedimentos a seguir.
{$HINTON}
procedimentoTform1. Button1Click(Remetente: TObject);
var
X: inteiro;
começar
fim;
{$HINTOFF}
5. Altere o papel de parede do Windows95.
Você pode alterar o papel de parede facilmente no Delphi, consulte o procedimento a seguir.
procedimentoChangeIt;
var
Reg:TregIniFile;
começar
Reg:ΚTRegIniFile. Criar('ControlPanel')
;
Reg. WriteString('desktop', 'Papel de parede',
'c: floresta pwin95. bmp');
Reg. WriteString('desktop', 'TileWallpaper
′,′1′);
Reg. Livre;
SystemParametersInfo(SPI-SETDESKWALLPAPER, 0
, nulo, SPIF-SENDWININICHANGE);
fim;
6. Obtenha a data em que o arquivo foi usado pela última vez.
Existe uma nova função no Win95, que é obter a última data de acesso ao arquivo. O famoso software CleanSweapforWin95 conta com essa função como uma das bases para julgar se um arquivo é acessado com frequência. No Delphi, podemos realizar esta função através do programa a seguir.
functionGetFileLastaccessTime(sFileName:string):TDate??Time;
var
ffd:TWin32FindData;
dft:DWord;
lft:TFileTime;
h: Alça;
começar
//obter informações do arquivo
h:ΚJanelas. FindFirstFile(PChar(sNomeArquivo),ffd);
se(INVÁLIDO―HANDLE―VALUEΙΛh)então
começar
//estamos procurando apenas um arquivo,socloSENosso"encontrar"
Windows. EncontrarFechar(h);
//converte oFILETIME para localFILETIME
FileTimeToLocalFileTime(ffd.ftLastAccessTime, lft);
//converteFILETIMEparaDOStime
FileTimeToDosDateTime(lft,LongRec(dft).Oi,LongRec(dft).Lo);
//finalmente, convertDOStimetoTDateTimeforuseinnativedate/timefunctions do Delphi
Resultado: ΚFileDateToDateTime(dft);
fim;
fim;
GetFileLastAccessTime() retornará a data do último acesso do arquivo que você especificou no formato TdateTime do Delphi.
7. Etiquetas coloridas.
Não estamos mais satisfeitos com os rótulos simples fornecidos pelo Delphi. Podemos ter fontes e cores diferentes nos rótulos para enriquecer nossas capacidades de desempenho. A resposta é sim, e não há necessidade de controles fornecidos por terceiros. Precisamos apenas usar de forma inteligente o TRichEdit fornecido pelo próprio Delphi. Primeiro remova a borda do controle TRichEdit: RichEd??it1. BorderStyle: ΚbsNone; também define o atributo somente leitura como verdadeiro: RichEd??it1. ReadOnly: ΚTrue Em seguida, você usa software como write para criar texto no formato RichText, que pode ser exibido por meio da seguinte instrução:
RicoEditar1. Texto Simples:ΚFalso;
RicoEditar1. Linhas. LoadFromFile(′c:est.rtf′);
8. Como evitar que o Win95 exiba erros críticos.
Não importa como você depura seu programa repetidamente, após entregá-lo ao usuário, podem ocorrer erros inesperados. Como evitar que o Win95 exiba uma janela branca e informe aos usuários que ocorreu um erro inesperado e embaraçoso? Podemos fazer isso:
var
wOldError??Modo: Palavra;
começar
//tellwin??dowstoignorecriticalerrorsandsavecur??renterrormode
wOldError??Modo: ΚSetEr??rorMode (SEM-FAILCRITI??CALERRORS);
tentar
//código que pode gerar um erro crítico aqui. . .
finalmente
//volta para o modo de erro anterior
SetErrorMode(wOldErrorMode);
fim;
fim;
Use SetErrorMode() principalmente para completar esta função.
9. Qual objeto acabou de ser clicado com o mouse.
No Win95, o botão direito do mouse desempenha um papel importante. No entanto, devido a razões históricas, o uso do botão direito não é eficaz o suficiente, mesmo no Delphi. O programa a seguir pode lhe dizer como saber o nome do objeto. apenas cliquei com o botão direito. Primeiro crie um menu pop e, em seguida, o código a seguir poderá informar o nome do objeto no qual você acabou de clicar com o botão direito: Popup??Menu1. PopupComponent. Nome da classe.
10. Verifique se o CD-ROM ou outros discos foram alterados.
A maneira mais simples de verificar se um CD-ROM ou disco foi alterado é verificar o número do volume. Você pode simplesmente usar a seguinte função para retornar o número de série do volume do disco GetDiskVolSerialID ('E').
functionGetDiskVolSerialID(cDriveName: char): DWord;
var
dwTemp1, dwTemp2:DWord;
começar
GetVolumeInformation(PChar(cDriveName+′:′), Nil, 0, ΝResult, dwTemp2, dwTemp2, Nil, 0);
fim;