Active News - Nº 31  - www.activedelphi.com.br 

 

          Notícia da Edição: Grupo de hackers pede pagamento de "resgate" para liberar servidor

 

          Um grupo de hackers conhecido como ''Hackers for Eddie Murphy'' publicou um pedido de resgate após ter invadido o site da banda de rock americana “The String Cheese Incident'' (SCI). Segundo informações do NewsBytes, os invasores derrubaram o servidor que mantinha o site da banda na internet e trocaram a página que estava no ar por um pedido de resgate. O grupo quer US$ 1 milhão para ''liberar'' o servidor e permitir o retorno das atividades on-line.
          Os hackers alegam que a quantia será dedicada à campanha de lançamento da seqüência do filme da série ''Um Tira da Pesada'' (Beverly Hills Cop 4). A última participação de Eddie Murphy no filme aconteceu em 1994.
          Representantes do Stringcheeseincident.com não quiseram comentar a brincadeira de mau gosto. Mas analistas acreditam que as atividades do servidor do site estavam baseadas em uma versão vulnerável do programa de transferências de arquivos WU-FTPD. Segundo um alerta divulgado em novembro pelo Computer Emergency Response Team (CERT), a versão WU-FTPD 2.6.1 apresenta uma falha de segurança que permite ataques externos e o controle remoto do servidor.
          Os invasores chegaram a exigir que o dinheiro do ''resgate'' fosse deixado em uma esquina do Colorado mas, segundo o NewsBytes.com, os hackers não especificaram ruas, horários ou telefones para contato.
          O grupo de rock ''String Cheese Incident'' é formado por fãs da banda americana ''Grateful Dead'' e mantém o site com a ajuda do provedor Indra's Net, que roda Apache Web em servidores baseados no sistema operacional Linux da Red Hat.

          Uma cópia do site hackeado pode ser vista em:    http://defaced.alldas.org/mirror/2002/03/10/www.stringcheeseincident.com

 

fonte: UN       

          Vamos as dicas da semana !

 

          1- Mude o separador de casas decimais ('.' e ',').

 

  procedure TForm1.FormCreate (Sender : TObject);

  begin

    DecimalSeparator     := '.'; // separador decima

    ThowsandSeparator := ','l; // separador de milhar

  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.  

-

          2- Como fazer para não repetir dados numa listbox.

 

          Antes de inserir o item, você poderá fazer a verificação se o item já existe ou não através do método IndexOF, como por exemplo:

  if ListBox.Items.IndexOf('ActiveDelphi') < 0 then

    ShowMessage('O item não existe!')

  else

    ShowMessage('O item existe!');

 

 

          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.

 

-
          3- Enviando comando de rolagem vertical para um TMemo

 

  Inclua na cláusula Uses de sua unit: Windows

  SendMessage(Memo1.Handle, WM_VSCROLL, SBPAGEDOWN, 0);

  Onde:
  Memo1.Handle = manipulador da janela do Memo1.
  WM_VSCROLL = Mensagem do Windows - rolagem vertical.
  SB_PAGEDOWN = Comanndo de rolagem - página para baixo.

  Outros exemplos:
  { Página para cima }
  SendMessage(Memo1.Handle, WM_VSCROLL, SBPAGEUP, 0);
  
  { Linha para baixo }
  SendMessage(Memo1.Handle, WM_VSCROLL, SBLINEDOWN, 0);

  { Linha para cima }
  SendMessage(Memo1.Handle, WM_VSCROLL, SBLINEUP, 0);

  Observações: Além desta técnica existem API's do Windows que fazem um trabalho equivalente. 

 

 

          Várias Apostilaswww.activedelphi.com.br/apostilas.htm

 

          4- Parâmetros em tempo de execução para a Query.

  

        Criando parâmetros dinamicamente para a Query, com nome e tipo:

 

  with Query1 do

  begin

    Close;

    SQL.Clear;

    Params.Clear;

    SQL.Add('SELECT * FROM Clientes');

    SQL.Add('WHERE Cli_Nome = :Nom');

    Params.CreateParam ( ftstring, 'Nome_Parametro', ptUnknown);

    ParamByName ('Nome_Parametro').AsString := Edit1.Text;

    Open;

  end;

 

 

            Visite nosso Fórum de discussões sobre Delphi, é gratuito e não precisa se cadastrar. Clique Aqui

 

