Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 17.05.2013, 11:28   #1
demon-sheff
Пользователь
 
Регистрация: 21.03.2013
Сообщений: 46
По умолчанию Сравнение текстовых файлов

Доброе время суток! Пишу обновление для своей программы через ФТП. Так вот проблемма заключается в следующем: не знаю как сравнить данные в 2 текстовых полях version и ver.
так выглядит
Код:
procedure TForm1.SpeedButton3Click(Sender: TObject);
Var
    version,ver:WideString;
    ms:TMemoryStream;
    zap:byte;
begin
      IdFTP1.Host:='10.10.100.200'; // ftp адрес сервера
      IdFTP1.Port:=21;
     IdFTP1.Username:='admin'; //логин
      IdFTP1.Password:='admin';    //Пароль
      IdFTP1.Passive:=true;
     if IdFTP1.Connected then
IdFTP1.Disconnect
else
try
      IdFTP1.Connect;
      except
      on E:Exception do
      ShowMessage('Ошибка подключения: '+E.Message);
      end;
      if IdFTP1.Connected then
       try
     IdFTP1.ChangeDir('/');// Установить папку на сервере
    IdFTP1.Get('Soft/update/version.ini','C:/Soft/log/version.ini',true);//Файл Откуда-Куда
     IdFTP1.Get('Soft/update/Install.exe','C:/Soft/log/Install.exe',true);//Файл Откуда-Куда
     Memo2.Lines.LoadFromFile('C:/Soft/log/version.ini');
      version:=Memo2.Text;
      ver:= Memo3.Text;
    except
    on E:Exception do
      if version=ver then
      begin
        Application.MessageBox('Вы используете последнюю версию программы!','Внимание',MB_OK);
      end
      else
      begin
      zap:=WinExec('C:/Soft/log/Install.exe',SW_Restore);
         end;
end;
      ms.Free; IdFTP1.Disconnect;
    end;
demon-sheff вне форума
Старый 17.05.2013, 11:33   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Через CompareStr - самое простое.
Более сложным и правильным будет сравнение версий
Человек_Борща вне форума
Старый 17.05.2013, 11:35   #3
demon-sheff
Пользователь
 
Регистрация: 21.03.2013
Сообщений: 46
По умолчанию

А не можете более подробно написать, я только учусь
Код:
procedure TForm1.SpeedButton3Click(Sender: TObject);
Var
    version,ver:WideString;
    ms:TMemoryStream;
    zap:byte;
     i:integer;
begin
      IdFTP1.Host:='10.10.100.200'; // ftp адрес сервера
      IdFTP1.Port:=21;
     IdFTP1.Username:='admin'; //логин
      IdFTP1.Password:='admin';    //Пароль
      IdFTP1.Passive:=true;
     if IdFTP1.Connected then
IdFTP1.Disconnect
else
try
      IdFTP1.Connect;
      except
      on E:Exception do
      ShowMessage('Ошибка подключения: '+E.Message);
      end;
      if IdFTP1.Connected then
       try
     IdFTP1.ChangeDir('/');// Установить папку на сервере
    IdFTP1.Get('Soft/update/version.ini','C:/Soft/log/version.ini',true);//Файл Откуда-Куда
     IdFTP1.Get('Soft/update/Install.exe','C:/Soft/log/Install.exe',true);//Файл Откуда-Куда
     Memo2.Lines.LoadFromFile('C:/Soft/log/version.ini');
      version:=Memo2.Text;
      ver:= Memo3.Text;
     i:=CompareStr(version,ver);
    except
    on E:Exception do
      if i<>0 then
      begin
        Application.MessageBox('Необходимо обновить программу!','Внимание',MB_OK);
      end
      else
      begin
      zap:=WinExec('C:/Soft/log/Install.exe',SW_Restore);
         end;
end;
      ms.Free; IdFTP1.Disconnect;
    end;
Так? Только вот не работает...

Последний раз редактировалось demon-sheff; 17.05.2013 в 12:01.
demon-sheff вне форума
Старый 20.05.2013, 09:13   #4
demon-sheff
Пользователь
 
Регистрация: 21.03.2013
Сообщений: 46
По умолчанию

Все тему можно закрывать. Разобрался. Спасибо!
demon-sheff вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение текстовых значений climber Microsoft Office Excel 2 24.01.2013 17:09
Сравнение строк двух текстовых файлов Alina111 Общие вопросы C/C++ 4 10.01.2013 10:03
Самое быстрое сравнение текстовых файлов blblbl-org Общие вопросы Delphi 17 26.04.2012 15:19
Сравнение данных в текстовых файлах zhukovms Помощь студентам 34 05.09.2011 11:58
Сравнение текстовых файлов BR17UY Общие вопросы Delphi 15 07.05.2007 20:18