Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / узнать и наличии файла в системе, но не FileExists / 24 сообщений из 24, страница 1 из 1
06.12.2019, 14:08
    #39899085
yemets63
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
средствами Delphi
можно ли узнать о наличии или возможности запуска системного файла (к примеру odbcad32.exe), не указывая путь к нему.
FileExists не подходит.
варианты поиска по папкам тоже не подходит

если есть какой нибудь другой вариант решения, приятно , готов рассмотреть
...
Рейтинг: 0 / 0
06.12.2019, 14:10
    #39899087
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
как узнать, не перегорела ли лампочка не выкручивая её из плафона?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.12.2019, 14:10
    #39899088
d7i
d7i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
Можно искать в реестре.
Но, честно говоря, это как-то через одно место...
...
Рейтинг: 0 / 0
06.12.2019, 14:12
    #39899089
yemets63
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
ах нет, Delphi отлавливает по имени без пути, не уверен в надежности, но на первое время удобненько

if FileExists('odbcad32.exe') then => GOOD
...
Рейтинг: 0 / 0
06.12.2019, 14:13
    #39899092
yemets63
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
Мимопроходящий,

к примеру на диодной сейчас видно, они чернеют.
пробую FileExists в разных ОС
...
Рейтинг: 0 / 0
06.12.2019, 14:14
    #39899096
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
yemets63
средствами Delphi
можно ли узнать о наличии или возможности запуска системного файла (к примеру odbcad32.exe), не указывая путь к нему.
FileExists не подходит.
варианты поиска по папкам тоже не подходит

если есть какой нибудь другой вариант решения, приятно , готов рассмотреть

  • заходите в меню File\Open
  • в поле имяфайла вводите *.exe
  • нажимаете Enter
  • смотрите в папках где он может быть
...
Рейтинг: 0 / 0
06.12.2019, 14:15
    #39899097
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
06.12.2019 14:13, yemets63 пишет:
> к примеру на диодной сейчас видно, они чернеют.

а включить не пробовал?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.12.2019, 14:16
    #39899098
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
yemets63,

туда же: Delphi - это программа, у неё нет средств(денег и прочих материальных благ)
...
Рейтинг: 0 / 0
06.12.2019, 14:21
    #39899102
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
yemets63пробую FileExists в разных ОС

"В разных ОС"... "odbcad32.exe"... Ню-ню...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.12.2019, 14:28
    #39899106
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
yemets63

если есть какой нибудь другой вариант решения, приятно , готов рассмотреть

Чтобы предложить вариант решения, нужно знать постановку задачи.
У вас нет постановки задачи, а есть попытка её решения, которая вас не страивает.
...
Рейтинг: 0 / 0
06.12.2019, 14:32
    #39899110
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
yemets63
ах нет, Delphi отлавливает по имени без пути, не уверен в надежности, но на первое время удобненько

if FileExists('odbcad32.exe') then => GOOD
Ну и слава богу
...
Рейтинг: 0 / 0
06.12.2019, 14:50
    #39899122
yemets63
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
Dimitry Sibiryakov,

разных версиях Windows XP - 10, уже лучше?
...
Рейтинг: 0 / 0
06.12.2019, 14:53
    #39899126
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
yemets63разных версиях Windows XP - 10, уже лучше?

Гораздо. Во всех этих версиях odbcd32.exe гарантированно существует, так что функция его
проверки сводится к "Result := true;".

Во всех остальных случаях либо CreateProcess + обработка ошибки если файл надо реально
запускать, либо LoadLibrary + обработка ошибки - если не надо.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.12.2019, 20:32
    #39899286
swame2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
yemets63,

>>FileExists не подходит.

function DeleteFile(const FileName: string): Boolean;

вернет - был ли файл. Подходит?
...
Рейтинг: 0 / 0
06.12.2019, 23:12
    #39899312
x1ca4064
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
swame2

function DeleteFile(const FileName: string): Boolean;

вернет - был ли файл. Подходит?


