Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

СообЧА. Программирование на Delphi


Служба Рассылок Subscribe.Ru проекта Citycat.Ru


 

Мир Delphi

Pixelsoftware

  Подписчиков: 3345 
   

.::::: СообЧа - Программирование на Delphi :::::.

Теперь с красной крышкой :)

  ї 2000 - 2001COOLer  Дизайн: Yoghurt 
   

 

Оглавление
  В выпуске  Рассылка СообЧА 
    
 
Рассылки Subscribe.Ru
СообЧа (СООБщество ЧАйников). Обмен опытом, вопросы, ответы.

 Назад к оглавлению  
  
  Конкурс 
 
  
  • Участвуйте в конкурсе "Статья месяца" и вы выиграете книгу по Delphi от магазина ОЗОН. В конце каждого месяца Вами будет выбран лучший автор, который и получит книгу. Присылайте ваши статьи на  pixel@novgorod.net . Авторов просим строго придерживаться тематики рассылки.

  • Хотите поучаствовать в нашем проекте, вы умеете работать с OpenGL или DX? Присоединяйтесь вместе мы напишем классную RPG ... То что готово, уже есть на скриншотах в разделе проект... Желательны(Хотя не обязательны , по ходу сами все поймете) знания Borland C++ Builder или Delphi в сфере графики(или просто кодеры).Все абсолютно свободно freewareно и бесплатно. ПОЛНЫЙ ДОСТУП К НАШИМ ИСХОДНИКАМ.

  • Расписание работы ЧАТА по дельфи(на моем сайте)

10-00-1200 Оптимизация и ее применение.

12-00-1500 VCl

15-00-1700 Системный API

17-00-2100 БД обсуждение

после 2200 в чате появляюсь я(периодически)

p.s тему соблюдать не обязательно

  • Нравится ли вам наша рассылка?

  • Да

    Нет

    Не успел оценить

     Назад к оглавлению  
      
      Выбор лучшего 
     
      
    ув. Подписчики. пожалуйста оцените труд данных авторов отдав свой голос за того, кого вы считаете достойным. 31 июля по итогам голосования лучшему автору будет подарена книга от магазина "ОЗОН". Если вы хотите увидить своё имя среди авторов - то прочитайте условия конкурса Выбери лучшего
    Pixel
    PILOT
    Art
     Назад к оглавлению  
      
     Все гениальное... Просто? 
     
      

    Вот, решил я найти что-нибудь полезное для сетевого программирования. Пожалуй данный код будет очень кстати, если вы имеете свой сайт. В этом случае можно продумать систему апдейтов из интернета, для своей программки. Вот код , как даунлоадить файл из инета: 

     

    Uses URLMon, ShellApi;

    function DownloadFile(SourceFile, DestFile: string): Boolean;
    begin
      try
        Result :=  UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
      except
        Result := False;
      end;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    const
      // 
    Место файла в сетке
      SourceFile = 'http://www.google.com/intl/de/images/home_title.gif';
      // 
    Куда его сохранять
      DestFile   = 'c:\temp\google-image.gif';
    begin
      if DownloadFile  (SourceFile, DestFile) then
      begin
        ShowMessage('Download succesful!');
        end
      else
        ShowMessage('Error while downloading ' + SourceFile)
    end;

    Не обязательно качать картинку, и потом загружать, код можно протестировать в оффлайн режиме, только D:/вашфайл.егорасширение будет выглядеть, как file:///D:/вашфайл.егорасширение.... 

     

    Автор:Pixel( pixel@novgorod.net http://pixelsoft.narod.ru )
    ї COOLer 

     Назад к оглавлению  
      
     Что-то с памятью моей.... 
     
      

    Вот код, который возвращает свободное кол-во оперативной памяти и сколько ее у вас вообще...

    procedure TForm1.Button1Click(Sender: TObject);
    var
      memory:TMemoryStatus;
    begin
      memory.dwLength:=sizeof(memory);
      GlobalMemoryStatus(memory);
      ShowMessage('Total RAM / total memory: '+inttostr(memory.dwTotalPhys)+' Bytes');
      ShowMessage('Free RAM / available memory: '+inttostr(memory.dwavailPhys)+' Bytes');
    end;

    Данный код можно использовать как для проверки памяти, так и для "Внутренней совести" вашей программы, чтобы она не отнимала все ресурсы. 

    Внимание Код ИНОГДА ОТКАЗЫВАЕТСЯ РАБОТАТЬ при копировании из буфера

    Сегодня(со дня выхода этого номера) на мой сайт поступит прога с этим кодом+исходник.

    Автор:Pixel
    ї COOLer

     Назад к оглавлению  
      
     Кто там...? 
     
      

    Защита программ от .....

    Для тех, кто пишет полезные проги, и продает их, или просто распространяет с копирайтом, всегда кошмаром является защита его детища от разных личностей, вот несколько методов , которые обезопасят вас хотя бы, от новичков в хаке.


    Подсчет контрольной суммы некоего файла - ключа

    function GetCheckSum(FileName : string) : DWORD;/// сама функция
    var
      F      : File of DWORD;
      P      : Pointer;
      Fsize  : DWORD;
      Buffer : Array [0..500] of DWORD;
    begin
      FileMode := 0;
      AssignFile(F,FileName);
      Reset(F);
      Seek(F,FileSize(F) div 2);
      Fsize := FileSize(F) -1 -FilePos(F);
      if Fsize > 500 then Fsize := 500;
      BlockRead(F, Buffer, Fsize);
      Close (F);
      P := @Buffer;
       asm
         xor eax, eax
         xor ecx, ecx
         mov edi , p
         @again:
           add eax, [edi + 4*ecx]
           inc ecx
           cmp ecx, fsize
         jl @again
         mov @result, eax
       end;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShowMessage(IntToStr(GetCheckSum('c:\key.dat'))); //тут вы узнаете эту сумму
    end;

    Если код немного модернизировать, то ваша прога откажется запускаться, если сумма не совпадает(файл-ключ можно сделать из любого небольшого файла.)...
    Если вы хотите пользоваться программой один со своего компа на помощь приходит этот код 

    function GetCurrentUserName : string;
    const
      cnMaxUserNameLen = 254;
    var
      sUserName : string;
      dwUserNameLen : DWord;
    begin
      dwUserNameLen := cnMaxUserNameLen-1;
      SetLength(sUserName, cnMaxUserNameLen);
      GetUserName(PChar(sUserName), dwUserNameLen);
      SetLength(sUserName, dwUserNameLen);
      Result := sUserName;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShowMessage(GetCurrentUserName);//данная прога просто говорит вам ваш логин, но если сделать так:

    ////////////if GetCurrentUserName<>'pixel' then halt

    ///////////тогда она не будет запускаться если вы не pixel :)
    end;

    Примечание: вход в систему нужно делать через логин.(код не проверял, он может работать только на NT или наоборот)

    Ваш "квадратный" Автор ( pixel@novgorod.net http://pixelsoft.narod.ru )
    ї COOLer


    Zaluskiy Anton(COOLer)    - ведущий проекта    "Мир Delphi"



    о3он TopList


    http://subscribe.ru/
    E-mail: ask@subscribe.ru
    Отписаться Рейтингуется SpyLog

    В избранное