AntonioPermskiy

Forum Replies Created

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • in reply to: TsWebLabel XE8 #55949
    AntonioPermskiy
    Participant

    В итоге нашлось лечение в виде вызова метода sWebLabel.Loaded(); после изменения свойств шрифта(sWebLabel.Font).

    Всем спасибо.

    in reply to: TsWebLabel XE8 #55940
    AntonioPermskiy
    Participant

    Пробую на Delphi XE8 Version 22.0.19027.8951

    Попробую на Берлин махнуть.

    in reply to: sDateEdit #55247
    AntonioPermskiy
    Participant
    'Support' wrote:

    Спасибо за разъяснения.

    Завершу тему своим решением, может кому-нить пригодится. Для работы с sDateEdit-ом создал методы:

    Корректным интервалом считаю 31.12.1899-31.12.9999

    Code:
    function TForm.sDateEditCorrect(Sender: TObject): Boolean;
    var
    lsDateEdit: TsDateEdit;
    lDateTime: TDateTime;
    begin
    lsDateEdit := TsDateEdit(Sender);
    Result := TryStrToDate(lsDateEdit.Text, lDateTime, FFormatSettings);
    if Result then
    Result := (lDateTime > 0) and (lDateTime <= MaxDateTime);
    end;

    FFormatSettings.ShortDateFormat := 'dd.mm.yyyy';

    FFormatSettings.DateSeparator := '.';

    У каждого sDateEdit обрабатываю OnExit

    Code:
    procedure TForm.sDateEditExit(Sender: TObject);
    var
    lText: String;
    begin
    if sDateEditCorrect(Sender) then
    Exit;
    sDateEditValidateError(Sender, lText);
    end;

    У каждого sDateEdit обрабатываю OnValidateError

    Code:
    procedure TForm.sDateEditValidateError(Sender: TObject; var Text: String);
    var
    lsDateEdit: TsDateEdit;
    begin
    ShowError(rsErrorDateIncorrect);

    lsDateEdit := TsDateEdit(Sender);
    if lsDateEdit.CanFocus then
    begin
    if lsDateEdit.Text = ' . . ' then
    lsDateEdit.Date := Now;
    lsDateEdit.SetFocus();
    end
    else
    lsDateEdit.Date := Now;
    end;

    in reply to: sDateEdit #55223
    AntonioPermskiy
    Participant

    Добрый день.

    Извиняюсь за долгое молчание.

    Насчет фокуса. Фокус стоит в sDateEdit. В sDateEdit-е корректная дата. Пользователь вводит ерунду, уходит на другой контрол. Срабатывает событие sDateEditValidateError. Обрабатываю его, возвращая фокус в sDateEdit. А хочется восстанавливать предыдущую корректную дату.

    Также замечено, что у компонента нельзя поменять св-во CheckOnExit, во всяком случай в DesignTime. Не уверен, правда, что правильно понимаю цель этого св-ва.

    Событие sDateEdit1AcceptDate тоже почему то не вызывается.

    Еще, если в sDateEdit ввести “сакраментальную” дату 30.12.1899, то текст сбрасывается на ' . . '.

    Может быть можно как-то задать маску так, чтобы можно было вбивать только цифры? В том числе, исключая ввод пробела.

    Остается в силе вопрос про var-параметр Text.

    С уважением, Тоха.

    in reply to: taLeftJustify у sSpeedButton и sBitBtn #42097
    AntonioPermskiy
    Participant
    'egorea1999' wrote:

    все работает:

    нужно ещё указать свойство text alignment

    [attachment=7690:2016-05-03_230125.png]

    Супергуд

    Спасибо большое

Viewing 5 posts - 1 through 5 (of 5 total)