А если файл занят? :)
...
Рейтинг: 0 / 0
06.12.2019, 23:32
    #39899316
swame2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
x1ca4064,

>> А если файл занят? :)

Значит был и остался, вернется в исключении
...
Рейтинг: 0 / 0
06.12.2019, 23:39
    #39899319
x1ca4064
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
swame2

Значит был и остался, вернется в исключении

DeleteFile не порождает исключения, если не может удалить файл.
...
Рейтинг: 0 / 0
07.12.2019, 00:24
    #39899324
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
yemets63

если есть какой нибудь другой вариант решения, приятно , готов рассмотреть
LoadLibraryEx с флагами

авторThe LOAD_LIBRARY_AS_DATAFILE, LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE, and LOAD_LIBRARY_AS_IMAGE_RESOURCE values affect the per-process reference count and the loading of the specified module. If any of these values is specified for the dwFlags parameter, the loader checks whether the module was already loaded by the process as an executable DLL.
работать будет и с exe, несмотря на описание
...
Рейтинг: 0 / 0
07.12.2019, 14:24
    #39899387
ёёёёё
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
Как на компьютере А узнать, что на компьютере Б имеется конкретный файл?
Нужно не только кроссплатформенно, но и в случае, когда выключен не только компьютер Б, но и А.
...
Рейтинг: 0 / 0
07.12.2019, 14:37
    #39899393
sql2012
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
ёёёёё
Как на компьютере А узнать, что на компьютере Б имеется конкретный файл?
Нужно не только кроссплатформенно, но и в случае, когда выключен не только компьютер Б, но и А.


из анекдота - фсб может дозвониться и на выключенный телефон
...
Рейтинг: 0 / 0
09.12.2019, 17:01
    #39900217
crossa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
Если уж извращаться, то можно запускать какую-либо внешнюю программу, которая и будет проверять наличие файла. Например, можно использовать скрипт на Python (функция os.path.isfile и еще пара команд) и что-то типа "Python for Delphi" (P4D, набор компонентов для работы с Python из Delphi).

Python привел лишь для примера, как нечто, что есть на разных платформах (первое, что пришло в голову).
...
Рейтинг: 0 / 0
09.12.2019, 20:32
    #39900432
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
FileSearch() не спасут отца русской демократии?
...
Рейтинг: 0 / 0
10.12.2019, 10:12
    #39900633
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
yemets63
средствами Delphi
можно ли узнать о наличии или возможности запуска системного файла (к примеру odbcad32.exe), не указывая путь к нему.
FileExists не подходит.
варианты поиска по папкам тоже не подходит

Код: pascal
1.
2.
3.
4.
5.
var 
  CommandLine: string = 'odbcad32.exe';
...
if not CreateProcess(nil, Pointer(CommandLine), ...) then 
  WriteLn('Файл odbcad32.exe не найден по известным путям поиска (%PATH%).');


docs.microsoft.com If the file name does not contain a directory path, the system searches for the executable file in the following sequence:

The directory from which the application loaded.
The current directory for the parent process.
The 32-bit Windows system directory. Use the GetSystemDirectory function to get the path of this directory.
The 16-bit Windows system directory. There is no function that obtains the path of this directory, but it is searched. The name of this directory is System.
The Windows directory. Use the GetWindowsDirectory function to get the path of this directory.
The directories that are listed in the PATH environment variable. Note that this function does not search the per-application path specified by the App Paths registry key. To include this per-application path in the search sequence, use the ShellExecute function.
?
...
Рейтинг: 0 / 0
10.12.2019, 10:22
    #39900642
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
узнать и наличии файла в системе, но не FileExists
yemets63
можно ли узнать о наличии или возможности запуска системного файла (к примеру odbcad32.exe), не указывая путь к нему.

Нет.
yemets63
варианты поиска по папкам тоже не подходит

Забирай PATH, делай руками сплит по ";" и подставляй полученные каталоги. Если надо просто запустить, вызови оболочку, да запусти. Она сама подтянет path.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / узнать и наличии файла в системе, но не FileExists / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]