Jump to content
Korean Random
ivan777

Проверка нескольких файлов inno setup / Delphi

Recommended Posts

Здравствуйте ! Нужно реализовать в программе на Delphi проверку на наличие файлов игры, чтобы установка была только в папку с игрой и никуда больше. Или такую же проверку сделать только в установке Inno Sutup при выборе папки для установки . Если кто то знает как это сделать на Inno setup или на Delphi скиньте код пожалуйста

Share this post


Link to post

Short link
Share on other sites

В чем проблема запросить все файлы в каталоге и проверить наличие там exe'шника игры?

FindFirstFile function https://msdn.microsoft.com/en-us/library/windows/desktop/aa364418%28v=vs.85%29.aspx

FindNextFile function https://msdn.microsoft.com/en-us/library/windows/desktop/aa364428%28v=vs.85%29.aspx

 

на дельфях вроде даже проще

http://www.delphibasics.ru/FileExists.php

 

Обёртка

//Функция GetFileAttributes Win32 API возвращает атрибуты для заданного файла или каталога. В случае ошибки возвращается значение 0xFFFFFFFF.

#include <windows.h>
bool FileExists(LPCTSTR fname)
{
  return ::GetFileAttributes(fname) != DWORD(-1);
}
			
Edited by Suffering

Share this post


Link to post

Short link
Share on other sites

я могу сделать это с одним файлом, но с нескольким не получается это сделать 

 

procedure TForm1.FormCreate(Sender: TObject);
begin
    if FileExists(extractfilepath(application.ExeName)+'file.txt') then //Проверяю файл
else
    ShowMessage('Выбрать игру!'); //Если нету файла 
end;

Edited by ivan777

Share this post


Link to post

Short link
Share on other sites

procedure TForm1.FormCreate(Sender: TObject);
begin
    if FileExists(extractfilepath(application.ExeName)+'file.txt') then //Проверяю файл

    if FileExists(extractfilepath(application.ExeName)+'111.txt') then //Проверяю файл

    if FileExists(extractfilepath(application.ExeName)+'4444.txt') then //Проверяю файл
else
    ShowMessage('Выбрать игру!'); //Если нету файла
end;

 

Я так пробовал делать, оно как бы вроде работает, но не так, он не проверяет каждый файл 

Share this post


Link to post

Short link
Share on other sites

ну так все верно, else относится к 1 блоку, надо вот так-с

begin
    if (FileExists(extractfilepath(application.ExeName)+'file.txt') and
       FileExists(extractfilepath(application.ExeName)+'111.txt') and
       FileExists(extractfilepath(application.ExeName)+'4444.txt')) then CODE_HERE() //Проверяем файлы
else
       ShowMessage('Выбрать игру!'); //Если нету файла
end;

Заносите код в теги

Edited by Suffering
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

ну так все верно, else относится к 1 блоку, надо вот так-с

begin
    if (FileExists(extractfilepath(application.ExeName)+'file.txt') and
       FileExists(extractfilepath(application.ExeName)+'111.txt') and
       FileExists(extractfilepath(application.ExeName)+'4444.txt')) then CODE_HERE() //Проверяем файлы
else
       ShowMessage('Выбрать игру!'); //Если нету файла
end;

Заносите код в теги

Спасибо. Помогли

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...