Terça-feira, 28
de maio de 2002
Notícia da Edição : Falha expõe sistemas Windows NT e 2000
Uma falha de segurança no utilitário de depuração (debugging) de programas permite que hackers assumam o controle do servidor em sistemas Windows NT 4.0 e Windows 2000.
A falha (identificada como Authentication Flaw in Windows Debugger) está associada a uma característica que dá à ferramenta de depuração a capacidade de conectar-se a uma aplicação ativa e ganhar o controle dela, para realizar análises e diagnósticos. A ferramenta tem condições de enviar comandos à aplicação, interrompê-la e até iniciar outros programas.
Localizada no sistema de autenticação do depurador, a brecha abre espaço para que um programa não-autorizado ganhe acesso ao utilitário e daí execute outro programa, conquistando o controle da máquina. A correção para o problema está disponível no endereço
www.uol.com.br/info/aberto/download/2551.shl
fonte
: Info
|
|
Não deixe de enviar sua dica de Programação Delphi para nós a publicarmos no ActiveNews, a equipe do ActiveDelphi e todos os assinantes ficarão agradecidos com a sua contribuição.
|
|
|
1- Tratando campos boleanos em um TDbGrid. Enviada por André Bazan arbazan@terra.com.br |
Para tratar um campo boleano em um TDbGrid, trocando true/false por sim/não, basta informar no campo da tabela, pelo componente table, a propriedade DisplayValue ( Sim;Nao ).
|
|
- |
2- Extraindo datas no Interbase. |
Como extrair o ano, o mês e o dia de um campo do tipo Data no
Interbase.
SELECT EXTRACT (YEAR FROM HIRE_DATE) AS ANO.
EXTRACT (MONTH FROM HIRE_DATE) AS MES.
EXTRACT (DAY FROM HIRE_DATE) AS DIA.
FROM EMPLOYEE
|
Suporte em Delphi. cadastre-se
já
Este serviço tem por
finalidade oferecer aos associados um suporte técnico na linguagem de
programação Delphi, nas versões Standard, Professional
e Client/Server.
Atualmente, contamos com uma equipe de profissionais qualificados e
prontos pra lhe atender e ajudá-lo da melhor forma possível.
Nosso atendimento é feito através de e-mail e formulário web, de
segunda à sexta das 08:00h às 18:00h.
|
|
- |
3- Retornando o Path em formato de nome curto (8 Caracteres). |
Adicione a Unit filectrl na cláusula uses de sua unit.
function LongToShortPath(Long: string): string;
var
ActualLength: Longint;
begin
if directoryexists(Long) then
begin
SetLength(Result, Length(Long) + 1);
ActualLength := GetShortPathName(PChar(Long), PChar(Result), Length(Result));
SetLength(Result, ActualLength);
end
else
begin
result := 'Caminho inválido ou não encontrado';
end;
end;
|
|
- |
4- Retornando o número de dias úteis entre duas datas, descartando
os sábados e domingos. |
function DiasUteis (dtinicial, dtfinal : Tdate) : Integer;
var
contador : Integer;
data : TDate;
begin
contador := 0 ;
data:= dtinicial;
while data <= dtfinal do
begin
if not (Dayoftheweek (data) in [6..7]) then
inc (contador);
data := data + 1 ;
end;
result := data + 1 ;
end;
|
Visite nosso Fórum de discussões sobre Delphi, é gratuito e não
precisa se cadastrar. Clique
Aqui |
|
- |
5- Retornando a versão da tabela selecionada. |
Adicione as Units Db,DbiTypes e DbiProcs, na cláusula uses
de sua Unit.
function DbGetVersao(table: TTable): LongInt;
var
hCursor : hDBICur;
tableDesc: TBLFullDesc;
cName : array[0..255] of Char;
begin
StrPCopy(cName, table.TableName);
Check(DbiOpenTableList(table.DBHandle, True, False, cName, hCursor));
Check(DbiGetNextRecord(hCursor, dbiNOLOCK, @tableDesc, nil));
Result := tableDesc.tblExt.iRestrVersion;
Check(DbiCloseCursor(hCursor));
end;
|
Não deixe de enviar sua dica de Programação Delphi para nós a
publicarmos no ActiveNews, a equipe do ActiveDelphi e todos os
assinantes ficarão agradecidos com a sua contribuição.
|
|
- |
6- Excluindo um diretório inteiro de uma vez. |
Declare as units Shellapi e filectrl na cláusula uses de sua
Unit
function DeleteFolder(FolderName: String; LeaveFolder: Boolean): Boolean;
var
r: TshFileOpStruct;
begin
Result := False;
if not DirectoryExists(FolderName) then Exit;
if LeaveFolder then
FolderName := FolderName + ' *.* '
else
if FolderName[Length(FolderName)] = ' \ ' then
Delete(FolderName,Length(FolderName), 1);
FillChar(r, SizeOf(r), 0);
r.wFunc := FO_DELETE;
r.pFrom := PChar(FolderName);
r.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
Result := ((ShFileOperation(r) = 0) and (not r.fAnyOperationsAborted));
end;
Utilize assim:
procedure TForm1.Button1Click(Sender: TObject);
begin
deleteFolder('c:\temp',false);
end;
|
Suporte em Delphi. cadastre-se
já
Este serviço tem por
finalidade oferecer aos associados um suporte técnico na linguagem de
programação Delphi, nas versões 1, 2, 3, 4 e 5 Standard, Professional
e Client/Server.
Atualmente, contamos com uma equipe de profissionais qualificados e
prontos pra lhe atender e ajudá-lo da melhor forma possível.
Nosso atendimento é feito através de e-mail e formulário web, de
segunda à sexta das 08:00h às 18:00h.
|
|
- |
7- Cancelando a exibição do Form. |
Usando a mensagem WM_CLOSE, podemos, antes do formulário ser exibido,
cancelar sua exibição.
procedure TForm1.Form1OnShow (Sender : TObject);
begin
// aqui você poderá fazer algum tipo de validação
antes de fazer o cancelamento...
PostMessage (Handle, wm_Close, 0, 0);
end;
|
- |
Pensamento:
Aceite-se tal como você é, incondicionalmente.
Você não é do tamanho da sua conta bancária, do bairro onde mora, da roupa que usa ou do tipo de trabalho que faz. Você é, como todo mundo, uma mistura extremamente complexa de capacidades e limitações.
|
|
-
Repasse este News para seus amigos(as)...
Até a próxima semana !
EQUIPE ACTIVEDELPHI
www.activedelphi.com.br
info@activedelphi.com.br
|