-
MY PROJECTS
-
Recent Posts
- SQL.How can you compare two nullable values safely, and how does IS DISTINCT FROM differ from <>?
- SQL.How are NULL values ordered by ORDER BY, how do defaults differ between databases, and how can you control their placement?
- SQL.How does NULL propagate through arithmetic expressions, and how can COALESCE and NULLIF help handle missing values and division by zero?
- SQL.How does NULL affect join conditions, and why can filtering the right-hand table in WHERE remove unmatched rows from a LEFT JOIN?
- SQL.How do GROUP BY and DISTINCT treat NULL values, even though NULL = NULL evaluates to UNKNOWN?
- SQL.How do aggregate functions handle NULL, and what is the difference between COUNT(*), COUNT(column), and COUNT(DISTINCT column)?
- SQL.How does NULL affect IN and NOT IN, and why can NOT EXISTS be a safer choice when a subquery returns nullable values?
- SQL.How do WHERE, HAVING, and CHECK constraints treat conditions that evaluate to UNKNOWN?
- SQL.Why do column = NULL and column <> NULL not work as expected, and when should you use IS NULL and IS NOT NULL?
- SQL.What is SQL’s three-valued logic (TRUE, FALSE, UNKNOWN), and how do AND, OR, and NOT behave with UNKNOWN?
- ChromeDevTools.Watch all failed requests
- SQL.What are domain types (or constraints on data types), and how do they help enforce data correctness?
- SQL.How does SQL handle comparisons between different data types (for example, string vs number), and why is this dangerous?
- SQL.What is the difference between DATE, TIME, TIMESTAMP, and TIMESTAMPTZ, and which one should be used for business events?
- SQL.How do numeric types like INTEGER, BIGINT, DECIMAL, and FLOAT differ in terms of precision and use cases?
- SQL.What problems can arise from implicit type casting in SQL, and how can it affect indexes?
- SQL.How does NULL differ from 0, an empty string, or FALSE in SQL?
- SQL.What is the difference between CHAR, VARCHAR, and TEXT, and when would you choose each?
- SQL.What is MVCC ?
- SQL.What is AutoVacuum Postgres ?
Categories
- Aptana
- Azure
- C#
- DataSnap
- DBExpress
- Delphi
- Delphi и сети
- Delphi. Язык программирования
- ExtJS
- FastReport
- FireDAC
- FireMonkey
- GIT
- ICS
- IDE
- IIS
- Indy
- InnoSetup
- javascript
- jQuery
- JSON
- LiveBindings
- MSHTML
- MySQL
- PHP
- REST
- Ribbons
- SMS
- SQL инструкции
- SVN
- TRichView
- UniGui
- WebBroker
- WinAPI
- Windows
- Алгоритмы
- Без рубрики
- Деревья
- Ищу ответ
- Компонентостроение
- Мои компоненты
- Начальный уровень
- Обработка исключений
- Парсинг
- Потоки(Threads)
- Регулярные выражения
- Тестирование приложений
Category Archives: Delphi и сети
Delphi. Как отправить POST запрос, принять и декодировать его на idHTTPServer?
В принципе, я уже делал такой пост Как отправить файл с помощью idHTTP и принять его на idHTTPServer ? Но в данном случае хочу акцентировать внимание именно на отправке и приеме параметров методом POST. Как это будет выглядеть?
Delphi. Как отправить файл с помощью idHTTP и принять его на idHTTPServer ?
Данный пример отправляет файлы и сообщения на сервер, а также принимает и раскодирует их. Работал с FTP протоколом, но столкнулся с рядом ограничений, которые как я понял можно преодолеть при помощи HTTP протокола и которые не позволяют мне решить поставленную … Continue reading
Delphi. Пример ограничения действия ссылки 72 часами
У нас есть свой веб-сервер, или мы пишем dll для IIS сервера, или это проект UniGUI, и мы хотим ограничить действие ссылки 72 часми. Таким образом можно ограничивать доступ к любому контенту, файлам, веб страницам и др. Вот что у … Continue reading
Posted in Delphi, Delphi и сети
Comments Off on Delphi. Пример ограничения действия ссылки 72 часами
Delphi. Как подменить url при помощи API NoblockME?
Рассмотрим пример подмены url при помощи стороннего сервиса. Плюс этого подхода состоит в простоте – мы просто отдаем исходный url и получаем зашифрованный. Огромный плюс этого подхода состоит в том, что нам не надо думать о работе сайтов, практически все … Continue reading
Posted in Delphi, Delphi и сети
Comments Off on Delphi. Как подменить url при помощи API NoblockME?
Delphi. idFTP. Рекурсивные обходы каталогов сервера
Как собрать все файлы из определенной директории и всех её поддиректорий? Вариант 1 Соберем имена файлов, кроме папок из определенной директории на FTP сервере при помощи компонента idFTP
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
//Recursive listing of files... procedure TVisualFrame_PSFTPClient.ListAllFilesCore(dir:string); var DL: TStringList; i: Integer; begin DL:=TStringList.Create; try IdFTP.ChangeDir(Dir); IdFTP.List(DL, '', false); // <<<Listed all files and folders here... for i:=0 to DL.Count-1 do begin if IdFTP.Size(dl.Strings[i])=-1 then // If Folder then... ListAllFilesCore(dl.Strings[i]) //Recursion here... else FFilesOnServerAll.Add(DL.Strings[i]); end; IdFTP.ChangeDirUp; IdFTP.List(DL, '', false); // << Critical important !!! finally FreeAndNil(DL); end; end; |
И вторая процедура, которая собственно подключается к серверу и собирает файлы…
Delphi. Indy. FTP. Как получить дату создания, изменения и последнего доступа на сервере от idFTP ?
Этот вопрос можно преобразовать в “как преобразовать 20160911195120 в 11.09.2016 19:51:20 и перевести в LocalTime?” Я также поднял этот вопрос на 2 форумах Русский форум Английский форум Также мне показалась интересной ссылка на TTimeZone – класса, который появился, начиная с Delphi … Continue reading
Delphi.Indy. FTP. Активный и пассивный режимы. Мультипоточная загрузка на сервер. Правильная визуализация процесса
В прошлом посте про мультипоточную загрузку я столкнулся с некорректной индикацией процесса загрузки на сервер. Сама загрузка работала для нескольких файлов. А вот визуализация только для 1 файла. Поэтому, приходилось выкручиваться с таймерами. И я бы оставил этот вопрос, если … Continue reading
Delphi. Indy. idFTP. Как проверить соединение с сервером и если что – узнать об ошибках?
Простой пример, основанный на книге “Глубины Инди”
|
1 2 3 |
... uses IdException ... |
Собственно сам код…
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
function IsFTPServerConnectionOk: Boolean; begin Result:=false; with idFTP do begin Host:=FTPParams.Host;// 'localhost'; //FTP-сервер Port:=FTPParams.Port;// 22; //порт ФТП сервера Username:=FTPParams.Username;// 'Логин'; Password:=FTPParams.Password;// 'Пароль'; end; try idFTP.Connect; try try if IdFTP.Connected then Result:=true; finally idFTP.Disconnect; end; except //Other exceptions on E: EIdException do begin showmessage(E.ClassName+' An network error occurred during communication: ' +#13#10+#13#10+E.Message); end; on E: Exception do begin showmessage(E.ClassName+' An unknown error occurred during communication: ' +#13#10+#13#10+E.Message); end; end; except // Catching Connection Exceptions on E: EIdException do begin showmessage(E.ClassName+' An network error occurred while trying to connect: ' +#13#10+#13#10+E.Message); end; on E: Exception do begin showmessage(E.ClassName+'An unknown error occurred while trying to connect: ' +#13#10+#13#10+E.Message); end; end; end; |
Здесь просто возбуждаются исключения. В принципе их можно где-то хранить и как-то обрабатывать. Отделены ошибки соединения от всех остальных ошибок. Но в данном, случае, конечно это перебор, так … Continue reading
Delphi. Indy. Обработка исключений
Согласно книге “Глубины Инди”, которая есть на просторах Интернетов, мы можем сделать следующее… При работе с клиентом
|
1 2 3 4 5 6 |
Client.Connect; try // Perform read/write here finally Client.Disconnect; end; |
Вот более развернутая версия, в которой мы отделяем ошибки Indy от всех остальных ошибок, например VCL ошибок.
|
1 2 3 |
... uses IdException ... |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
try Client.Connect; try // Perform read/write here finally Client.Disconnect; end; except on E: EIdException do begin ShowMessage( 'Communication Exception: ' + E.Message); end else begin ShowMessage( 'VCL Exception: ' + E.Message); end; end; |
А вот … Continue reading
Delphi. Indy. Как передать на FTP сервер несколько файлов в разных потоках?
Вот что у нас получится…