Вообще время должно отображаться в том формате, который показывает TimeEdit по умолчанию. Т.к. это системный формат, и он удобен тому пользователю, которые его установил.
24 часовой формат:
TimeEdit1.Format := 'HH:mm';
Чтобы принудительно на am pm перевести:
TimeEdit1.Format := 'hh:mm ampm' - главное чтобы была строчка ampm или am\pm или .
А если нужно будет указать длительность 24 или 25 часов?
Сделай обычный TLabel и рядом кнопки + - которые будут прибавлять убавлять единицу, или можно использовать TSpinBox
Похоже, никто не знает, что с этим делать. Пришлось мне опять прибегнуть к лобовому решению - попиксельно менять черный цвет на синий. Не очень элегантно, но надежно.
Отмечу, что в случаях, когда монохромный битмэп не задействован, ReplaceOpaqueColor работает исправно и очень выручает.
Попробуйте THashSHA1.GetHMACAsBytes из System.Hash.pas
Вообще мне больше нравятся System.Net компоненты вместо Indy.
Ну и вдогонку
function OAuthEncryptHMACSha1(const aValue, aKey: string): string;
begin
Result := TNetEncoding.Base64.EncodeBytesToString( THashSHA1.GetHMACAsBytes(aValue, aKey) );
end;