Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Протокол ФТП, всё о нём) 
V
    Опции темы
Romikgy
Дата 8.8.2006, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 9
Всего: 146



Цитата(ВоВеЦ @  6.8.2006,  18:51 Найти цитируемый пост)
Но вопрос насчёт перебора IP'шников без потоков пока не снимается, мод подскажите...

а че без потоков?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ВоВеЦ
Дата 9.8.2006, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.4.2006

Репутация: нет
Всего: нет



Вообщем сделал без потоков, т.к. цикл в потоке выдавал значения не от 1 до 254, а ~2000 и по убывающей.... 
Такой вопрос ещё у меня возник в строчке такого кода:
Код

if idFTP1.DirectoryListing[s].ItemType = ditDirectory then

Вылетает ерорр такого вида:
[Error] Unit1.pas(61): Undeclared identifier: 'ditDirectory'
Может подскажете что поправить надо?


Это сообщение отредактировал(а) ВоВеЦ - 9.8.2006, 19:07
PM MAIL   Вверх
Fixin
Дата 9.8.2006, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ёжик
***


Профиль
Группа: Комодератор
Сообщений: 1357
Регистрация: 6.1.2004

Репутация: 5
Всего: 18



Цитата(ВоВеЦ @  9.8.2006,  19:03 Найти цитируемый пост)
 Undeclared identifier: 'ditDirectory'
ты не определил переменную и все.

PM MAIL ICQ   Вверх
ВоВеЦ
Дата 9.8.2006, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.4.2006

Репутация: нет
Всего: нет



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

Это сообщение отредактировал(а) ВоВеЦ - 10.8.2006, 00:43
PM MAIL   Вверх
drkot
Дата 10.8.2006, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8



Цитата(ВоВеЦ @  6.8.2006,  01:25 Найти цитируемый пост)
[Error] Unit1.pas(51): Incompatible types: 'TThreadFunc' and 'Pointer' 

надо так описывать
Код

function MainServiceThread(var argv : array of PChar):DWord;

Цитата(ВоВеЦ @  9.8.2006,  19:03 Найти цитируемый пост)
[Error] Unit1.pas(61): Undeclared identifier: 'ditDirectory'

таки найди модуль в котором определениа эта константа.

ЗЫЖ прям как маленький  smile неужели такие вещи надо спрашивать (во всех приведенных ошибках компилятор дал исчерпывающие коментарии + F1)

Добавлено @ 11:25 
Цитата(ВоВеЦ @  9.8.2006,  19:03 Найти цитируемый пост)
т.к. цикл в потоке выдавал значения не от 1 до 254, а ~2000 и по убывающей....

наверняка напутал быть такого не могет.
Цитата(ВоВеЦ @  6.8.2006,  19:51 Найти цитируемый пост)
Я бывает временами фигею от Делфи,

ты на делфю не гони (она кенечно глючит временами но редко и легко устранимо). Я встречал глюки только при использовании OLE в крупных проектах и то редко.


--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
ВоВеЦ
Дата 10.8.2006, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.4.2006

Репутация: нет
Всего: нет



drkot я не предстовлял в чём могут быть выражены такие ошибки, вот и спрашивал, теперь подобных вопросов не будет или ты хочеш сказать когда ты писал свою первую прогу у тебя не возникало таких глупых(для разбирающегося кодера) вопросов?

А насчёт потоков лучше привидите пример тогда их использования с таким вызовом функций 
Код
function MainServiceThread(var argv : array of PChar):DWord;

К примеру с 3 циклами,каждый в потоке, каторые будут выводить конечное значение тогда я наверника разберусь, а всё что в инете находил муть какая та...

Цитата
наверняка напутал быть такого не могет

Если не вериш проверь, запусти цикл от 1 до 254 например, через такой поток  h1 := beginthread(nil, 1024, @cikl, nil, 0, th1); и выведи его в memo, значения получится не те каторые заданы в цикле

Цитата
ты на делфю не гони (она кенечно глючит временами но редко и легко устранимо). Я встречал глюки только при использовании OLE в крупных проектах и то редко.


Да, эти глюки легко устранимы, но они есть, так что никто тебе тут  не гонит
PM MAIL   Вверх
drkot
Дата 10.8.2006, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8



Цитата(ВоВеЦ @  10.8.2006,  15:19 Найти цитируемый пост)
ты хочеш сказать когда ты писал свою первую прогу у тебя не возникало таких глупых(для разбирающегося кодера) вопросов?

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

Цитата(ВоВеЦ @  10.8.2006,  15:19 Найти цитируемый пост)
Если не вериш проверь, запусти цикл от 1 до 254 например

Без обид, но щас все брошу и начну сочинять код который ты написал. С вероятностью 90% он будет отличаться от того что ты наваял. Следовательно вероятность подобной ошибки будет сведена к 0.
Если хочеш совет выкладывай код, его посмотрят. А писать прогу с целью воспроизводства твоих ошибок выглядит глупо. smile

Цитата(ВоВеЦ @  10.8.2006,  15:19 Найти цитируемый пост)
А насчёт потоков лучше привидите пример тогда их использования с таким вызовом функций

у тебя не правильно описана главная функция потока отсюда и глюки. Работа со стеком некоректна.
Наверняка там где ты смотрел описание работы 
Цитата(ВоВеЦ @  6.8.2006,  01:25 Найти цитируемый пост)
beginthread

было описание и входной функции (только ты его незаметил).

Цитата(ВоВеЦ @  10.8.2006,  15:19 Найти цитируемый пост)
Да, эти глюки легко устранимы, но они есть, так что никто тебе тут  не гонит

это единственный глюк который я встретил (после компиляции возникает runtime ошибка OLE) и исправляется путем удаления проблемного модуля из проекта и вновь его добавлением. Именно глюк без ошибок в коде. 

А утебя это неизвесно чем вызвано ибо голые стова ни примера ошибок ни кода (может у тебя проект запущен был вот и возникла ошибка компиляции).


--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
ВоВеЦ
Дата 13.8.2006, 04:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.4.2006

Репутация: нет
Всего: нет



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


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

Цитата
Без обид, но щас все брошу и начну сочинять код который ты написал. С вероятностью 90% он будет отличаться от того что ты наваял. Следовательно вероятность подобной ошибки будет сведена к 0.
Если хочеш совет выкладывай код, его посмотрят. А писать прогу с целью воспроизводства твоих ошибок выглядит глупо.


Код каторый в 3 действия я думаю мало чем то глобальным изменится, даже в твоём понимании его алгоритма smile 1 Цикл 2 поток 3 вывод, поток я уже писал как вызывал, а насчёт 1ого и 2ого я думаю врятли можно так накодить что  конечный результат будет отвлечаться от моего. Следовательно по моему мнения аероятность ошибки будет очень большая

Цитата
у тебя не правильно описана главная функция потока отсюда и глюки. Работа со стеком некоректна.
Наверняка там где ты смотрел описание работы 


Может быть, надо глянуть...





PM MAIL   Вверх
ВоВеЦ
Дата 13.8.2006, 06:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.4.2006

Репутация: нет
Всего: нет



В моём первом посте был вот такой пункт:
2)Получения списка директорий ФТП с разрешенным анонимном входом.... И закачка файла в диру( ТЕКСТОВЫЙ ФАИЛ С ИНФОЙ, А НЕ ВИРУС, КАК МНОГИЕ МОГУТ ПОДУМАТЬ!!!)

Всё облазил, поисковики, форумы и Demo Client FTP INDY
Как это реализовать в том случее когда ещё идёт скан на фтпшники в сети не предстовляю...
Нашёл один код, но он по каким то  причинам не подходит, может подскажете, каким или предложите другой вариант?
Код

var
 Dir: String; 
  DL: TStringList; 
  i: integer; 
begin 
    DL:=TStringList.Create; 
    idFTP.ChangeDir(Dir); 
    idFTP.List(DL); 
    i:=0; 
    while i <= idFTP.DirectoryListing.Count-1 do 
          begin 
               if idFTP.DirectoryListing[i].ItemType = ditDirectory then 
                  begin
     IdFTP.Put('file.txt','info.txt');
     idFTP.ChangeDirUp; 
     DL.Free; //







Это сообщение отредактировал(а) ВоВеЦ - 13.8.2006, 06:09
PM MAIL   Вверх
Fixin
Дата 13.8.2006, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ёжик
***


Профиль
Группа: Комодератор
Сообщений: 1357
Регистрация: 6.1.2004

Репутация: 5
Всего: 18



