Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

многопотовый загрузчик файлов [D7, Win2k, WinXP]


Страницы:   1 2 3

gedd ©   (2003-08-11 10:51:00) 

Кто нибудь знает как сделать многопотовый загрузчик файлов
компоненты idhttp idftp не подходят!


Reindeer Moss Eater   (2003-08-13 13:28:00) [21]

инди не умеет писать в середину потока

Тебе русским языком сказали, что не Indy пишет туда.
Пишет метод класса конкретного потока, экземпляр которого передан методу Get.


Zelius   (2003-08-13 13:26:00) [22]


> Reindeer Moss Eater © (13.08.03 13:22) [33]

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


Reindeer Moss Eater   (2003-08-13 13:22:00) [23]

Пишет так, как ему нужно, а работает так, как ему не нужно.
Любая шимпанзе в зоопарке уже давно бы догадалась попробовать сделать наоборот.


Reindeer Moss Eater   (2003-08-13 13:19:00) [24]

...если я так написал, значит мне это было нужно...

Долго смеялся.


Zelius   (2003-08-13 13:16:00) [25]


> Reindeer Moss Eater © (13.08.03 13:10) [29]

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


Zelius   (2003-08-13 13:14:00) [26]


> Е-Моё имя © (13.08.03 13:08) [28]

ну-ну, добро пожаловать в клуб не внимательных... тупиц ( хотя хотелось выразиться крепче), а то Reindeer Moss Eater там одному скушно наверное... если я так написал, значит мне это было нужно... представь себе, что второй кусок скачается первым, не знаю, способен ли ты на это...


Reindeer Moss Eater   (2003-08-13 13:10:00) [27]

Внимательный и умный Zelius. Пойми одну простую истину.
Данные в твой файл пишет не Indy.
В твой файл данные пишет метод класса TFileStream.
Перед тобой виноваты разработчики класса TFileStream, а не разработчики Indy.

Попробуй запусти, ты все поймешь... А для интереса, попробуй скачать не 10 Кб, а 10 Гб

Я это делал, делаю, и еще долго буду делать и без твоих любезных предложений.


Е-Моё имя   (2003-08-13 13:08:00) [28]

ну ты братец и тупица...

fStream.Position := 0;
не ты ли написал?


Zelius   (2003-08-13 13:00:00) [29]


> Reindeer Moss Eater ©

Извини, ты злой и невежливый одновременно, плюс еще и невнимательный, поверь наслово...
А в середину потока как раз инди писать и не умеет, что я и доказал примером. Попробуй запусти, ты все поймешь... А для интереса, попробуй скачать не 10 Кб, а 10 Гб


Reindeer Moss Eater   (2003-08-13 12:21:00) [30]

Я злой, но я вежливый по возможности.


$hade   (2003-08-13 12:16:00) [31]

наверное все-таки 2е...
только все равно - злой ты какой-то...:-)


Reindeer Moss Eater   (2003-08-13 12:00:00) [32]

тем, что инди не умеет писать в середину потока,

Так это Indy не умеет, или маленький ослик не умеет пользоваться Indy?


Reindeer Moss Eater   (2003-08-13 11:54:00) [33]

Тебе был дан пример, показывающий, что
Get пишет в ResponseContent с текущей позиции в потоке назначения, ничего в нем не меняя.
Из этого еще не следует, что тебе советовали в разных потоках создавать FileStream на один и тот же файл.
Тебе давали понять, что запись в итоговый файл данных, полученных в разных нитках - это твоя забота, а не разработчиков компонент.
Собирай данные в памяти, и пиши поблочно в свой файл наздоровье, соблюдая нужные смещения.

Вот так-то, молодой человек без хобби.


Zelius   (2003-08-13 11:52:00) [34]


> Reindeer Moss Eater © (13.08.03 11:41) [21]

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


Reindeer Moss Eater   (2003-08-13 11:41:00) [35]

посмотри в конце размер файла и извинись...

Посмотри на свой код, пойми что ты делаешь, и задумайся над своей способностью понимать советы старших.


Zelius   (2003-08-13 11:35:00) [36]


> Reindeer Moss Eater © (13.08.03 10:59) [19]

посмотри в конце размер файла и извинись...

procedure TForm1.Button1Click(Sender: TObject);
var
Msg: string;
fStream: TFileStream;
begin
Msg := "Я самый умный, потому что сам не пробовал, но думаю, что все должно работать так как Я хочу!"#13#10+
"Поэтому могу выпендриваться и раздовать дурацкие советы направо и налево, хотя сам никогда не пробовал так делать!"#13#10;

fStream := TFileStream.Create( "test.txt", fmCreate);
try
fStream.Size := 100000;
fStream.WriteBuffer( Msg[1], Length(Msg));
fStream.Position := 0;
IdHTTP1.Get( " http://www.delphimaster.ru/cgi-bin/forum.pl?n=4", fStream);
finally
fStream.Free;
end;
end;


Reindeer Moss Eater   (2003-08-13 10:59:00) [37]

На, не плач. Может тоже что-нибудь увидишь.

var
Msg :string;
fStream :=TFileStream;
begin
Msg:="Я сильно заблуждался насчет библиотеки Indy"#13#10;
fStream:=TFileStream.Create("test.txt",fmOpenWrite);
fStream.WriteBuffer(Msg[1],Length(Msg));
IdHTTP1.Get(" http://www.delphimaster.ru/cgi-bin/forum.pl?n=4",fStream) ;
fStream.Free;
end;


Zelius   (2003-08-13 10:53:00) [38]


> Reindeer Moss Eater © (13.08.03 10:29) [17]

конечно, могу тебе объяснить ( хотя уже все и так объяснил, а ты не смог понять), а то ты бедняга смотришь в книгу и видишь фигу, только выеживаться и умеешь...


Reindeer Moss Eater   (2003-08-13 10:29:00) [39]

Zelius ©
в отличии от тебя, похоже, я исходный код видел...
Похвально.
Понял в нем что-нибудь?


Zelius   (2003-08-13 10:27:00) [40]


> Reindeer Moss Eater © (13.08.03 09:32) [15]

в отличии от тебя, похоже, я исходный код видел...


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо