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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

function DeleteFile(const FileName: string): Boolean;

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

function DeleteFile(const FileName: string): Boolean;

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


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

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

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

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

DeleteFile не порождает исключения, если не может удалить файл.
...
Рейтинг: 0 / 0
узнать и наличии файла в системе, но не FileExists
    #39899324
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
узнать и наличии файла в системе, но не FileExists
    #39899387
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как на компьютере А узнать, что на компьютере Б имеется конкретный файл?
Нужно не только кроссплатформенно, но и в случае, когда выключен не только компьютер Б, но и А.
...
Рейтинг: 0 / 0
узнать и наличии файла в системе, но не FileExists
    #39899393
sql2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё
Как на компьютере А узнать, что на компьютере Б имеется конкретный файл?
Нужно не только кроссплатформенно, но и в случае, когда выключен не только компьютер Б, но и А.


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

Python привел лишь для примера, как нечто, что есть на разных платформах (первое, что пришло в голову).
...
Рейтинг: 0 / 0
узнать и наличии файла в системе, но не FileExists
    #39900432
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FileSearch() не спасут отца русской демократии?
...
Рейтинг: 0 / 0
узнать и наличии файла в системе, но не FileExists
    #39900633
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
узнать и наличии файла в системе, но не FileExists
    #39900642
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yemets63
можно ли узнать о наличии или возможности запуска системного файла (к примеру odbcad32.exe), не указывая путь к нему.

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

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


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