Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.08.2016, 09:42
starcon starcon вне форума
Новичок
 
Регистрация: 15.03.2014
Сообщения: 84
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Помогите разобраться с SaveDialog

Есть рабочий код для обновления своей программы.
Все нормально работает, но не могу прикрутить 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.
А ещё предупреждает о
Цитата:
[Предупреждение] Unit3.pas(114): Variable 'j' might not have been initialized

Спасибо

Последний раз редактировалось starcon, 17.08.2016 в 22:16.
Ответить с цитированием
  #2  
Старый 17.08.2016, 13:33
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Код:
...
 j:= 0;
...
 If SaveDialog.Execute then 
  Stream.SaveToFile(SaveDialog.FileName);
...
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
starcon (17.08.2016)
  #3  
Старый 17.08.2016, 17:56
starcon starcon вне форума
Новичок
 
Регистрация: 15.03.2014
Сообщения: 84
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Только я не понял,куда вставить
Код:
j:= 0;
Ответить с цитированием
  #4  
Старый 17.08.2016, 19:44
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

Цитата:
Сообщение от starcon
Только я не понял,куда вставить
Код:
j:= 0;
Код:
procedure TForm5.Button1Click(Sender: TObject);
var
 url,r:WideString;
 i,j:integer;
 Razmer : int64;
begin
try
j:=0;
Ответить с цитированием
Этот пользователь сказал Спасибо ApxaHGe1 за это полезное сообщение:
starcon (17.08.2016)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:17.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter