Работа со строками в Delphi

    Наименование Описание AdjustLineBreaks функция Устанавливает символы окнчания строки в стиле Windows (конец строки, перевод коретки) или в стиле Linux (только конец строки). AnsiCompareStr функция Сравнивает строки, базирующиеся на текущей локализации Windows, с учетом регистра. AnsiCompareText функция Сравнивает строки, базирующиеся на текущей локализации Windows, без учета регистра. AnsiContainsStr функция Показывает является ли одна строка подстрокой другой (с учетом регистра). AnsiContainsText функция Показывает является ли одна строка подстрокой другой (без учета регистра). AnsiDequotedStr функция Конвертирует обкавыченную строку в строку без кавычек. AnsiEndsStr функция Показывает является ли одна строка окончанием другой (с учетом регистра). AnsiEndsText функция Показывает является ли одна строка окончанием другой (без учета регистра). AnsiExtractQuotedStr функция Конвертирует обкавыченную строку в строку без кавычек. Если в строке имеются несколько пар символов кавычек, то в результат копируются символы от начала строки до второго вхождения символа кавычек. AnsiIndexStr функция Находит индекс указанной строки (с учетом регистра) в массиве строк. Если строка не найдена, то возвращается -1. AnsiIndexText функция Находит индекс указанной строки (без учета регистра) в массиве строк. Если строка не найдена, то возвращается -1. AnsiLeftStr функция Возвращает подстроку заданной длины от начала строки. AnsiLowerCase функция Возвращает строку в нижнем регистре. AnsiMatchStr функция Показывает является ли какая либо строка из указнного массива строк частью заданной строки (с учетом регистра). AnsiMatchText функция Показывает является ли какая либо строка из указнного массива строк частью заданной строки (без учета регистра). AnsiMidStr функция Возвращает подстроку заданной длины от указанной позиции в строке. AnsiPos функция Определяет позицию первого вхождения подстроки от начала строки. AnsiQuotedStr функция Возвращает обкавыченную […]

Read more

Получение исходного кода в компоненте Chromium (Delphi)

Раньше для того, чтоб получить исходный код в компоненте Chromium хватало выполнить подобный код:

Однако, с некоторых пор свойство Source перестало работать таким способом. Теперь, чтоб получить исходный код, необходимо выполнить такой код:

Нужно признать, что код усложнился. Не для чего разработчики внесли такие изменения… Но, факт – на лицо.

Read more

Горячик клавиши mc и mcedit

Часто приходится работать в терминале на прямую. Открываешь огромный файл редактором mc и редактируешь, смотришь. Однако, когда файлы размеров в много сотен тысяч строк, без знания комбинаций клавиш очень тяжело работать. В мануалах и справках клавишу Ctrl обозначают как C, а M – это клавиша Alt. Если команда пишеться через “-” это означает что они нажимаются совместно. Если через пробел, то после нажатия первой (отпуская первую) нажимают следующую. В главном окне mc (midnight commander) C-O переключение на subshell и обратно M-c сменить текущий каталог (возникает необходимость когда в командной строке уже что-то набрано)   В mcedit: F3 начать выделение / закончить выделение F5 скопировать выделенный текст F6 переместить выделенный текст F8 удалить выделенный текст M-L перейти к строке с номером M-B перейти к парной скобке (полезная вещь для программеров, и не только) С-F скопировать выделенный блок в файл буфер C-U отменить последнее действие С-K удалить до конца строки от текущей позиции курсора С-Y удалить строку C-Z перейти к началу предыдущего слова C-X перейти к концу следующего слова

Read more

Резервное копирование баз данных Postgresql в Linux

У нас в ресурсе уже описано много способов реализации резервного копирования информации. Продолжим данную тему. Теперь, рассмотрим резервное копирование баз данных Postgresql в операционной системе Linux. Вот вариант резервного копирования для 3-х баз данных:

Сохранение бекапа на удаленном сервере по ssh В условиях отсутствия локального или сетевого тома для хранения резервных копий (несколько натянутое условие, но мне пришлось столкнуться), пришлось доработать скрипт; отличие от изначального скрипта – результат дампа не сохраняется локально, а передаётся на удалённый сервер по ssh и там же производится удаление устаревших файлов:

Предварительно надо создать авторизационный ключ для пользователя (в приведённом скрипте пользователь – backup) на сервере резервного хранения и разместить приватный ключ в каталоге, доступном на чтение только пользователю root (в приведённом скрипте ключ лежит в файле /root/nbs01/backup) и настроить sshd удалённого сервера на авторизацию по ключам – об этом весьма подробно написано, например, в этой статье. Да, трафик будет весьма серьёзным, несмотря на возможность сжатия ssh, но конкретно данное решение работает в виртуальной среде, где 3 гигабайта дампа передаются примерно за полторы минуты, что вполне приемлемо. Восстановление базы данных из дампа Тут всё просто – если владелец (имя “роли входа” или пользователь postgresql, указанный владельцем изначальной БД) уже существует, но нет самой базы данных, команда восстановления будет выглядеть примерно так: /usr/pgsql-9.2/bin/pg_restore -e -j 8 -U root -W -d upp /root/files/upp-2013-11-20.pgdump Восстановление будет выполнено в 8 потоков (для ускорения процедуры, в документации pgsql рекомендуется использовать потоков не меньше, чем доступно ядер CPU) от имени пользователя root с интерактивным вводом пароля. Файл /mnt/arc/1C8/upp-2013-11-20-09-45-51.pgdump – […]

Read more

Перегенерация значений полей left_key и right_key в Shop-Script

В Shop-Scropt ведутся промежуточные поля left_key, right_key. Они влияют на отображение дерева. Если данные поля заполнены не корректно, то ваше дерево может “развалиться” и вести не адекватно. Починить данную ситуцию Вы можете с помощью команд:

Или выполнив из URL:

Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Read more

Настройка SSH в GitLib

При вставке больших файлов в GitLib, используя http-доступ возникает ошибка 413 и как результат – файлы не передаются. В таком случае, лучше передавать информацию через ssh. Но, для этого, нужно несколько повозиться и настроить ssh-ключи. В данной статье описывается, как настроить ssh-доступ для GitLib. После создания нового проекта стоит обратить внимание на 2 вещи: на подсказку вверху о невозможности записывать изменения при отсутствии SSH ключей на подсказки на странице о необходимых действиях – при создании нового проекта и при создании локального репозитория в существующем проекте. Начнем с SSH ключей. Стоит различать 2 разновидности SSH пар ключей – которые использует Git и которые используют клиенты типа Source Tree, Tortoise Git. Проблема первой разновидности в том, что без лишних телодвижений допускается использование только одной пары ключей, в то время как каждый репозиторий требует уникальный ключ, вторых же можно наплодить неограниченное количество (на самом деле можно использовать более 1 пары ключей первого типа, но предлагаемые решения работают либо частично, либо не работают вообще). Для начала, сделаем ключи для Git, для этого запустим Git Bash. Git подразумевает что в Windows среде ключи лежат по адресу ~ / .ssh / id_rsa, где ~ – путь к домашней директории пользователя (например c: \ Users \ USERNAME), в папке которого есть каталог .ssh, в котором лежит пара ключей – id_rsa.pub и id_rsa (соответственно публичная часть и приватная). Пришло время для генерирования ключей, возвращаемся к Git Bash и в консоль вводим следующее: ssh-keygen -t rsa -C “your_email@example.com”” Данная команда указывает Git Bash создать ключ с коментарием your_email@example.com (зачем […]

Read more

Git коротко

Создаем копию проекта:

Конфигурирование репозитария:

Добавление новых файлов в репозитарий:

Сохранение изменений в репозитарий:

Подключение к удаленному репозитарию:

  Добавление изменений в master:

Закачка на сервер:

Статус локального репозитатора:

 

Read more

Git для чайника. Команды которые помогут начать работу

Многим трудно начать работать с Git, ведь не все привыкли работать с командной строкой, но именно ее лучше всего использовать при работе с репозиторием Git. И сегодня я расскажу о самом простом, так сказать Git для чайника, чтобы помочь освоиться Вам с этой системой. Git представляет собой систему контроля версий, которая позволяет в нужный момент откатиться на старую версию, если вы “наломали дров“. С помощью Git Вы сможете размещать свой код на GitHub, BitBucket и Google Code. Вы всегда сможете скачать код своего проекта на компьютер, изменить его и залить обратно, чтобы он стал доступен Вашим коллегам. С чего начать? Нам понадобиться программа Git Bash, это шелл сделанный на основе Cygwin, поэтому возможно использование Unix-команд, вроде ls, cd, mkdir. Скачать его можно по следующей ссылке http://git-scm.com/. Настройка Git Перед началом работы нам необходимо немного настроить программу. Нам нужно установить имя пользователя и электронный адрес через командную строку:

Также нам нужно настроить параметры установок окончания строк, для Windows мы вводим две команды

На этом настройка заканчивается, можем начинать работу с проектом. Создание проекта Допустим у нас есть папка с проектом, которую мы хотим разместить на GitHub. 1. Создаем репозиторий на сайте. 2. Инициализируем папку для Git репозитория. Это нужно сделать только один раз для каждого проекта.

3. Связываем папку с удаленным репозиторием

4. Добавляем все новые и измененные файлы

5. Помечаем все новые и измененные файлы сообщением (commit)

– вместо message вписываем сообщение, например Initial Commit. или Bugfix. 6. Закачиваем код на удаленный репозиторий

[…]

Read more