Esse artigo faz parte da revista Clube Delphi edição 8. Clique aqui para ler todos os artigos desta edição


Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML. 

Coluna do Leitor

 

Abrindo um arquivo de Help Pessoal.

Estou precisando chamar um arquivo de help(.hlp) via programação. Eu fiz isto uma vez na vida, e nunca mais usei. Só que eu esqueci como fazer isto e agora estou precisando novamente. Alguém pode me lembrar de como eu faço isto?

 

Obrigado.

Cássio

 

Oi,

 

Exemplo: No click do menu Help:

 

WinHelp(frmPrincipal.handle,

‘c:\Windows\help\arquivo.hlp’,

HELP_CONTENTS,0);

 

No menu Project/Options, guia Application – indique o arquivo.

 

Giovana Weihermann

giovana@pr.gov.br

 

Versão do Windows

Como faço para verificar a versão do windows? Se é 95 ou 98?

Eduardo Perret.

 

Utilize código a seguir:

 

procedure TForm1.Button1Click(Sender: TObject);

var

OSVersionInfo: TOSVersionInfo;

begin

OSVersionInfo.dwOSVersionInfoSize

:=SizeOf(TosVersionInfo);

GetVersionEx(OsVersionInfo);

with OsVersionInfo do

begin

Label1.Caption:=

IntToStr(dwMajorVersion);

Label2.Caption:=

IntToStr(dwMinorVersion);

Label3.Caption:=

IntToStr(loWord(

dwBuildNumber));

 

case dwPlatformID of

VER_PLATFORM_WIN32S:

Label4.Caption:=

'Win32s';

VER_PLATFORM_WIN32_WINDOWS:

Label4.Caption:=

'Windows 95';

VER_PLATFORM_WIN32_NT:

Label4.Caption:=

'Windows NT';

end;

end;

 

end;

 

Rodrigo Garcia

rodrigogarcia@baydenet.com.br

 

Conexão via Internet

Alguém sabe como posso conectar a um banco de dados via Internet? Explico Melhor: Na empresa onde trabalho. Possuímos um sistema em Delphi 3.0 e banco de dados Paradox, e em outra cidade, possuímos uma filial com o mesmo sistema. Então eu queria que os cadastros que foram feitos na filial, ao gravar, seriam salvos na matriz, via Internet. Há possibilidade de fazer isto?

 

Atenciosamente,

Luiz Cláudio Vieira dos Santos

 

Luiz Cláudio,

 

Existem diversas soluções de conectividade via Internet, é claro que utilizando-se um banco de dados em duas camadas ou reescrevendo sua aplicação para WSA seriam boas soluções. Pórém se você possui o sistema pronto e quer apenas acessar dados, de preferência de consulta, você pode utilizar um servidor de objetos, DCOM, CORBA ou MIDAS para prover acesso remoto de dados paradox.

Para desenvolver um servidor de objetos existem exemplo de MIDAS no delphi. A solução é bastante simples e nós já desenvolvemos soluções deste tipo para acesso a bases Paradox e MDB.

 

Murilo Azevedo

mazevedo@fisepe.pe.gov.br

 

Lista de Campos

Como Inserir Uma Lista de Campos em um componente ListBox ou ComboBox, no Delphi!

 

Obrigado(a),  Marcelo Romão

 

Supondo que você tenha uma tabela ou query que se chama qr e a ListBox ou ComboBox que se chama lb:

 

qr.Open;

ib.Items.Assign(qr.FieldList);

 

Marco Aurélio Castro

mcastro@mcsoft.com.br

 

Alterar data e hora do sistema

Gostaria de uma rotina que permitisse alterar a data e hora do sistema. marcos Peres Gomes

 

Caro Marcos,

Abaixo segue um exemplo:

 

var

SysDateTime: TsystemTime;

Novadata: TdateTime;

begin

NovaData :=Date+1;

DateTimeToSystemTime(NovaData, SysDateTime);

SetLocalTime(SysDateTime);

end;

 

Equipe do Clube Delphi

 

Impressão em modo Texto

Olá ,

Tenho um arquivo CONTRATO.TXT digitado no Bloco de Notas. Eu preciso imprimir esse arquivo linha por linha diretamente para a impressora.

Jimmy.

 

Caro Carlos,

 

Abaixo eu lhe mostro um pequeno exemplo:

 

Insira na seção uses a unit printers eno evento onclick d eum button escreva:

 

var

   fd: TextFile;

begin

   AssignPrn(fd);

   Rewrite(fd);

   Writeln(fd, 'Teste');

   Writeln(fd, Format('Nome: %s',[edit1.Text]));

   CloseFile(fd);

end;

Gildo Martins

gildo@localbank.com.br

 

Função para validar o número do PIS

function vpis(dado:string):boolean

var

i:integer;

wsoma;integer;

wm11;integer;

wdv:integer;

wdigito;integer;

begin

if alltrim(dado)<> “ then

begin

wdv:=strtoint(copy(dado,11,1));

wsoma:=0;

wm11:= 2

for i:= 1 to 10 do

begin

wsoma:=wsoma+(wm11 *strtoint(copy(dado,11-I,1)));

if wm11 < 9 then

wm11:= wm11+1

else

wm11:= 2;

end;

wdigito:= 11 – (wsoma MOD 11);

if wdigito > 9 then

wdigito := 0;

if wdv = wdigito then

vpis = true

else

begin

Application.MessageBox(‘PIS

Inválido!‘.’Atencao!’,mb_incosntop+mbok);

vpis :=false;

end;

end;

 

Edmundo

Edmundo@ubanet.com.br