-
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. Indy. Проблема с русскими символами и решение
Проблема При отправке запросов, при помощи компонента idHTTP возникает проблема, если в строке GET запроса или параметрах POST запроса есть русские символы. Понятное дело, это связано с кодировкой! Выглядит это так (в HTTPAnalyzer) Естественно, сервера не в курсах, что за … Continue reading
Posted in Delphi, Delphi и сети, Indy
Comments Off on Delphi. Indy. Проблема с русскими символами и решение
Delphi. Как разделить файл на “чанки” (chunks), передать его на сервер и собрать обратно
В данном посте посмотрим, как разделить файл на части (так называемые chunks), передать его на сервер и собрать там обратно. Я использую Indy. idHTTPServer idHTTP Для начала опишу общую идею. Тайминг работы программы, отображенный в логе примерно следующий Если файл меньше … Continue reading
Delphi. Как заставить idHTTPServer отображать страницы или отдавать на загрузку файлы?
У меня получился такой вариант Вот главный кусок, который отвечает за отображение веб-страниц, либо отдачу файла
|
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 |
procedure TfHTTPServer.IdHTTPServerCommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo); var filepath: string; IsWebPage: Boolean; WebPageContent: string; begin //...some code //Preparing file for download if it is on the Server begin if FHTTPServerCommandGet.IsFileOnServer(ARequestInfo.URI,filepath,IsWebPage,WebPageContent) then begin AResponseInfo.ResponseNo := 200; if IsWebPage then AResponseInfo.ContentText:=WebPageContent else AResponseInfo.ServeFile(AContext, filepath); end else AresponseInfo.ResponseNo := 404; end; end; |
В отдельном модуле метод проверки наличия файла на сервере
Delphi. idHTTPServer. Обработка ошибок сервера и получение их на клиенте
Для меня не очевидным был этот вопрос. Хотелось получить информацию об ошибке сервера на клиенте. То есть, примерно так… Ведь idHTTPServer многопоточный, и значит, возбуждение исключения при ошибке можно было сделать так Как обработать исключение из потока? Но idHTTP и … Continue reading
Delphi. idHTTP. Post Отправляем русский текст и избавляемся от символов =’#$D#$A’ на сервере
Столкнулся со следующими проблемами. Проблема 1. При отправке POST / GET запроса при помощи компонента idHTTP русские символы превращаются в вопросы ‘Русское слово’ превращается в ??????? Это можно увидеть при помощи анализатора HTTP трафика, либо непосредственно на сервере (у меня … Continue reading
Posted in Delphi
Comments Off on Delphi. idHTTP. Post Отправляем русский текст и избавляемся от символов =’#$D#$A’ на сервере
Delphi.Sytem.JSON. Сохранение в строку и чтение из строки
Простой пример консольного приложения.
Posted in Delphi
Comments Off on Delphi.Sytem.JSON. Сохранение в строку и чтение из строки
Delphi. Как добавить параметры к имени файла а потом прочитать их?
Данный код к имени файла, например Filename.exe добавляет Filename{param=value}.exe В дальнейшем это можно будет корректно прочитать регулярными выражениями, при условии, что такая пара одна в имени файла. Добавление параметра
|
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 68 |
// {Adding Params to FileName, so FileName.exe will be FileName{Param=Value}.exe } class function TCreateUniqueName.AddParamAndValueToName(FileName: string; Param:string; Value:string ): string; var Extension:string; SplittedString: TArray<String>; SomeStringToChange:string; i: Integer; FileNameTemp:string; begin //Checks if FileName='' then Exit; //1--------- First of all we need to extract extension if it is SplittedString:=FileName.Split(['.']); //we suppose that extensions are symbols after last '.', so... // if FileName has extension like 'SomeFileName.exe' if Length(SplittedString)>1 //2 and more, for example somename.ext [somename,ext] then begin Extension:=SplittedString[ High(SplittedString) ]; //ShowMessage(Extension); // for test //2----------Now lets change previous massive Element if it is SomeStringToChange:=SplittedString[ High(SplittedString)-1 ]; //Adding Param And Value SomeStringToChange:=SomeStringToChange+'{'+Param+'='+Value+'}'; SplittedString[ High(SplittedString)-1 ]:=SomeStringToChange; //3-------Now our name is Unique we can join it back for i := Low(SplittedString) to High(SplittedString)-1 do Result:=Result+SplittedString[i]+'.'; //At last adding Extension Result:=Result+Extension; end else // if FileName without Extension like 'SomeFileName' if Length(SplittedString)=1 then begin FileNameTemp:=FileName; FileNameTemp:=FileNameTemp+'{'+Param+'='+Value+'}'; Result:=FileNameTemp; end; //ShowMessage(Result); //for test end; |
Как прочитать параметры? Данный код будет искать значение параметра из … Continue reading
Posted in Delphi
Comments Off on Delphi. Как добавить параметры к имени файла а потом прочитать их?
Delphi. Как разделить файл на части (chunks)?
Довольно простая процедура, которая делит файл на части и складывает их рядом с EXE следующим образом Для чтения файла использую TFileStream из которого потом выдергиваю чанки в TMemoryStream методом CopyFrom. TFileStream – чтобы работать с большими файлами, на которых MemoryStream … Continue reading
Posted in Delphi
Comments Off on Delphi. Как разделить файл на части (chunks)?
Delphi. Как послать POST запрос по HTTPS?
Итак, как послать POST запрос по HTTPS? Зачем? Чтобы скрыть данные от анализатора HTTP трафика. Вот чем займемся сегодня. В предыдущем посте мы делали SSL сертификаты. За основу возьмем приложение, написанное в посте Как отправить POST запрос, принять и декодировать … Continue reading
Delphi. Как создать SSL сертификат самостоятельно?
Если проект находится во внутренней сети и требуется SSL протокол, то, насколько я понял вполне можно обойтись сертификатами, сделанными самостоятельно. Браузеры, конечно, такой сертификат отвергнут напрочь, это и понятно. Тут и безопасность и бизнес. Но часть задач можно решить используя … Continue reading