365 Dicas de Delphi
Índice

Introdução
VCL
1. ActionList
2. ImageList
3. Usando o TApplication
4. TCollection
5. Usando TStreams
6. Matrizes de componentes
7. Múltiplos componentes em seqüência
8. Múltiplos componentes com o mesmo evento - quem ativou ?
9. Criando manipuladores de eventos em tempo de execução
10. Criando componentes em tempo de execução
11. Trabalhando com Threads
12. TIniFile
13. TRegistry, TRegIniFile e TRegistryIniFile
Janelas, Teclado e Mouse
14. Usando o TScreen
15. Fazendo o Enter funcionar como Tab
16. Criando uma tela de entrada
17. Mostrando a janela de hint no programa
18. Movimentando uma janela sem barra de título
19. Movimentando controles em tempo de execução
20. Mostrando hints na barra de status
21. Colocando um bitmap no fundo de uma Form MDI
22. Hints com duas linhas
23. Limitando o tamanho de uma janela
24. Colocando uma imagem repetidamente no fundo de uma janela
25. Indo para o controle seguinte automaticamente
26. Arrastar e soltar entre componentes
27. Entrada de dados simplificada
28. Centralizando os títulos de uma StringGrid
29. Correr o texto num label
30. Hints com formatos diferentes
31. Mudando o botão default de uma MessageDlg
32. Mostrando Hints diferentes para cada coluna numa Grid
33. Criando janelas não retangulares
34. Escondendo janelas MDI filhas minimizadas
35. Adicionando itens ao menu de sistema
36. Pegando e alterando a posição atual do Mouse
37. Alinhando itens do menu à direita
38. Eliminando a movimentação de janelas MDI maximizadas
39. Movendo o mouse para o centro do botão selecionado
40. Alterando o desenho da barra de título
41. Janela Persiana
42. Impedindo a movimentação de uma janela
43. Capturando os eventos de minimização, maximização e restauração de janelas
44. Mantendo uma janela iconizada
45. Abrindo um item de menu usando código
46. Simulando um click de mouse
47. Fazendo a barra de título piscar
48. Eliminando o efeito de animação ao minimizar janelas
49. Verificando se um menu está aberto
50. Desenhando na borda de uma janela
51. Escondendo o cursor do mouse
52. Terminando a execução de um programa por inatividade
53. Apenas uma instância do aplicativo
54. Criando Teclas de Atalho em código
55. Mostrando a caixa de informações igual a aplicativos Windows
56. Mudando a cor do edit atual
57. Mudando a tela inicial conforme tecla pressionada
58. Criando atalhos sem opção de menu
Gráficos, Textos e Multimídia
59. Convertendo ícones para bitmaps
60. Convertendo BMPs para JPGs
61. Criando novos cursores
62. Colocando-se um cursor animado num arquivo de recursos
63. Salvando um bitmap da área de transferência
64. Imprimindo um bitmap da área de transferência
65. Usando um bitmap para preenchimento de áreas
66. Usando bitmaps em arquivos de recursos
67. Lendo imagens JPEG de arquivos de recursos
68. Verificando se um arquivo de bitmap é válido
69. Usando Glyphs
70. Desenhando um bitmap com fundo transparente
71. Desenhando texto em três dimensões
72. Extraindo ícones de um executável
73. Desenhando tipos diferentes de linhas
74. Enumerando as fontes disponíveis
75. Mais de um ícone para a aplicação
76. Tocando som sem o Media Player
77. Usando arquivos de som em arquivos de recursos
78. Mostrando texto inclinado
79. Extraindo o ícone associado a um arquivo
80. Descobrindo a faixa, minuto e segundo de um CD de áudio
81. Salvando a área de trabalho num bitmap
82. Abrindo e fechando a gaveta da unidade de CD
83. Calculando quebra de linhas
84. Desenhando um quadro de seleção
85. Verificando se o CD no drive é de áudio
86. Desenhando texto transparente
87. Usando a ImageList do sistema
88. Apresentando texto justificado nas duas margens
89. Mostrando nomes compridos de diretórios como "c:\...\teste\arquivo.txt"
90. Salvando informações de fonte
91. Controlando o AutoPlay de um CD
92. Textos com efeitos especiais
93. Criando áreas "quentes" na Form
Componentes
94. Acessando os botões de um TDBNavigator
95. Mudando cores de uma célula numa Grid
96. Permitindo tabulações numa Listbox
97. Habilitando a barra de rolagem horizontal de uma Listbox
98. Abrindo arquivos locais com o componente THTML
99. Colorindo linhas de um Listview
100. Acessando os RadioButtons de um RadioGroup
101. Edit alinhado à direita
102. Mostrando imagens numa Grid
103. Colocando uma Combobox numa StringGrid
104. Definindo uma borda para Memos
105. Escondendo as abas de um TPageControl
106. Aumentando a velocidade de adição de itens a uma Listbox
107. Deixando colunas de uma StringGrid somente para leitura
108. Mudando atributos do texto em um TRichEdit
109. Modo sobrescrever num TMemo
110. Desenhando nos painéis de uma StatusBar
111. Refrescando a lista de drives de um DriveComboBox
112. Teclas de aceleração num TPageControl
113. Colocando ícones numa ListBox
114. Pegando a linha e coluna atuais de um Memo
115. Setando a linha e coluna atuais de um Memo
116. Fazendo um TMemo ou TRichEdit apresentar a posição atual
117. Mudando o fonte de um Menu
118. Alterando as janelas de abrir e salvar arquivos
119. Detectando quando o mouse está sobre um componente
120. Criando um label Hiperlink
121. Pesquisa incremental numa listbox
122. Abrindo e escondendo a lista de uma combobox
123. Listando os arquivos numa Listbox
124. Desfazendo a edição em um campo memo
125. Setando tabulações em um Memo
126. Setando tabulações em um TRichEdit
127. Fazendo uma Listbox rolar sozinha
128. Inserindo texto em um memo
129. Eliminando a Hint de uma TreeView
130. Desabilitando um Panel para desabilitar seus componentes
131. Mudando o texto de um TEdit no seu evento OnChange
132. Criando uma TrackBar com linha de tracking fina
IDE
133. Ctrl-Shift-I e Ctrl-Shift-U
134. Ctrl-Seta e Shift-Seta nos componentes
135. Ctrl e Shift para selecionar componentes
136. Abrir nova janela de código
137. Esc para selecionar o pai
138. Bookmarks
139. Localizar breakpoints
140. Alterações simples em componentes
141. Alterações massivas em componentes
142. Ctrl sobre função ou variável - Histórico de hiperlinks
143. Ctrl-Seta p/ cima e p/ baixo
144. Shift-Ctrl-C - completar a classe
145. Alt-[ - procurar delimitador
146. Alt-Shift - seleção de colunas
147. Alt-Enter
148. Executando uma macro na Ide
149. Incluindo diversos componentes numa Form
150. Copiando um componente para a área de transferência
151. Selecionando a parada nas exceções
152. Iniciando o Delphi sem a tela inicial (splash screen)
153. Alinhando componentes em painéis diferentes
154. Transformando palavras para minúsculas ou maiúsculas
155. Deixando o Delphi apagar o código
156. Indo a uma linha do programa
157. Mantendo a distância de um controle em relação à borda da Form
158. Copiando propriedades de um componente
159. Compilação condicionada à versão
160. Ovos de Páscoa (Easter Eggs)
Object Pascal
161. Reduzindo testes if A = 10 then B := True;
162. Testes if - melhorando a performance
163. Como sair de um aplicativo - Halt ou Application.Terminate
164. Arrays dinâmicos
165. Variants
166. Operações com datas
167. Comparando datas
168. Encontrando o último dia do mês
169. Determinando a idade em meses e anos
170. Determinando a semana do ano
171. Trabalhando com parâmetros na linha de comando
172. Passando funções como parâmetros
173. Testando se um string contém um número válido
174. Criando diretórios com diversos níveis
175. Funções com número variável de parâmetros
176. Usando uma TList para guardar uma porção de inteiros
177. Usando o objeto associado a um TStringList
178. Evitando itens duplicados numa StringList
179. Procurando e alterando texto num string
180. Quebrando um string em uma lista
181. Incrementando ponteiros
182. Trabalhando com caracteres individuais de um string
183. Manipulação de bits
184. Invertendo um String
185. Usando matrizes para substituir if..then..else
186. Usando conjuntos para testes
187. ResourceStrings
188. Extraindo o nome do arquivo sem a extensão
189. Comentando pedaços longos do programa
190. Parâmetros default
191. Assertions
192. Manipulando exceções
193. Acessando membros protegidos de um objeto
194. PChars e Strings
195. Lendo um arquivo texto numa StringList
196. Strings delimitados por vírgulas (CSV)
197. Lendo um arquivo texto
198. Preenchendo um número com zeros à esquerda
199. Como resolver xy e tan(x)
Run Time Type Information (RTTI)
200. Is, As e Typecasting
201. Ações em grupos de componentes
202. Pegando a lista de propriedades de um componente
203. Pegando o valor de uma propriedade
204. Determinando se um componente tem uma propriedade específica
205. Convertendo valores enumerados para strings e vice-versa
206. Chamando uma form pelo nome
207. Setando propriedades de todos componentes de uma Form
Integração com o Sistema
208. Usando o Clipboard
209. Conhecendo o diretório do executável
210. Mudando o título da aplicação na barra de tarefas
211. Obtendo o tamanho e a data e hora de compilação do executável
212. Obtendo e mudando os atributos de arquivos
213. Colocando o ícone de uma janela secundária na barra de tarefas
214. Colocando um ícone animado quando a form é minimizada
215. Executando um programa DOS e fechando a janela em seguida
216. Como acessar variáveis de ambiente DOS
217. Listando todas janelas abertas
218. Detectando a finalização do Windows
219. Chamando a caixa de formatação de disco
220. Conhecendo o número de série do HD
221. Escondendo e mostrando a barra de tarefas do Windows
222. Verificando as opções da barra de tarefas
223. Colocando um ícone da aplicação na barra de tarefas ao lado do relógio
224. Fechando outras aplicações
225. Fechando todas janelas do Explorer abertas
226. Setando a data e a hora do sistema
227. Desabilitando o screen-saver
228. Sabendo se o screen-saver está ativo
229. Desabilitando as teclas Ctrl-Alt-Del e Alt-Tab
230. Mudando a resolução da tela "on-the-fly"
231. Executando um programa e esperando terminar
232. Capturando a saída de um programa DOS
233. Mostrando a página de propriedades de um arquivo
234. Comunicação entre processos
235. Determinar o tipo do drive
236. Verificar se o disquete esta no drive
237. Parar a execução da aplicação por algum tempo
238. Executando o programa associado a uma extensão
239. Convertendo nomes longos de arquivos para nomes curtos e vice-versa
240. Encontrando a data de último acesso de um arquivo
241. Pegando o nome do login do Windows
242. Reiniciando o computador
243. Pegando informação de versão
244. Executando o painel de controle e seus applets
245. Mudando o papel de parede do Windows
246. Obtendo-se a versão do Windows
247. Obtendo-se informações sobre o computador
248. Aceitando arquivos arrastados do Explorer
249. Determinando o estado das teclas CapsLock, NumLock e ScrollLock
250. Alterando o estado das teclas CapsLock, NumLock e ScrollLock
251. Sabendo se uma tecla esta pressionada
252. Fazendo um programa ser executado na inicialização do Windows
253. Apagando o executável atual
254. Apagando arquivos para a Lixeira
255. Adicionando um arquivo à lista de documentos recentes
256. Limpando a lista de documentos recentes
257. Escondendo e mostrando a barra de título
258. Determinando o número de cores do vídeo
259. Descomprimindo arquivos comprimidos com Compress
260. Obtendo a localização de pastas especiais
261. Criando um atalho na área de trabalho
262. Desligando o monitor de vídeo
263. Escondendo a aplicação da lista de tarefa do Ctrl-Alt-Del
264. Descobrindo o drive de boot
265. Escondendo ou mostrando o botão 'Iniciar'
266. Determinando a posição e tamanho da barra de tarefas
267. Escondendo ou minimizando outra aplicação
268. Refrescando os ícones da área de trabalho
269. Determinando o programa associado a uma extensão
270. Registrando um programa associado a uma extensão
271. Obtendo o nome do usuário e companhia
272. Obtendo o diretório do Windows
273. Mudando as cores do sistema
274. Manipulando a área de trabalho do Windows
275. Adicionando novos grupos ao menu Programas
276. Configurações internacionais
277. Listando os arquivos de "Remover Programas"
278. Mostrando a mensagem de erro de uma função da API
279. Testando o código de retorno de uma função API
280. Capturando teclas do sistema
Impressão
281. Usando o TPrinter
282. Descobrindo as impressoras do sistema
283. Mudando a impressora de destino
284. Descobrindo o nome da impressora padrão
285. Imprimindo modo fácil
286. Imprimindo modo difícil
287. Imprimindo o conteúdo de um Memo
288. Mudando o tamanho da página de impressão em código
289. Mandando caracteres de controle para a impressora
290. Descobrindo o tamanho de um texto na impressão
291. Verificando os trabalhos na fila de impressão
292. Mudando a porta de impressão em código
Database e Componentes Data-Aware
293. Trabalhando com Grids multisseleções
294. Abrindo arquivos dBase sem o MDX
295. Criando tabelas em tempo de execução
296. Reindexando tabelas
297. Compactando tabelas
298. Criptografando tabelas Paradox
299. Senhas de tabelas Paradox no programa
300. Pesquisa incremental numa tabela
301. Pesquisa incremental numa query
302. Escondendo e mostrando colunas de uma Grid
303. Mantendo fixa uma coluna de um DBGrid
304. Adicionando e removendo um alias da BDE em tempo de execução
305. Gerando uma pesquisa com dados fornecidos pelo usuário
306. Copiando uma tabela Paradox
307. Impedindo a inserção e apagamento de registros numa DBGrid
308. Número de registro em tabelas Paradox ou dBase
309. Obtendo informações sobre os campos de uma tabela
310. Obtendo informações sobre os índices de uma tabela
311. Testando a existência de um registro antes de inseri-lo
312. Listando os Aliases disponíveis e as Tabelas de cada alias
313. Lendo e guardando imagens JPG numa tabela Paradox
314. Eliminando a caixa de Logon de um Banco de Dados
315. Obtendo o caminho de um alias
316. Duplicando o registro atual
317. Determinando a versão da BDE
318. Pesquisa em índices compostos em tabelas dBase
319. Criando chaves únicas para tabelas
320. Criando tabelas permanentes a partir do resultado de uma query
321. Mostrando os registros deletados numa tabela dBase
322. Sabendo se um registro está marcado para deleção
323. Recuperando-se registros deletados
324. Mostrando valores modificados de um campo
325. Gravando um campo Blob em arquivo
326. Determinando a linha e coluna de uma DBGrid
327. Criando uma tabela com mesma estrutura de outra
328. Movendo colunas de uma DBGrid em código
Internet, Redes e Comunicação
329. Chamando a caixa de conexão Dial-UP
330. Pegando dados da conexão dial-up em curso
331. Chamando a caixa de diálogo de conexão de rede
332. Pegando as conexões de rede
333. Sabendo se o computador está em rede
334. Enumerando as conexões de rede
335. Adicionando uma conexão de rede por programa
336. Usando o modem para efetuar ligações
337. Listando as portas seriais
338. Abrindo o mailer do usuário
339. Obtendo o Browser padrão
340. Chamando o Internet Explorer da aplicação
341. Link DDE com Netscape
Programas e Rotinas
342. Extenso
343. Verificação de CNPJ(CGC)/CPF
344. Módulo 10
345. Copiar arquivos
346. Pesquisa de arquivos em subdiretórios
347. Criando uma Dll
348. Usando uma Dll
349. Dlls de recursos
350. Gerando uma aplicação console
351. Criando um protetor de tela
Extensão .SCR
Descrição
Cobrir toda a tela
Parâmetros de linha de comando
Executar apenas uma instância
Executar até pressionar tecla, botão do mouse ou movimento do mouse
Chamar as rotinas de senha
352. Criando um applet do Painel de Controle
353. Detetando se o Delphi está rodando
354. Encontrando o diretório do Delphi
Diversos
355. Troca de informações OLE com Word e Excel
356. Reduzindo a quantidade necessária de memória
357. Convertendo uma Form para Texto
358. Listando os recursos de um executável
359. Extraindo as Forms de um executável Delphi
360. Informações sobre cores
361. Delphi e o bug do milênio
362. Sites na Internet
363. Componentes Free
364. Listas de discussão
365. Revistas
366. Dica Bonus (para anos bissextos) - Origem do nome Delphi