-
          5- Copiando uma pasta via programação


  { - Coloque um Button no Form;  - Altere o evento OnClick deste Button conforme abaixo: }

  procedure TForm1.Button2Click(Sender: TObject);
  var SR: TSearchRec; 
        I: integer;
        Origem, Destino: string;
  begin
    I := FindFirst('c:\Origem\*.*', faAnyFile, SR);
    while I = 0 do 

    begin 

      if (SR.Attr and faDirectory) <> faDirectory then 
      begin
        Origem := 'c:\Origem\' + SR.Name; 
        Destino := 'c:\Destino\' + SR.Name;
        if not CopyFile(PChar(Origem), PChar(Destino), true) then
        ShowMessage('Erro ao copiar ' + Origem + ' para ' + Destino); 
      end;
    I := FindNext(SR); 
    end;
  end;

 

 

Não deixe de conferir as dicas disponíveis em nosso site. Clique Aqui  

 

-
          6- Transformando horas em minutos - Enviada por Paulo César Marafon

 

          Bom-dia pessoal do Active Delphi...

          Sobre a dica nr. 3 do ActiveNews nº 024, acho que seria mais garantido fazer da seguinte forma (por não depender do formato da hora do windows): 

 

  function HoraToMin(Hora: TDateTime):Integer;
  Var wwxHora, wwxMinuto, wwxSegundo, wwxMSegundo: Word;
  begin
    DecodeTime(Hora, wwxHora, wwxMinuto, wwxSegundo, wwxMSegundo);
    Result := (wwxHora * 60) + wwxMinuto;
  end;

  De maneira alguma quero sobrepor meus conhecimentos aos de vocês, mas sim quero que tratem isto apenas como uma dica.

  Obrigado.
  Paulo César Marafon
  Programador

 

Agradecemos sua contribução Paulo César, esperamos que você continue nos prestigiando.

 

 

          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- Verificando a memória da máquina        

 

  var
  MemoryStatus: TMemoryStatus;
  begin
  MemoryStatus.dwLength:= sizeof(MemoryStatus);
  GlobalMemoryStatus(MemoryStatus);
  Label1.Caption := 'Total de memória física : ' + IntToStr(MemoryStatus.dwTotalPhys);
  end;

  {typedef struct _MEMORYSTATUS
  DWORD dwLength; // sizeof(MEMORYSTATUS)
  DWORD dwMemoryLoad; // percentual de memória em uso
  DWORD dwTotalPhys; // bytes de memória física
  DWORD dwAvailPhys; // bytes livres de memória física
  DWORD dwTotalPageFile; // bytes de paginação de arquivo
  DWORD dwAvailPageFile; // bytes livres de paginação de arquivo
  DWORD dwTotalVirtual; // bytes em uso de espaço de endereço
  DWORD dwAvailVirtual; // bytes livres}

 

-

          Pensamento:

          “Não ajunteis para vós tesouros na terra; onde a traça e a ferrugem os consomem, e onde os ladrões minam e roubam; mas ajuntai para vós tesouros no céu, onde nem a traça nem a ferrugem os consumem, e onde os ladrões não minam nem roubam. Porque onde estiver o teu tesouro, aí estará também o teu oração.” 

 

-

          O que você achou do nosso novo ActiveNews? Ajude-nos a melhorar nossos serviços, dê sua opinião !

 

          Até a próxima semana !

 

          EQUIPE  ACTIVEDELPHI

          www.activedelphi.com.br

          info@activedelphi.com.br

 

 Este é um serviço gratuito oferecido pelo site www.activedelphi.com.br

 Para cancelar sua assinatura, basta responder esse e-mail, colocando no campo assunto "Cancelar".