Здравствуйте! Появилась необходимость в одной программке, а именно:
Маленький экзешник, который пользователь скачает с сайта (или любым другим способом - неважно)
При запуске, программа должна выкачивать файлы с источника.
Подробнее. Если кто знаком, то примерно это похоже не hldsupdatetool.
запускается программа, проверяется соединение с интернетом.
проверяет, отвечает ли сервер.
показывает как бы диалоговое окно, с размером файлов которые будет выкачивать.
и, после запуска скачивания, файлы качаются клиенту, важно что они должны качаться по одному, и в той иерархии, в которой лежат на сервере.
Я в программировании практически не шарю, но при нужде изучу что необходимо.
Помогите хотя бы правильно найти материал (то есть что нужно искать, потому что я пока не особо представляю с чего начать)
и еще пару вопросов. Я знаю что писать лучше в той среде и языке, который хоть как то знаешь.
С этим у меня проблема, я их практически не знаю. Советуют писать на визуал студио (С++)
Направьте пожалуйста в нужное русло. Заранее благодарен за помощь (Извиняюсь за неправильные формулировки)
-- добавлено 29 фев 2012, 15:09 --
up
Апдейтер файлов
- Distructor
- Администратор
- Сообщения: 1607
- Зарегистрирован: 28.12.2009
бери любой язык и читай как в нем нарисовать формочку и как работать с сокетами для скачивания файла
Вот пример реализации в делфи:
Вообще в делфи довольно не трудно разобраться, создаешь проект, открывается форма, на нее добавляешь нужный компонент(тупо перетаскиваешь значок нужного компонента на форму), например если нужно сделать действие по клику мышью на кнопку, то добавляешь баттон на форму, кликаешь на него, открывается код примерно с таким именем: procedure Buttin1cli......
begin
здесь пишешь код
end;
В кратце примерно так.
Код
Код: Выделить всё
В uses добавить WinInet
procedure GetInetFile(const fileURL, FileName: String);
const BufferSize = 32768;
var
hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;
begin
hSession := InternetOpen( PChar(sAppName),
INTERNET_OPEN_TYPE_PRECONFIG,
nil, nil, 0);
try
hURL := InternetOpenURL( hSession,
PChar(fileURL),
nil,0,0,0);
try
AssignFile(f, FileName);
Rewrite(f,1);
repeat
InternetReadFile( hURL, @Buffer,SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen);
until BufferLen = 0;
CloseFile(f);
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end;
end;
begin
здесь пишешь код
end;
В кратце примерно так.