Модератор: может, тему в "Дельфи:Сети" отправить?
PM MAIL ICQ   Вверх
ВоВеЦ
Дата 13.8.2006, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.4.2006

Репутация: нет
Всего: нет



Отправляйте куда хотите, ток подскажите  smile 

Вопрос для вас-профессианалов проще некуда, как перебрать названия всех папок на серве, хелп ми и тему можно закрывать. Очень надеюсь на вашу помощь! 

Это сообщение отредактировал(а) ВоВеЦ - 14.8.2006, 01:31
PM MAIL   Вверх
drkot
Дата 14.8.2006, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8



Цитата(ВоВеЦ @  13.8.2006,  04:10 Найти цитируемый пост)
у старичёк, мозг напрягать приходится всегда, независимо есть инет или нет

сарказм непонятен. 

Цитата(ВоВеЦ @  13.8.2006,  04:10 Найти цитируемый пост)
Может быть, надо глянуть...

сажалею что приходится повторяться, но заголовок функции потока соггасно решению дяди Била выглядит так:
Цитата(drkot @  10.8.2006,  11:20 Найти цитируемый пост)
код Pascal/Delphi1:function MainServiceThread(var argv : array of PChar):DWord;

если принципиальные различия с твоим кодом
Цитата(ВоВеЦ @  6.8.2006,  01:25 Найти цитируемый пост)

procedure cikl;
var
  th:cardinal;
  i:integer;
begin
for i:= 1 to 254 do
end;

D:= beginthread(nil,1024,@cikl,nil,0,th);

тебе непонятны, то дальше движения уже не будет. 

Цитата(ВоВеЦ @  13.8.2006,  22:33 Найти цитируемый пост)
Вопрос для вас-профессианалов проще некуда, как перебрать названия всех папок на серве, хелп ми и тему можно закрывать. Очень надеюсь на вашу помощь! 

обход дерева на фтп аналогичен обходу на локальном диске.
что тебе не понятно?
или тебе леньки код написать?


Это сообщение отредактировал(а) drkot - 14.8.2006, 12:28


--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
ВоВеЦ
Дата 14.8.2006, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.4.2006

Репутация: нет
Всего: нет



Цитата

сарказм непонятен. 

Потому что это не сарказм, я тут не над кем не насмехаюсь

Цитата

обход дерева на фтп аналогичен обходу на локальном диске.
что тебе не понятно?
или тебе леньки код написать?


Зачем изобретать велосипед. Я же не прошу писать для меня код, а просто выдрать часть кода из какой нибудь программы где есть похожая процедура, пока всё что я пробывал работало некорректно

Это сообщение отредактировал(а) ВоВеЦ - 14.8.2006, 17:04
PM MAIL   Вверх
Fixin
Дата 14.8.2006, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ёжик
***


Профиль
Группа: Комодератор
Сообщений: 1357
Регистрация: 6.1.2004

Репутация: 5
Всего: 18



Цитата(ВоВеЦ @  14.8.2006,  17:00 Найти цитируемый пост)
всё что я пробывал работало некорректно
Пока что ты добился только темы в 59 сообщений и при этом умудрился получит нерабочий код? не кажется ли, что быстреебы сам разобраля, это во-первых, а во-вторых, поиск элементарных алгоритмов сводится к 2м-3м запросам к поисковику.

PM MAIL ICQ   Вверх
ВоВеЦ
Дата 15.8.2006, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.4.2006

Репутация: нет
Всего: нет



Я кода тут вообще не получал никакого, только алгоритмы smile Я сам разбираюсь понемного, но и жду некоторой помощи, и уж поверь в поисковиках я облазил очень много сайтов, но не то что нужно. Если мне надо было бы просто вывести список токого вида
Код

...
drw-rw-rw- 1 user group 0 jun 28 07:27 FAQ
...

То проблем бы небыло, но мне надо выделить только название всех папок FTP, и по очереди их запихнуть в 
Код

IdFTP.ChangeDir('/' + d);


где d - это переменная в каторой осуществляется обход имён директорий присутствующих на FTP

Fixin если ты говариш подобный алгоритм можно найти 2мя - 3мя запросами, то попробуй поискать...
И вы думаете что я не сижу сам не разбираюсь, а жду ответа только. Я уже хрен знает какую ночь сижу и толку не много



PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0656 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.