![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Привет! Я новичок в программировании. Хочу написать свой фтп многопоточный заливщик через соксы 4/5. Подскажите с какими функциями надо разобраться и какая литература больше подходит для решения этой задачи? И если есть примеры!!
|
#2
|
|||
|
|||
![]() У кого достаточно опыта в этом деле или хоть есть какие нить решения задачи буду рад вашей помощи!
1. загрузил в поле мемо1 из файла, список соксов вида ип:порт 2. загрузил в поле мемо2 из файла, список заданий вида фтп,логин,пароль,папка на компе с файлами, папка на фтп куда заливать 3. 2а edit поля. В одном кол-во заданий в другом количество потоков для задания. Вопрос как мне сделать, что бы по нажатию на батон программа брала первый сокс и задание и пыталась залить фаил. Как то так. Какие идеи? |
#3
|
||||
|
||||
![]() Цитата:
Пишу программы за еду. __________________ |
#4
|
|||
|
|||
![]() Цитата:
Можно примеры? сейчас пытаюсь разобраться как реализовать через indy |
#5
|
|||
|
|||
![]() Разобрался как передать фаил с помощью indy. А как передать всю папку со всеми файлами каталогами и подкаталогами?
|
#6
|
||||
|
||||
![]() ну так:
procedure MakeDir(const ADirName: string); сканируешь локальную папку, создаешь удаленные папки и копируешь в них файлы, рекурсивно. Пишу программы за еду. __________________ |
#7
|
|||
|
|||
![]() Цитата:
PHP код:
Т.е. я получил список файлов в папке, подпапке. Теперь надо как-то передать все это, так что бы подпапки создавались на фтп и заливались файлы туда. Только что читал про рекурсию, разбираюсь. Но заглядывая вперед, как мне можно хранить список файлов для многозадачной передачи? Изначально же не известно сколько необходимо выполнять задач. Я веду к тому что в примере файлы выводятся в ListBox. А в много задачной нужно будет и 100 одновременно сканировать папок и получать список. А потом отдавать их на передачу по фтп. Тогда необходимо создавать фаил со список путей файлов? И сколько задач столько и файлов и уже из файлов тягать пути и отдавать на передачу или есть более толковый способ? Последний раз редактировалось ujanin, 09.09.2011 в 11:39. |
#8
|
|||
|
|||
![]() Подскажите как записать в фаил все строки вместо listbox
PHP код:
Процедура ScanDir написана так что, хранилище для резульатат, любой наследник от TString. Как мне необходимо ее переделать, что бы хранилище можно было использовать фаил? |
#9
|
|||
|
|||
![]() У меня есть строка: 1,2,3,4,5 как мне из нее взять 5? Не пойму как взять с помощью функции copy, если номер первого символа с которого начинается нужная подстрока перед этим повторяется не раз, а именно ",". Но я знаю точно, что после 4й запятой нужная подстрока.
|
#10
|
|||
|
|||
![]() удалено 10 символов
Последний раз редактировалось ujanin, 09.09.2011 в 18:45. |
#11
|
|||
|
|||
![]() Цитата:
PosEx не пробовал? А вообще, не "простая" ли задачка для начинающего. И вообще, не с той стороны подходишь к задаче. Например, подумай, что скажет сервер, если на него с одного адреса будет открыто 1000 соединений и будет заливаться 1000 файлов? А если файлов больше? Короче, знаний для нормального решения такой задачи тебе все-равно сейчас не хватает. Садись разбирайся с пулами потоков или с очередями. |
#12
|
||||
|
||||
![]() Может это тебе поможет:
Код:
function ParseStr(S, SubStr: String; Index: Integer): String; var i: Integer; BlockStr: String; begin if (S = '') or (SubStr = '') then Exit; if Length(S) < Length(SubStr) then Exit; if Copy(S, Length(S) - Length(SubStr), Length(SubStr)) <> SubStr then S := S + SubStr; for i := 1 to Index do begin BlockStr := Copy(S, 0, Pos(SubStr, S) - 1); S := Copy(S, Pos(SubStr, S) + Length(SubStr), Length(S)); end; Result := Trim(BlockStr); end; |
#13
|
||||
|
||||
![]() Цитата:
PHP код:
Цитата:
Цитата:
Цитата:
![]() |
#14
|
|||
|
|||
![]() Цитата:
Спасибо конечно. Но можно добавить комментарии? |
#15
|
||||
|
||||
![]() Ну уж если к такому коду комментарии писать, то однозначно - за учебники.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |