AQUI COLOQUEI ALGUNS PROGRAMAS FONTES (BEM INTERESSANTES)
CHAT - CODIGO FONTE EM DELPHI(é um programa de bate-papo)
FTP - CODIGO FONTE EM DELPHI(é um programa de conecção via FTP)
INSTALL - CODIGO FONTE EM DELPHI(demostra como instalar arquivos,etc)
AQUI VAI ALGUNS DOWNLOADS LEGAIS
CLIPPER - COMANDOS E FUNÇÕES
LISTBOX-VB5 - ESTE É UM PROGRAMA COM CÓDIGO FONTE FEITO EM VISUAL BASIC 5 E QUE DEMONSTRA COMO SE TRABALHAR COM LISTBOX (engguga@bol.com.br)
DICAS DE DELPHI
messageBeep(0);
var
NumSec: SmallInt;
StartTime: LongInt;
begin
StartTime := Now;
repeat
Application.ProcessMessages;
until Now > StartTime + NumSec * (1/24/60/60);
end;
try
Screen.Cursor := crHourGlass;
{ Escreva o ação a executar aqui }
finally
Screen.Cursor := crDefault;
end;
Application.ProcessMessages;
procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
{ através do evento onKeyPress do formulário de controle... }
begin
{ se a "var Key" retornar o código #13 corresponde a <Enter>, #9 corresponde a tecla TAB }
if Key = #13 then
begin
Key := #0 { Suprime o som }
{ escreva aqui os seus comandos }
end;
end;
procedure TForm1.DBGridDrawDataCell(Sender: TObject; const Rect: TRect; Field: Tfield; State: TGridDrawState);
begin
if Table1Client.AsString = ‘XXXX’ then
begin
DBGrid.Canvas.Brush.Color := clRed;
DBGrid.Canvas.Font.Color := clSilver;
DBGrid.Canvas.FillRect(Rect); { Desenha o pano de fundo }
DBGrid1.Canvas.TextOut(Rect.Left+2, Rect.Top+1, Field.AsString);
end;
end;
WinExec(‘C:\windows\notepad.exe’, SW_SHOWNORMAL);
WinExec(‘C:\windows\notepad.exe’, SW_SHOWMAXIMIZED);
WinExec(‘C:\windows\notepad.exe’, SW_SHOWMINIMIZED);
Table1.First;
if not Table1.Eof then
repeat
{ seus comandos para a tabela }
Table1.Next
until Table1.Eof;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if Key = VK_F5 then
ShowMessage(‘Você pressionou a F5’);
end;
{ pode ser usado da VK_F1 a VK_F12 }
{ Este exemplo copia apenas tabelas de mesma estrutura }
var
Num: SmallInt;
begin
for Num := 0 to TabelaOrigem.FieldCount - 1 do
begin
TabelaDestino.Insert;
TabelaDestino.Fields[Num].Assign(TabelaOrigem.Fields[Num]);
TabelaDestino.Post;
end;
end;
function TestaParaPar(TestaInteiro : Integer) : boolean;
begin
if (TestaInteiro div 2) = (TestaInteiro/2) then
result := True
else
result := False;
end;
function IsInteger(TestaString: String) : boolean;
begin
try
StrToInt(TestaString);
except
On EConvertError do result := False;
else
result := True;
end;
end;
function SubData(DataEmprestimo: TDataTime) : Integer;
begin
result := Date - DataEmprestimo;
end;
DICAS DE VB
QUANDO O PROGRAMA FEITO NO VB DÁ PROBLEMA ELE EXIBE UMA MENSAGEM E O FECHA , PARA ISTO NÃO OCORRER FAÇA O SEGUINTE:
Sub Command1_Click()
On Error Goto Mens
{Comandos Normais}
Exit sub
'Para não mostrar a etapa "Mens" , assim ele saira depois dos COMANDOS NORMAISMens:
'Se der problema ele virá ate aqui , senão ele sairá no EXIT SUBMsgBox "Tente Novamente ..."
Exit Sub
'Se der Problema ele mostrará a Mensagem acima e sairá do SUBEnd Sub
Tratamento de Arquivos - VISUAL BASIC
O Visual Basic possui treis tipos de acesso a arquivo :
. Randomico
. Sequencial (Input , Output e Append)
. Binário
Acesso Randomico - Um arquivo aberto como random acess é assumido como sendo composto de uma série de registros (records) de tamanho idêntico. Apesar de um registro corresponder a um unico tipo de dados, podem existir tipos de dados definidos pelo usuário que podem ser usados para criar registros compostos de numerosos campos, onde cada um dele podem ter diferentes tipos de dados. O comprimento de cada registro necessita ser informado como parametro para o comando Open usado para abrir o arquivo para acesso randomico , ou então o Visual Basic assumirá o tamanho de 128 bytes. O comprimento é utilizado para calcular a posição do registro dentro do arquivo. Tudo que você precisa para acessar um registro em particular é especificar o numero do registro.
Abertura do Arquivo Randomico :
Open arquivo For Random As numero_de_arquivo Len = tamanho_de_registro
Leitura de dados :
Get #numero_de_arquivo, numero_de_registro, registro
Gravação de Dados :
Put #numero_de_arquivo, numero_de_registro, registro
Acesso Sequencial - O acesso sequencial é projetado para uso com arquivos texto. Cada caracter no arquivo representa um caracter do texto ou sequencia de formatação de texto, como por exemplo um salto de linha (newline). Arquivos sequenciais permite que você use procedimentos especialmente projetados para escrita e leitura de linhas ou strings de texto. Isto facilita o trabalho com arquivos produzidos por um editor de texto , isto é arquivos com dados que não estão divididos em uma série de registros.
Abertura do Arquivo Sequencial :
Open arquivo For [Input | Output | Append] As numero_de_arquivo Len = tamanho_do_buffer
Leitura de dados :
Input #numero_de_arquivo, variável1, variável2
Gravação de Dados :
Print #numero_de_arquivo, expressão1, expressão2
Acesso Binário - O acesso binário permite que você use arquivos para guardar dados no formato que você desejar , não são assumidos nenhum tipo de formato de dados ou necessidades de informar o tamanho do registro. Você precisa saber com exatidão onde seus dados foram escritos para poder recupera-los corretamente. Apesar do acesso binário fornecer poucas funções e procedimentos para ajudar na manipulação de dados, ele providencia grande flexibilidade. Por exemplo ele pode conservar espaço em disco pela construção de registros de tamanho variável.
Abertura do Arquivo Binário :
Open arquivo For Binary As numero_de_arquivo
Leitura de dados :
variável="ABCD"
Get #numero_de_arquivo, posição_inicial, variável ' Serão lidos 4 bytes do arquivo
Gravação de Dados :
Put #numero_de_arquivo, posição_inicial, variável
Observação : O parâmetro posição inicial é necessária apenas na primeira leitura ou gravação , as outras operações serão efetuadas nas posições posteriores.
QUALQUER PROBLEMA OU DUVIDA
COMUNIQUE-ME (
engguga@bol.com.br)