Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 4
Всего онлайн: 4
Зарегистрировано юзеров: 6872
Комментариев на сайте: 651
Новый юзер: RavBroaft



Последние комментарии
c
Rodneyhef прокомментировал "Урок 53 - Потоки в Delphi, (часть 1/3)":
Zauważże, czym cechują się kredyty na sześcdziesięciu dni. Jako co zwrócić uwagę podczas asortymentu oferty? Które firmy użyczają chwilówek za taki czas? Sprawdź! [url=https://chwilowki-pozyczka.pl/]chwilówki[/url] [url=https://chwilowki-pozyczka.pl/chwilowki-online]chwilówki online[/url] [url=https://chwilowki-pozyczka.pl/pozyczki-na-raty]pożyczki ratalne[/url] [url=https://chwilowki-pozyczka.pl/kredyty-gotowkowe]kredyty gotówkowe[/url] Zdecydowana większość pożyczek krótkoterminowych udzielana jest od okres nie zaakceptować dłuższy niźli dwa miesiące. Krótki słowo spłaty wydaje się być charakterystyczny na rzecz tego rodzaju wytworów finansowych. Firmy pożyczkowe wprowadziły także zastrzeżenia, skutkujące tym, że nie każdy klient będzie mógł momentalnie zaciągnąć wzięcie pożyczki na 60 dni. W poniższym artykule podpowiadamy, na jak zwrócić uwagę, postanawiając się pod ten typ dofinansowania, na czym polegają opisane ograniczenia, oraz pokazujemy, które obecne na rynku firmy użyczają pożyczek dzięki 60 dni. chwilowki-pozyczka.pl Termin kredyty jest jednym z kluczowych składników mających bezpośredni wpływ jako całkowite koszty zobowiązania. Alternatywa krótszego czy dłuższego sezonu ma przełożenie na wysokość RRSO, innymi słowy rzeczywistej rocznej stopy oprocentowanie informującej nas w stosunku procentowym o kosztach związanych z pożyczką. Jest to pierwszy element, na który trzeba zwrócić szczególną uwagę w chwili wyboru możliwości. Drugim elementem jest uważna ocena spersonalizowanych możliwości kredytowych, co koniecznie musi towarzyszyć zaciąganiu jakiegokolwiek zobowiązania. Być może będziemy potrzebować produktu finansowego, którego spłata wydaje się znacznie dłuższa. Wówczas winniśmy zdecydować się jako pożyczki od raty. Warto również stwierdzić o aplikowanych przez spółki pożyczkowe ograniczeniach, wynikających spośród realizacji strategii ryzyka. Ochraniając się zanim niewypłacalnością pożyczkobiorców, instytucje finansowe przedłożyły szereg wielu ograniczeń, oddanych w szczególności dla osób nowych odbiorców. Ci pożyczkobiorcy, którzy zaciągają chwilówkę na raz 1 w podanej firmie, niejednokrotnie nie mogą liczyć na termin dłuższy niźli 30 dni. Poza tym wiążą ograniczenia szczególne dla kredytów krótkoterminowych. Przemówienie między innymi na temat weryfikacji petentów w charakteryzujących się ogromną popularnością rejestrach dłużników, ukończenie 21. roku egzystencji czy identyfikacja maksymalnej poziomie pożyczki. Pożądane byłoby podkreślić, hdy znaczna część przedsiębiorstw nie udziela pożyczek o dłuższym okresie w ogóle, co ponadto nie jest rezultatem wprowadzenia ograniczeń, a wynika po prostu wraz z oferty.
dealrattKi прокомментировал "Урок 3 - Конструкция IF...THEN...ELSE":
Это действительно радует меня. --- Бесподобное сообщение скачать fifa, скачать фифа а также [url=http://15fifa.ru/novosti-fifa-15]fifa 15 последние новости[/url] скачать фифа

Использование HTTP в Delphi

Введение

В связи с все большим вниманием, которое привлекает к себе Интернет, все больше людей становятся заинтересованы в сетевых технологиях. Данная статья посвящена программированию на Borland Delphi с использованием одного из самых популярных Интернет-протоколов - HTTP.

А именно, здесь мы рассмотрим компонент TNMHTTP (NetMasters HTTP), который можно обнаружить на вкладке FastNet палитры компонентов Дельфи.

Начнем с теории. Если Вы уже знаете, что такое HTTP и зачем он нужен, то пропустите следующий раздел.

Зачем нужен HTTP

Итак, где же используется HTTP? Если Вы хотя бы чуть-чуть заглядывали на Интернет-странички и встречались с термином Web, то наверняка обратили внимание на то, что адреса страничек, как правило, начинаются с http://. Протокол HTTP (HyperText Transfer Protocol) позволяет принимать и посылать не только гипертекстовые документы (типа html), но и любые другие (тексты (txt), изображения (gif, jpg), и т.д.). Ниже приведены типовые задачи, для выполнения которых необходимо использовать HTTP:

Браузеры - программы, позволяющие просматривать Интернет-странички;
Скачивальщики - программы, позволяющие скачивать из Интернета странички, рисунки и другие документы;
Чаты - программы, позволяющие общаться по сети. Часто документы HTTP используются для хранения сообщений (как, например, в конференциях).
- Это лишь список некоторых из стандартных направлений программирования с использованием HTTP. Вы можете применять этот протокол для любых своих целей. Например, автоматические системы обновления данных, посылка запросов в Интернетовские базы, и еще множество всяческих других возможностей!


Практика и примеры

Ну а теперь приступим к самому главному методу изучения - на примерах.

И самый первый пример - программа, позволяющая определить, существует ли заданный URL:

Пример 1. Проверка существования указанной URL

{... Здесь идет заголовок файла и определение формы TForm1 и ее экземпляра Form1}

{ В форму нужно поместить кнопку TButton и одно поле TEdit. При нажатии на кнопку 
вызывается обработчик события OnClick - Button1Click. Перед этим в TEdit нужно ввести 
адрес URL.
НЕ ЗАБУДЬТЕ ПОМЕСТИТЬ В ФОРМУ КОМПОНЕНТ TNMHTTP! }
procedure Button1Click(Sender: TObject);
begin
  {Пытаемя получить заголовок}
  NMHTTP1.Head(Edit1.Text);
  {Если URL неверный, то здесь выскочит ошибка}
end;
Далее - скачивание указанной странички в указанный файл.
Пример 2. Скачивание указанной URL в заданный файл
{... Здесь идет заголовок файла и определение формы TForm1 и ее экземпляра Form1}

{В форму нужно поместить кнопку TButton и три поля TEdit. При нажатии на кнопку 
вызывается обработчик события OnClick - Button1Click. Перед этим в первый TEdit 
нужно ввести адрес URL, во второй - имя файла для заголовка, а в третий - имя 
файла для тела странички (html).
НЕ ЗАБУДЬТЕ ПОМЕСТИТЬ В ФОРМУ КОМПОНЕНТ TNMHTTP!}
procedure Button1Click(Sender: TObject);
begin
  {Пытаемся получить http-документ}
  {Результат надо записать в файлы}
  NMHTTP1.InputFileMode := True;
  {А здесь указываем в какие именно файлы}
  NMHTTP1.Header := Edit2.Text;
  NMHTTP1.Body := Edit3.Text;
  NMHTTP1.Get(Edit1.Text);
end;
Следующий пример - скачивание сразу нескольких URL одновременно. Надо заметить, что многие программисты пренебрегают многозадачностью Windows (неважно, как она реализована, речь сейчас не об этом). В Дельфи очень легко создавать отдельные, подчиненные Вашей программе процессы (а точнее - потоки) с помощью базового класса TThread.

Пример 3. Одновременное скачивание указанных URL в заданный каталог
{... Здесь идет заголовок файла и определение формы TForm1 и ее экземпляра Form1}

{Описание класса отдельного процесса}
type
  THTTPThread = class(TThread)
  private
     {Для каждого процесса - создаем свой компонент TNMHTTP}
    FHTTP: TNMHTTP;
  protected
{Execute вызывается при запуске процесса; override - заменяем существующую 
 процедуру базового класса TThread}
    procedure Execute; override;
{DoWork - созданная нами функция, выполнение которой синхронизируется в Execute}
    procedure DoWork;
  public
{URL - созданная нами строка, указывающая процессу, какой URL ему нужно скачать}
    URL: string;
  end;

{ В форму нужно поместить три кнопки TButton, одно поле TEdit и один список TListBox. 
При нажатии на кнопку Button1 вызывается обработчик события OnClick - Button1Click. 
Перед этим в TEdit нужно ввести путь к каталогу, в котором будут храниться скачанные 
файлы, а ListBox1 нужно заполнить списком URL-ов для скачивания (с помощью кнопок 
Add (Button2) и Delete (Button3)). }
procedure TForm1.Button3Click(Sender: TObject);
begin
  {Удаление выделенного URL из списка}
  if ListBox1.ItemIndex >= 0 then
    ListBox1.Items.Delete(ListBox1.ItemIndex);
end;

procedure TForm1.Button2Click(Sender: TObject);
  var s: string;
begin
  {Добавление URL в список}
  s := InputBox('Добавить','Введите URL:','');
  if s <> '' then
    ListBox1.Items.Add(s);
end;

procedure TForm1.Button1Click(Sender: TObject);
  var i: Integer;
begin
  {Проверка на существование каталога}
  if Length(Edit1.Text) > 0 then
    if not DirectoryExists(Edit1.Text) then
      MkDir(Edit1.Text);
  {Далее идет создание для каждого URL в списке своего процесса}
  for i := 0 to ListBox1.Items.Count-1 do begin
    with THTTPThread.Create(True) do begin
      {Создаем приостановленную задачу, указываем ей ее URL и запускаем ее}
      URL := ListBox1.Items[i];
      Resume;
    end;
  end;
end;

  {Операторы процесса THTTPThread}

procedure THTTPThread.Execute;
begin
  {Делаем так, чтобы каждый процесс выполнялся одновременно с другими (синхронизация)}
  Synchronize(DoWork);
end;

procedure THTTPThread.DoWork;
  var i: Integer;
begin
  {Создаем компонент TNMHTTP}
  FHTTP := TNMHTTP.Create(Form1);
  {Результат надо записывать в файлы}
  FHTTP.InputFileMode := True;
  {Подбираем имена для файлов}
  i := 1;
  while FileExists(Form1.Edit1.Text+'\page'+IntToStr(i)+'.htm') do
    Inc(i);
  {Указываем, в какие именно файлы класть результат}
  FHTTP.Body := Form1.Edit1.Text+'\body'+IntToStr(i)+'.htm';
  FHTTP.Header := Form1.Edit1.Text+'\header'+IntToStr(i)+'.txt';
  {Пытаемся послать запрос}
  FHTTP.Get(URL);
  {Перед завершением процесса не забываем освободить память из-под компонента}
  FHTTP.Free;
end;
ПРИМЕЧАНИЕ: Чтобы завершить некоторый процесс (Thread), нужно вызвать метод Terminate класса этого процесса. Приостановить процесс можно оператором Suspend, а продолжить выполнение - Resume. Также можно настроить приоритет каждого отдельного процесса через свойство Priority.

Неплохой пример работы с процессами можно найти в подпапке Demos\Threads папки, куда Вы установили Delphi.

Замечания по алгоритмам типовых задач
Если Вы собираетесь создать скачивалку сайтов, то Вам необходимо учитывать следующее (решить следующие проблемы):

Нужно скачивать не только саму страничку в формате HTML, но и все входящие в нее рисунки (gif, jpg, и т.д.);
в некоторых случаях удобно скачивать не одну страничку, а несколько страниц, ссылки на которые находятся на первой из скачиваемых страничек. При этом нужно учитывать, что на страничке могут находиться и ссылки на другие сайты, поэтому необходимо анализировать скачиваемые ссылки (чтобы случайно не скачать весь Интернет). Для решения задачи со скачиванием нескольких страничек нужно использовать рекурсию;
необходимо качественно информировать пользователя о ходе закачки. Т.е. показывать общее и скачанное количество информации;
после скачивания нужно заменить Интернетовские ссылки на локальные, чтобы можно было просматривать странички в режиме offline.

Вот и всё, Удачи!

ТВ-приставка Tronsmart Orion R68 Meta - новейшие технологии в области электроники
Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 7 Февраля 2016
Просмотров: 3587


Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.



аватар Добавил(а): dan64 [Новичок] Дата: 2016-12-28
Спасибо за хорошие уроки!