Category Archives: Delphi

Delphi. Indy. FTP. Как правильно удалить директорию с FTP сервера?

Столкнулся с тем, что если удалять директорию с помощью стандартной функции RemoveDir библиотеки Indy, то непустые директории не удаляются. Немного поискав, наткнулся на почти готовое решение на форуме. Суть в том, что удалять директории нужно рекурсивно, и начиная с конца списка. … Continue reading →

Posted in Delphi | Comments Off on Delphi. Indy. FTP. Как правильно удалить директорию с FTP сервера?

Delphi. TListView. Как добавить элементы в виртуальном режиме (OwnerData:=true)?

Виртуальный режим нужен для отображения большого числа данных. В принципе, на мой взгляд, чтобы перестраховаться, можно использовать его в большинстве случаев. Далее пример того как добавить данные в TListView в виртуальном режиме. На примере загрузки файлов сервера. Получится примерно так… … Continue reading →

Posted in Delphi | Comments Off on Delphi. TListView. Как добавить элементы в виртуальном режиме (OwnerData:=true)?

Delphi. FTP. Indy. Как добавить верификацию загрузки файла на серверe?

Как узнать – полностью ли загрузился файл на FTP сервер? Идентичны ли файлы на клиенте и сервер? Можно написать свой алгоритм, проверяющий по тем или иным параметрам идентичность файлов, но в Indy уже всё готово и можно этим только пользоваться. … Continue reading →

Posted in Delphi | Comments Off on Delphi. FTP. Indy. Как добавить верификацию загрузки файла на серверe?

Delphi. Алгоритмы. Как заменить имя файла на уникальное ?

Скажем, у нас есть имя файла в формате Filename.jpg в переменной FileName. Далее код на уровне идеи… Вариант 1 через GUID

Вот пример такого изменения. Сохраняем часть старого имени для читабельности и добавляем GUID

Вариант 2 через Random … Continue reading →

Posted in Delphi, Алгоритмы | Comments Off on Delphi. Алгоритмы. Как заменить имя файла на уникальное ?

Delphi. Scrollbox. MousewheelUp and MousewheelDown. Делаем прокрутку разными способами

TScrollBox, Если мы говорим о классе TScrollBox, то наиболее простой и эффективный код – обработать MousewheelUp и MouseWheelDown у компонента ScrollBox, но этого недостаточно, нужно ещё присвоить SetFocus, компоненту ScrollBox, тогда это удовольствие будет работать. Вот простой пример обработки данных … Continue reading →

Posted in Delphi, WinAPI | Comments Off on Delphi. Scrollbox. MousewheelUp and MousewheelDown. Делаем прокрутку разными способами

Delphi. Threads. Как обработать исключение из потока?

На форуме нашёл интересный способ обработать исключение из потока.

Попробовал его в своей программе – и да, оно работает!

Posted in Delphi, Обработка исключений, Потоки(Threads) | Comments Off on Delphi. Threads. Как обработать исключение из потока?

Delphi.Indy. FTP. Активный и пассивный режимы. Мультипоточная загрузка на сервер. Правильная визуализация процесса

В прошлом посте про мультипоточную загрузку я столкнулся с некорректной индикацией процесса загрузки на сервер. Сама загрузка работала для нескольких файлов. А вот визуализация только для 1 файла. Поэтому, приходилось выкручиваться с таймерами. И я бы оставил этот вопрос, если … Continue reading →

Posted in Delphi, Indy | Comments Off on Delphi.Indy. FTP. Активный и пассивный режимы. Мультипоточная загрузка на сервер. Правильная визуализация процесса

Delphi. Indy. idFTP. Как проверить соединение с сервером и если что – узнать об ошибках?

Простой пример, основанный на книге “Глубины Инди”

Собственно сам код…

Здесь просто возбуждаются исключения. В принципе их можно где-то хранить и как-то обрабатывать. Отделены ошибки соединения от всех остальных ошибок. Но в данном, случае, конечно это перебор, так … Continue reading →

Posted in Delphi, Indy | Comments Off on Delphi. Indy. idFTP. Как проверить соединение с сервером и если что – узнать об ошибках?

Delphi. Indy. Обработка исключений

Согласно книге “Глубины Инди”, которая есть на просторах Интернетов, мы можем сделать следующее… При работе с клиентом

Вот более развернутая версия, в которой мы отделяем ошибки Indy от всех остальных ошибок, например VCL ошибок.

 

А вот … Continue reading →

Posted in Delphi, Indy | Comments Off on Delphi. Indy. Обработка исключений

Delphi. Определить размер файла

1 Вариант

2 Вариант Функция выдаст размер файла в виде строки и числа Результат в байтах будет в переменной FileSize Результат в формате string, например, “454 МБ” будет в переменной Result данной функции При возникновении ошибки отработает блок try … Continue reading →

Posted in Delphi | Comments Off on Delphi. Определить размер файла