Morfi

Пользователи
  • Публикации

    27
  • Зарегистрирован

  • Посещение

О Morfi

  • Звание
    Пользователь
  • День рождения 01.04.1992

Информация

  • Пол
    Мужчина
  • Город
    Беларусь

Контакты

  • Skype
    Morfi_VSL
  1. Ребята, как правильно настроить или реализовать поиск в TCombobox (данные которого связаны через livebinding c БД) при помощи TSearchBox?
  2. Здравствуйте! Пытаюсь реализовать алгоритм PBKDF2-SHA1. Для вычисления HMAC-SHA1 использую класс TidHMACSHA1. Код PBKDF2-SHA1 нашел на просторах интернета и немного подкорректировал для использования с INDY (TidHMACSHA1): function PBKDF2Sha1(pass, salt: string; count, kLen: Integer): string; function IntX(i: Integer): string; inline; begin Result := Char(i shr 24) + Char(i shr 16) + Char(i shr 8) + Char(i); end; var D, I, J: Integer; T, F, U, wPass: TIdBytes; begin wPass := ToBytes(pass); D := Ceil(kLen / (160 div 8)); for i := 1 to D do begin F := EncryptHMACSha1(ToBytes(salt + IntX(i)), wPass); U := F; for j := 2 to count do begin U := EncryptHMACSha1(U, wPass); //<-- Проблема F := XorBlock(F, U); end; T := T + F; end; Result := ToHex(Copy(T, 1, kLen)); end; Для вычисления HMAC-SHA1 используется функция EncryptHMACSha1: function EncryptHMACSha1(Input, AKey: TIdBytes): TIdBytes; var HMachSha1: TIdHMACSHA1; begin HMachSha1 := TIdHMACSHA1.Create; try HMachSha1.Key := AKey; Result := HMachSha1.HashValue(Input); finally HMachSha1.Free; end; end; Возникает проблема, когда эта функция используется 6-й раз в функции PBKDF2Sha1: for i := 1 to D do // D := 2 begin F := EncryptHMACSha1(ToBytes(salt + IntX(i)), wPass); // Использование функции (разы): 1-й, 4-й U := F; for j := 2 to count do // count := 3 begin U := EncryptHMACSha1(U, wPass); // <--Проблема! Использование функции (разы): 2-й, 3-й, 5-й, !6-й! F := XorBlock(F, U); end; T := T + F; end; Возникает исключение в глубинах INDY-кода: а точнее в функции TIdHashSHA1.NativeGetHashBytes (файл: idHashSHA,pas) на строке с кодом: SetLength(Result, SizeOf(UInt32)*5); // в файле строка под номером 460 Помогите решить данную проблему. Версии: Delphi: 10.1 INDY: 10.6.2.5341
  3. Подскажите как реализовать в TStringGrid заголовок с вертикальным текстом? Например:
  4. Среда XE8 стоит на Win 8,1. Приложение запускается. Переношу приложение на клиентскую машину с Win 7. Запускаю - вылетает такая ошибка: А после, это: Привожу код, который выполняется при начале отображения формы: procedure TForm1.FormShow(Sender: TObject); var StrTemp: TStrings; begin try StrTemp := TStringList.Create; DM1.FDConnection1.Params.Database := ExtractFileDir(ParamStr(0))+'\data\flatcom.db'; DM1.FDConnection1.Connected := True; DM1.FDTable1.Active := true; DM1.GetAdmins(StrTemp); self.edtAdmin.Items := StrTemp; edtAdmin.Items.Count; StrTemp.Clear; DM1.GetNationals(StrTemp); self.edtNationality.Items := StrTemp; StrTemp.Clear; DM1.GetRoomsType(StrTemp); self.edtRoomType.Items := StrTemp; StrTemp.Clear; DM1.GetCalcs(StrTemp); self.edtCalc.Items := StrTemp; StrTemp.Free; self.dtdtContract.Date := Date; Self.edtNumContract.SetFocus; Self.edtNumContract.SelectAll; except ShowMessage('Файл базы данных не найден. Обратитесь к разработчику.'); Self.Close; end; end; Ошибка, явно в этом месте: DM1.FDConnection1.Params.Database := ExtractFileDir(ParamStr(0))+'\data\flatcom.db'; DM1.FDConnection1.Connected := True; Если можете, скажите, в чем может быть проблема?
  5. Здравствуйте! Всем известен в VCL такой компонент, как TTrayIcon. Есть ли аналог в FMX?
  6. Всем доброго времени суток. Возможно ли описать и создать визуальные компоненты в dll, а отобразить их на форме (или, например на TLayout этой формы) приложения, использующего эту dll? Среда: Delphi XE7.
  7. Ярослав, а можно по подробнее об фреймах?
  8. Об этом варианте, я как-то не подумал. Благодарю за оперативный ответ.
  9. Всем доброго времени суток. На форме есть TGrid: Данные к нему прикручены через LiveBinding от TFDQuery: Как мне узнать значение ячейки первого столбца, активной строки? Пробовал реализовать через событие Grid1SelectCell: procedure TForm5.Grid1SelectCell(Sender: TObject; const ACol, ARow: Integer; var CanSelect: Boolean); var CellStr: string; //Значение ячейки первого столбца. begin CellStr := TTextCell(Grid1.Columns[0].Controls.Items[ARow]).Text; end; Вот этот код: TTextCell(Grid1.Columns[0].Controls.Items[ARow]).Text; я вычитал здесь: http://fire-monkey.ru/topic/120-tgrid-kak-ustanovit-tekst-v-iacheike-tcheckcolumn-delphi-xe-4/ Однако, при его выполнение срабатывает исключение: "argument out of range". Подскажите, как мне решить эту задачу? Версия среды: XE7 FMX.
  10. TLabel

    А можете разъяснить?
  11. Доброго времени суток. Создаю программно компоненты TLabel. Status1 := TLabel.Create(Form1); Status1.Name := 'LabelStatus1_'+idMachine.ToString; Status1.Parent := RectangleStatus; Status1.Align := TAlignLayout(9); Status1.TextSettings.HorzAlign := TTextAlign(0); //По умолчанию, при создании объекта TLabel, размер шрифта устанавливается в значение 12 Status1.TextSettings.Font.Size := 24; Status1.TextSettings.WordWrap := true; Status1.Text := 'Статус 1'; Status1.Visible := true; Изменяю значение размера шрифта: Status1.TextSettings.Font.Size := 24 Значение изменяется, но размер шрифта TLabel при отображении на форме остается прежним. Как можно, или нужно изменять размер шрифта компонента в RunTime?
  12. Здравствуйте. Как в TStringGrid удалить определенную строку? А так же как полностью удалить все строки?
  13. Что это значит? Free только 30 дней? Или действительно - free?
  14. Как узнать текущие положения вертикального и горизонтального скролов в TScrollBox?