1. Se você deseja que seu programa trate as exceções corretamente, cite a unidade SysUtils.pas, caso contrário, mesmo que o programa use try. . . exceto. . . As exceções também não são capturadas corretamente. 2. Uma maneira de definir uma string constante resourcestring aa='aaaa';raise Exception.CreateRes(@aa); 3. Inicialização da constante de string array const constarray:array [0..2] of string=('first ', 'segundo','terceiro');4. Tipo de inicialização da estrutura Tstructinit=registro A1:inteiro A2:matriz [0..2] de inteiro;End;Const m_structinit:Tstructinit=(A1:0;A2:(0,1,2));5. O comprimento da matriz multidimensional var array2:array de array de inteiro;setlength(array2,2,2) ;6 O espaço aberto usando Create e New existe no heap e não pode ser liberado automaticamente. É recomendado usar FreeAndNil para liberar parâmetros e variáveis locais. 7. SizeOf não é adequado para objetos e sempre retorna 4; pode ser retornado corretamente para tipos fixos 8. Create(nil) precisa ser liberado manualmente e Create(self) será liberado conforme o proprietário libera. as alterações foram Defina o valor da constante PRocedure ChangeConst(const Const;var Value;Size:Integer);begin Move((@Value)^,(@Constant)^,Size);End;10. Usar DownTo em um loop ao executar uma operação de exclusão evitará erros 11. O código Ascii de caracteres chineses é> 128, que pode ser usado para determinar se é um caractere chinês 12. Ao escrever uma dll, você precisa usar. a unidade Sharemem para fazer referência ao gerenciamento de memória BORLANDMM.DLL 13. PostMessage apenas coloca a mensagem na fila de mensagens e precisa ser colocada na fila para processamento. SendMessage ignora a fila de mensagens e é enviada diretamente para o procedimento de janela, e não retorna até que o processamento da mensagem retorne o valor 14. Movimento do mouse para dentro e para fora das mensagens: CM_MOUSEENTER, CM_MOUSELEAVE15. ActivateHint para criar um formulário flutuante.17. Chame a caixa de diálogo de propriedades do arquivo usando a função ShellAPI; lpVerb := PAnsiChar('propriedades'); 0;classelp:=nil fim; ShellExecuteEX(@sfi);end;procedure TForm1.Button1Click(Sender: TObject);begin ShowFileProperties('c:/AA.txt', Handle);end;18. : TsystemTime;begin FillChar(MyTime,sizeof(MyTime),#0); MyTime.wYear:=2003; MyTime.wMonth:=06; MyTime.wDay:=01; Se não SetSystem(MyTime) thenShowmessage('Failure'); Corda);
var
Pesquisa: TSearchRec;
Rec: Palavra;
Começar
SourceDir := FonteDir + '/';
Rec := FindFirst(SourceDir + '*.*', faAnyFile, Search);
Enquanto Rec = 0 Faça
Começar
Se Search.Name[1] <> '.'
Começar
If (Search.Attr E faDirectory) = faDirectory Então
Começar
Windows.CreateDirectory(PChar(DestinationDir + '/' + Search.Name), nil);
FileSetAttr(DestinationDir + '/' + Search.Name, FileGetAttr(SourceDir + '/' + Search.Name));
X_Copy(SourceDir + '/' + Pesquisa.Nome, DestinoDir + '/' + Pesquisa.Nome);
fim
Outro
Começar
CopyFile(PChar(SourceDir + '/' + Search.Name),PChar(DestinationDir + '/' + Search.Name), True);
FileSetAttr(DestinationDir + '/' + Search.Name, FileGetAttr(SourceDir + '/' + Search.Name));
aplicação.ProcessMessages;
fim;
fim;
Rec := FindNext(Pesquisar);
fim;
EncontrarFechar(Pesquisar);
fim;20. Desenhar procedimento de bitmap transparente DrawTrans(DestCanvas: TCanvas; ; ORBitmap:= NIL; try ANDBitmap:= TBitmap.Create;= TBitmap.Create;= Bounds(0,0, SrcBitmap.Width, SrcBitmap.Height); .Color := clPreto; cmSrcCopy; Canvas.BrushCopy(Src, SrcBitmap, Src, AColor); com ANDBitmap começa Width:= SrcBitmap.Width:= SrcBitmap.Height; ; Canvas.BrushCopy(Src, SrcBitmap, Src, AColor); final com DestCanvas começa CM := CopyMode := cmSrcAnd; finalmente CM; ANDBitmap.Free; ORBitmap.Free; fim;fim;procedimento TForm1.Button4Click(Remetente: TObject);begin DrawTrans(Image1.Canvas, 0,0, Image2.Picture.Bitmap, clBlack, clSilver);end;21. Obter função de velocidade da CPU GetCpuSpeed: Extended;var t, mhi, mlo, nhi, nlo: dword; shr32: comp;início shr32:= 65536; 65536; nhi,edx mov nlo,eax end Resultado := ((nhi * shr32 + nlo) - (mhi * shr32 + mlo)) / 1E6;end;procedure TForm1.Button4Click(Sender: TObject);begin label1.Caption := FloatToStr(GetCpuSpeed) + 'mhz';end; Acabei de escrever muito e irei atualizar gradualmente e adicionar mais no futuro.