GetRight своими руками

Спецвыпуск Хакер, номер #004, стр. 004-080-4

// переменную serv

if serv = 'ftp://

begin

Delete( addr , 1 , 6 ) ; // удаляем первые 6 символов из

//адреса

host := Copy ( addr , 1 , ( Pos( '/' , addr ) - 1 ) ) ;

// находим хост

Delete( addr , 1 , ( Pos( '/' , addr ) - 1 ) ) ;

dir := addr ;

// находим путь к файлу

// качаем по фтп

end

else

if serv = 'http:/' then // впереди http:/

begin

// качаем по хттп

end

else Label3.Caption := 'Что за корявый адрес?' ;

end

else Label3.Caption := 'Введи все данные, чувак!' // не все данные

end ;

Итак, сначала функцией Delete стираем первые 6 символов из адреса. Функция берет строку, из которой стирать, символ, с которого начинать стирать, количество стираемых символов - все очень похоже на Copy. Затем в переменную host копируем адрес сервака, но вместо количества символов там стоит конструкция типа

(Pos( '/' , addr ) -1). Все путем! Функция Pos находит положение символа / в строке addr и выдает число, которое показывает, какой этот символ по счету. Но нам его копировать не надо, поэтому и отнимаем единицу. Теперь, если адрес файла ftp://my.host.com/file.exe, то адрес сервера будет my.host.com. Дальше стираем из адреса хост, и остается адрес файла - его и присваиваем переменной dir. Все, подготовка закончена, все данные обработаны, сохраняйся.

Кодим скачку по фтп

Обработаем теперь докачку по фтп. Ниже идущий код пиши там, где надпись:

// качаем по фтп.

Сначала поработаем с кнопками, дописывай код:

Edit1.Enabled := false ;

Edit2.Enabled := false ; // вырубаем эдиты

Button1.Enabled := false ; // выключаем кнопку "Закачать"

Тут, я думаю, все понятно, прописываем закачку:

NMFTP1.Host := host ;

NMFTP1.UserID := 'anonymous' ;

NMFTP1.Password := '' ;

Label3.Caption := 'Подключаемся ... ' ;

NMFTP1.Connect ;

NMFTP1.Mode( MODE_IMAGE ) ;

Label3.Caption := 'Начинаем качать ...' ;

NMFTP1.Download( dir , Edit2.Text ) ;

Label3.Caption := 'Ура !!!' ;

Label3.Caption := 'Отключаемся ...' ;

NMFTP1.Disconnect ;

Тут тоже все понятно - соединяемся, скачиваем, отсоединяемся. Download берет себе сначала адрес файла в Инете, а потом адрес, куда его сохранить на диске. Вот и все. Обрабатываем кнопки:

Button1.Enabled := true ; // включаем кнопку "Закачать"

Edit1.Enabled := true ;

Edit2.Enabled := true ; // врубаем эдиты

Edit1.Clear ;

Edit2.Clear ; // очищаем эдиты

Поработай немного мышом - добавим несколько комментариев. Выдели компонент NMFTF1 у себя на форме, затем кликни в Object Inspector'е на вкладку Events (кликай на OnConnect, затем на белое место справа - два раза).

Пиши:

procedure TForm1.NMFTP1Connect(Sender: TObject);

begin

Label3.Caption := 'Подключено успешно!!!' ;

end;

Теперь, когда соединение установлено, прога выдаст в метку сообщение. Кликай по OnConnectionFailed. Пиши:

Назад на стр. 004-080-3  Содержание  Вперед на стр. 004-080-5

загрузка...
Cпец Хакер #075Cпец Хакер #074Cпец Хакер #073Cпец Хакер #072Cпец Хакер #071Cпец Хакер #070Cпец Хакер #069Cпец Хакер #068Cпец Хакер #067Cпец Хакер #066Cпец Хакер #065Cпец Хакер #064Cпец Хакер #063Cпец Хакер #062Cпец Хакер #061Cпец Хакер #060Cпец Хакер #059Cпец Хакер #058Cпец Хакер #057Cпец Хакер #056Cпец Хакер #055Cпец Хакер #054Cпец Хакер #053Cпец Хакер #052Cпец Хакер #051Cпец Хакер #050Cпец Хакер #049Cпец Хакер #048Cпец Хакер #047Cпец Хакер #046Cпец Хакер #045Cпец Хакер #044Cпец Хакер #043Cпец Хакер #042Cпец Хакер #041Cпец Хакер #040Cпец Хакер #039Cпец Хакер #038Cпец Хакер #037Cпец Хакер #036Cпец Хакер #035Cпец Хакер #034Cпец Хакер #033Cпец Хакер #032Cпец Хакер #031Cпец Хакер #030Cпец Хакер #029Cпец Хакер #028Cпец Хакер #027Cпец Хакер #026Cпец Хакер #025Cпец Хакер #024Cпец Хакер #023Cпец Хакер #022Cпец Хакер #021Cпец Хакер #020Cпец Хакер #019Cпец Хакер #018Cпец Хакер #017Cпец Хакер #016Cпец Хакер #015Cпец Хакер #014Cпец Хакер #013Cпец Хакер #012Cпец Хакер #011Cпец Хакер #010Cпец Хакер #009Cпец Хакер #008Cпец Хакер #007Cпец Хакер #006Cпец Хакер #005Cпец Хакер #004Cпец Хакер #003Cпец Хакер #002Cпец Хакер #001