![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Есть рабочий код для обновления своей программы.
Все нормально работает, но не могу прикрутить SaveDialog для сохранения свежей программы в указанное пользователем место. Вот сам код Код:
procedure TForm5.Button1Click(Sender: TObject);
var
url,r:WideString;
i,j:integer;
Razmer : int64;
begin
try
HTTP := TIdHTTP.Create(nil);
HTTP.Head('http://191.22.9.16/verty.exe');
Razmer := HTTP.Response.ContentLength; //размер файла
HTTP.Free;
Razmer := Round (Razmer / 1024);
label4.Caption:='Размер обновления: '+(IntToStr (Razmer) + ' KB');
Stream:=TMemoryStream.Create;
url:='http://191.22.9.16/verty.exe';
for i:=1 to length(url) do
begin
if url[i]='.' then
begin
j:=i;
end;
end;
r:=copy(url,j+1,length(url));
IdHTTP1.Get(url,Stream);
Stream.SaveToFile('c:\verty.exe');
except
on e:Exception do
Stream.Free;
end;
if progressbar1.position=progressbar1.max then begin
Application.Messagebox('Загрузка обновления прошла успешно.','Загрузка обновления..', mb_iconinformation or mb_ok);
// ShellExecute(Handle, 'open', 'c:\verty.exe', nil, nil, SW_SHOWNORMAL);
end;
end;
end.Цитата:
Спасибо Последний раз редактировалось starcon, 17.08.2016 в 22:16. |