Форум программистов, компьютерный форум, киберфорум
Pure Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 11.12.2017
Сообщений: 96

Определение наличия файла в директории

25.08.2018, 07:08. Показов 2637. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всем привет. новая беда. Данный код отлично работает от юзера, но стоит его запустить как сервис отучетки система, ничего не работает. есть мысли почему? Этим кодом определяю существование файла в директории


PureBasic
1
2
3
4
5
6
chk_dir = FileSize("C:\1\1.exe")
If chk_dir > -1
Global    name1.s = "значение 1" 
Else 
          name1 = "значение 2"
  EndIf

PathFileExists_ также работает если запущено от системы, может есть какойто секрет?

как проверил? запустил 1 фаил просто от юзера 2 как сервис, 1 показывает значение второй нет
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.08.2018, 07:08
Ответы с готовыми решениями:

Запрос вставки строки в таблицу с условием наличия файла в директории
Написал запрос, который вставляет в таблицу БД запись об изображении из результатов парсинга: INSERT INTO kajio_djcf_images...

Определение наличия файла
Подскажите, как можно определить при помощи JS, есть или нет файл с определённым названием в заранее заданной папке?

Определение наличия файла в проекте
Доброго времени суток. Компилятор Rad Studio XE 2 Исключаю файл из сборки проекта с помощью Exclude From Build, соответственно...

8
0 / 0 / 0
Регистрация: 11.12.2017
Сообщений: 96
26.08.2018, 11:50  [ТС]
PathFileExists_ также НЕ работает если от системы запускать.

PureBasic
1
2
3
4
5
6
7
8
9
Macro FunctionInit(err = 0, ext = 0)
      __error = err
      __extended = ext
    EndMacro
    
Procedure.l FileExists(path.s)
      FunctionInit()
      ProcedureReturn PathFileExists_(path)
    EndProcedure
это также от системы успешно Не работает

Добавлено через 6 минут
Парни помогайте плиз, дело встало. Приложение будет работать как сервис, нужно как то определять наличие файла в папке. но неработает
0
Эксперт по электронике
6789 / 3216 / 335
Регистрация: 28.10.2011
Сообщений: 12,551
Записей в блоге: 7
26.08.2018, 15:03
Можно попробовать открыть файл функцией ReadFile с флагами #PB_File_SharedRead и #PB_File_SharedWrite.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
26.08.2018, 20:32
Похоже штатный способ для решения задачи в Win API - есть ли файл на диске, тот что часто встречается в MSDN
PureBasic
1
2
3
file$ = "C:\Program Files"
attrib = GetFileAttributes_(@file$)  ; возвращает  -1 если файл не найден (0xFFFFFFFF)
Debug attrib
Я ещё чуть ли не с десяток способов знаю, но смысл пальцем в небо тыкать?
Неизвестен код, как вы его запускаете, может там главная трабла?
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
31.08.2018, 15:32
Цитата Сообщение от error_systems Посмотреть сообщение
Этим кодом определяю существование файла в директории
Размером файла определять не надо. Потому что существовать файл может, но иметь нулевой размер.

Цитата Сообщение от error_systems Посмотреть сообщение
но стоит его запустить как сервис отучетки система, ничего не работает
Как вы это делаете?
По идее стандартные функции ЯП должны отрабатывать(они построены на WinAPI). Накрайняк можно
попробовать функции WinAPI по части открытия файла на чтение, если дескриптор не
возвращает - значит файла нет.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
31.08.2018, 16:36
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Потому что существовать файл может, но иметь нулевой размер.
Если файла нет, то FileSize возвращает -1, если это папка, то -2. 0 как раз признак существования файла, так что всё нормально.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
31.08.2018, 20:17
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Если файла нет, то FileSize возвращает -
А даже так. Ну тогда странно, что не пашет, раз внутри всё реализовано.
Что там под службы другие WinAPI что-ли идут?
0
Эксперт по электронике
6789 / 3216 / 335
Регистрация: 28.10.2011
Сообщений: 12,551
Записей в блоге: 7
31.08.2018, 22:09
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Что там под службы другие WinAPI что-ли идут?
Там есть ограничения. Например API связанные с GUI не работают.
1
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
20.10.2018, 22:03
Цитата Сообщение от locm Посмотреть сообщение
Например API связанные с GUI не работают.
Работают, но окна отображаются в другой рабочей станции.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.10.2018, 22:03
Помогаю со студенческими работами здесь

Определение наличия файла в папке
Доброе утро, уважаемые форумчане. Возникла такая проблема: Необходимо периодически из excel-файла вытаскивать данные в базу для...

Определение наличия заданного файла (С FPC на PacalABC.net)
Работает на FPC, но ABC.Net не знает что такое "IOResult", в fpc его включаешь в настройках, тут такого нету. Можно ли как то заменить...

Парсинг XML-файла, определение наличия атрибута/элемента в файле
Всем привет. Столкнулся с такой проблемой. Никак не могу написать условие на наличие элемента. Может быть, кто-нибудь с таким вопросом...

Проверка наличия файлов в директории
Всем привет. Возникли сложности, помогите, пожалуйста) Необходимо добавить код в приложение, который при запуске проверял бы наличие...

Выполнить заданные команды в зависимости от результата проверки наличия папок или файлов в заданной директории
Здравствуйте! Задача 1. Необходимо проверить наличие папок либо файлов в директории D:\temp. Если папка или файл есть запустить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru