На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Правила раздела
1. Не создавайте несколько одинаковых тем, ибо модератор может расценить их, как спам и удалить все.
2. Для решения задач по GPSS есть отдельная тема. Все задачи по GPSS опубликовывать в этой теме! Перед опубликовыванием вашей задачи просмотрите всю тему, возможно вы сразу найдете решение.
3. Давайте вашим темам ОСМЫСЛЕННЫЕ названия, а также указывайте язык программирования. Пример: [Pascal]:Работа с файлами и записями.
4. Использования тега CODE обязательно при публикации текста программы.

Темы, оформленные с явным игнорированием правил и отсутствием смысла, будут закрыты/удалены!
Вам помогли? Напишите об этом здесь (в портфолио фрилансера)

Фрилансерам:
5. Демпинг цен запрещен (даже если Вы готовы работать бесплатно). Цены обсуждаются в приватном общении. Если вы готовы рещить задачу бесплатно, просто решите ее быстрее, чем возникнет предложение сделать это за деньги.
6. Пользователям, входящим в группу Newbie, запрещается предлагать свои услуги (завуалированно в т.ч.)
7. В посте с предложением выполнить работу, обязательно указывать ссылку на свое портфолио в Отзывы, Благодарности, Портфолио Это правило работает и в том случае, если вы выполняете работу бесплатно.
8. Реклама (даже завуалированная) своих фриланских сайтов запрещена

Нарушение данных пунктов влечет до RO или БАНА (при неоднократом)
Модераторы: ttiger, mikefreelance, Rust
  
    > Лимит использования одного файла программой.Си.WINAPI, Лимит использования одного файла программой.Си.WINAPI
      Всем привет.
      Вот пушу программку для работы с файлами.
      Хочу сделать её лимитированной.Точнее лимитироваться должен конкретный файл.
      Например,открыл/прочитал файл 123.txt 1 раз,осталось ещё 4 возможности открыть этот файл.В то время,для других файлов "счётчик" не уменьшается.
      Имена файлов заведомо не известны.
      И,самое интересное,при следующем запуске программы,она должна помнить эти файлы,что бы лимит не обнулялся.
      И всё это не создавая лог-файла,т.е. данные об именах прочитанных файлов программа должна запоминать в себе,что бы исключить возможность повлиять на этот процесс из вне.
      Возможно ли это реализовать?
      Если да,то в какую сторону копать?
        Если файлов, скажем, миллионы, то придётся хранить 1e6*3бита = мегабайты доп. данных. Т.е. сама прога должна будет распухнуть на сей объём, а логов нельзя, так ведь!??
        Ну тогда тупо можно скопировать себя с каким-то текстовым ресурсом рядом, а в ресурс записать строку с именем и количество чтений.
        П.С. ну или как-то в свой ресурс записать эти банальные нужные данные.
          Цитата Славян @
          а логов нельзя, так ведь!??

          Да.
          Файлов не миллионы,около 5000.
            Цитата Sherman @
            Возможно ли это реализовать?
            Если да,то в какую сторону копать?

            Разное можно придумать, зависит от обстоятельств.
            1. Писать этот счётчик прямо в файл. Предусмотреть возможность для этого.
            2. Создать рядом с файлом файл-счётчик.
            С именем, производным от оригинального имени файла.
            3. Писать эту информацию в атрибуты времени файла - например, в год последней записи в файл.
            (использовать переменную даты или времени принудительно под свои нужды).
            Подпись была выключена в связи с наложенным заземлением.
              Цитата ЫукпШ @
              1. Писать этот счётчик прямо в файл. Предусмотреть возможность для этого.

              Как раз то,что нужно.
              Цитата ЫукпШ @
              3. Писать эту информацию в атрибуты времени файла - например, в год последней записи в файл.

              Файлы могут быть разными,имена и путь могут быть одинаковыми.
              1 вариант самый подходящий.
              1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script Execution time: 0,0723 ]   [ 14 queries used ]   [ Generated: 20.07.19, 22:25 GMT ]