• Почему Javascript включен в тор браузере?

    logpol32
    @logpol32 Автор вопроса
    Разумеется в тор браузере. Я исправил в вопросе. Думал, что это и так понятно.
  • Чем лучше заменить TrueCrypt (бесплатные аналоги)?

    logpol32
    @logpol32 Автор вопроса
    Я понимаю.
    PS
    Память возвращают отдельные люди.
    И благодарность за возврат памяти тоже может не знать границ. )
  • Чем лучше заменить TrueCrypt (бесплатные аналоги)?

    logpol32
    @logpol32 Автор вопроса
    Спасибо за ответ. Знаю про это ПО. Но есть некоторые опасения. Возможно, напрасные.
    Опасения в плане того, что это форкTrueCrypt. А у TrueCrypt непростая история, в плане скомпроментирован/разработка приостановлена.

    И даже несмотря на открытый исходный код - а кто его весь смотрел? Это касается всех программ с открытым исходным кодом.

    Ещё раз - возможно опасения напрасные. Надо смотреть и пробовать.
  • Допустимо ли инициализировать функцию внутри другой?

    BoShurik, не принципиально, каждый делает как хочет.
    Не буду писать недостатки множественного ruturn. Основное - нет контроля потока данных.
    Что также порождает неправильный подход к безопасности.
    Ну это ИМХО сложившееся из какого - никакого опыта.
    (Может когда нибудь даже напишу статью на эту тему...хотя кому это надо.)
  • С чем связано периодическое увеличение скорости кулера?

    logpol32
    @logpol32 Автор вопроса
    У меня в биос вроде нет зависимости оборотов от температуры. Ну я не замечал.
    Там 3 режима и ручная настройка. Возможно, нужно незначительно увеличить кол-во оборотов кулера. Была такая идея.
  • С чем связано периодическое увеличение скорости кулера?

    logpol32
    @logpol32 Автор вопроса
    Смотрел. Тихий.
    Можно регулировать самому кол-во оборотов или выбрать из 3х режимов.
    Ничего особенного не увидел.
  • С чем связано периодическое увеличение скорости кулера?

    logpol32
    @logpol32 Автор вопроса
    Мониторил диспетчер задач. Нет нагрузки.
  • Допустимо ли инициализировать функцию внутри другой?

    BoShurik, в предоставленном коде выше (куча условий), проблема не в return, а в огромной вложенности.

    Во втором же коде (с несколькими return) мы не можем как либо управлять возвращаемым значением. Пока пример прост и возвращается константа - выглядит вроде неплохо. Но как только это будет что то посложнее, начнется дублирование кода и прочие нехорошие вещи.

    Простой пример
    public int SomeFunction(bool cond1, string name, int value, AuthInfo perms)
    {
    $data='SUCCESS';
    
    if (!someCondition) $data=BAD_COND;
    if (name == null || name == "") $data=BAD_NAME;
    if (value == 0) $data=BAD_VALUE;
    if (!perms.allow(name)) $data=PERM_DENY;
    
    //Ну например надо что то представить в виде json
    if (cond1==true)  $data=json_encode( $data);
    
    return $data;
    }

    Ну как читаемость? А всё почти тоже самое. Но в конце, вон как можно.
    С множественным же return у вас пойдет множественное json_encode.
    И это только верхушка айсберга.

    Один вход - один выход. Управляем "потоком" информации.
    Кстати, "вход" в функцию тоже может быть не один. Образно. Вот такой php.

    public int SomeFunction(bool cond1=true, string name='', int value=0)

    Аргументы по умолчанию. Удобно? Конечно.
    SomeFunction(true); //а остальное будет по умолчанию

    И тут мы, пускай не так явно, но увеличиваем неопределенность. Мы указали только 1 параметр.
    Остальные не определили. Своего рода потеря управления. И, увеличение количества возможных состояний объекта. Звучит странно. Но для небольших функций - вполне приемлимо.
    Для больших, взаимосвязанных функций, больших и многомодульных проектов - уже как то не очень.

    Ни пишу ничего нового. PHP предоставляет много возможностей, вариантов написания кода, опций.
    Тем самым повышает кол-во возможных ошибок.
  • Допустимо ли инициализировать функцию внутри другой?

    function site(){
      //...
      function news_all(){
        echo 'Все новости';
      }
      news_all();
      //...
    }

    А вот и вы подошли к ООП классу и методам. Ну ведь похоже )

    Не вижу ничего плохого в использовании функции в функции. В описании или вызове.
    Например, у меня есть функция - показать сообщение.
    И две другие функции, которые внутри вызывают эту функцию. Одна - показать сообщение об успехе, вторая об ошибке.
    Итого - чтобы не вызывать функцию - показать сообщение, не передавать туда кучу параметров - какое сообщение, в каком виде и т.д. - просто вызываю другую функцию (типовую, производную от первой).

    Далее - стандартная ошибка
    require_once __DIR__. '/theme/footer.php';
    Пишем в пути __DIR__. Магия же!

    Теперь про область видимости.
    В связке функций, в функция в функции сложно понять что и где видно. А если ещё и global то будет такая неразбериха.

    Поэтому делаем просто. Функция принимает параметры. Вот они и видны как снаружи (образно - при её вызове - мы передаем их в неё из вне), ну и внутри разумеется.
    Этакая единая "точка входа". Удобно, логично.

    Ну сказал вход - есть и выход. Т.е. return.
    Ниже Имхо

    Рекомендую делать так
    function ololo($text)
    {
    if ($text=='azaza') $data='ololo!';
    if ($text=='lol') $data='you troll me?';
    return $data;
    }

    То есть одна точка входа - одна точка выхода.

    А вот так не рекомендую
    function ololo($text)
    {
    if ($text=='azaza') return 'ololo!';
    if ($text=='lol') return 'troll me?';
    }

    Более 1 точки выхода. Более того трудно осуществить контроль/фильтрацию выходных данных.
    А если функция (проект) большие, то будут проблемы.
  • Как организовать отбор данных по условию?

    logpol32
    @logpol32 Автор вопроса
    Вы пытаетесь изобрести интерпретатор. Не хочу сказать, что это плохо :)
    Просто, если вы осознаете это, то посмотрите на проблему под другм углом.

    Осознавать - осознаю. Но вот такая задача.
    По мне так крайне трудно реализуема.
  • Как организовать отбор данных по условию?

    logpol32
    @logpol32 Автор вопроса
    Верно. Бд. И верно SQLLite наиболее часто используется как БД для подобных приложений.
    Теперь шок контент.
    Массив создается из excel файла. То есть это такой Excel файл. Огромный. Ноу хау ростелекома.
    Там ещё много ноу хау.
    Перегнать их excel в SQLLite и не знать забот? Тоже нет.
    Их excel файл (другой файл, бд "акцес" файл, устаревший файл другой бд) надо обработать и представить в виде нового/другого excel. Так требуют.
    Ну а сейчас можно и в SQLLite. И хоть плач, хоть смейся.
    Поэтому лучше просто всё в массив в память. Тут так лучше.

    И вот встала такая задача. Условия из кода вынести во вне т.к. условия часто изменяются.
    И как это сделать, чтобы ещё пользователь (не программист) понял - неизвестно.
  • Как организовать отбор данных по условию?

    logpol32
    @logpol32 Автор вопроса
    Из 100 элементов или столбцов?

    Конечно столбцов. Опечатка.
  • Можно ли постом отправить данные, не используя скрытый инпут?

    M25, тут разговор идет не о подделать. Тут разговор идет о передать.
    Вы ни как не можете гарантировать валидность данных на клиенте. Клиент не ваш.
    Ни ваш это компьютер. Точка.
    Как вы и сказали - подделать можно чем угодно. Подставить или отправить из любого ПО, сниффера и т.д.

    Поэтому валидность данных проверяется на сервере.
    Поэтому никак на клиенте эту задачу вам не решить.

    Знаете - Ростелеком в РМИС (система такая) пробовал сделать что то подобное. Хотели чтобы работали только через веб. А понадобилось выполнять действия автоматически из программы. Я обошел их "защиту" за пару часов. Ни хакер ни разу.
    И это не моя заслуга - такой вот Ростелеком.
  • Авторизация на сайте: как вставить сообщение, что пользователь уже зарегистрирован?

    Не надо вам сообщение (голосом магистра Йоды).
    При нажатии на регистрацию должна быть или форма регистрации или главная страница сайта, где пользователь уже авторизирован.
  • Как понять что ячейка пустая (xlsreadwriteii 5)?

    logpol32
    @logpol32 Автор вопроса
    kalapanga, спасибо, помогло.

    Написал функцию отчистки
    function clear_string_from_special_symbols(text:string):string;
    begin
    //Удаляем все точки и пробелы из фио
    text:=StringReplace(text, #10, '', [rfReplaceAll]);
    text:=StringReplace(text, #13, '', [rfReplaceAll]);
    Result:=text;
    end;

    А какие ещё коды можно заложить?
  • Как понять что ячейка пустая (xlsreadwriteii 5)?

    logpol32
    @logpol32 Автор вопроса
    Даже если так, то смысл? Компонент не простой, искать долго.
    Да и править не имеет смысла.
  • Как понять что ячейка пустая (xlsreadwriteii 5)?

    logpol32
    @logpol32 Автор вопроса
    Поставил точку
    Watch List
    Watch name NUMBER
    Value ''
    То есть что там? Пусто или символы ''?
  • Как правильно работать с потоками?

    logpol32
    @logpol32 Автор вопроса
    Константин - если честно, особо ничего не понял.
    Разобраться конечно можно - но скорее всего использование вашего решения сильно усложнит реальную программу (около 2 тыс строк кода).
    У меня всё просто - 1 форма, 1 поток. И отладка тоже должна быть простая.

    Код писал "по учебнику".
  • Как исправить ошибку listerror list index out of bounds?

    logpol32
    @logpol32 Автор вопроса
    Константин Цветков, Поток т.к. там много кода. Который долго выполняется. Пример упрощен.