Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001

Тут можно читать онлайн Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Советы по Delphi. Версия 1.4.3 от 1.1.2001
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 краткое содержание

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - описание и краткое содержание, автор Валентин Озеров, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

…начиная с 1001. Смотрите другие файлы…

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - читать онлайн бесплатно полную версию (весь текст целиком)

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - читать книгу онлайн бесплатно, автор Валентин Озеров
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

end.

Работа в коде с кнопками DBNavigator

Delphi 1

Я думаю вам поможет следующий пример (взят из электронной справки по DELPHI), показывающий код нажатой кнопки. Я видел пару вопросов о том, как изменять кнопки навигатора в зависимости от состояния редактируемой вами записи. Если вам необходимо подтверждение действий пользователя, то необходимо каким-то образом организовать дополнительный перехватчик. Как это сделать, я, честно говоря, еще не думал.

Прежде, чем вы сделаете любой постинг или изменение данных, убедитесь, что таблица находится в режиме редактирования. Посмотрите описание свойства state в электронной справке по DELPHI. Там подробно рассказано как работать с ним.

Следующий код определяет нажатую кнопку навигатора и выводит сообщение с ее именем.

procedureTForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);

varBtnName: string;

begin

caseButton of

nbFirst : BtnName := 'nbFirst';

nbPrior : BtnName := 'nbPrior';

nbNext : BtnName := 'nbNext';

nbLast : BtnName := 'nbLast';

nbInsert : BtnName := 'nbInsert';

nbDelete : BtnName := 'nbDelete';

nbEdit : BtnName := 'nbEdit';

nbPost : BtnName := 'nbPost';

nbCancel : BtnName := 'nbCancel';

nbRefresh: BtnName := 'nbRefresh';

end;

MessageDlg('Была нажата кнопка' + BtnName, mtInformation, [mbOK], 0);

end;

Edit

Денежное поле редактирования

Delphi 1

unitCurrEdit;

interface

usesSysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Menus, Forms, Dialogs, StdCtrls;

typeTCurrencyEdit = class(TCustomMemo)

private

DispFormat: string;

FieldValue: Extended;

procedureSetFormat(A: string);

procedureSetFieldValue(A: Extended);

procedureCMEnter( var Message: TCMEnter); messageCM_ENTER;

procedureCMExit( var Message: TCMExit); messageCM_EXIT;

procedureFormatText;

procedureUnFormatText;

protected

procedureKeyPress( varKey: Char); override;

procedureCreateParams( varParams: TCreateParams); override;

public

constructorCreate(AOwner: TComponent); override;

published

propertyAlignment defaulttaRightJustify;

propertyAutoSize defaultTrue;

propertyBorderStyle;

propertyColor;

propertyCtl3D;

propertyDisplayFormat: string readDispFormat writeSetFormat;

propertyDragCursor;

propertyDragMode;

propertyEnabled;

propertyFont;

propertyHideSelection;

propertyMaxLength;

propertyParentColor;

propertyParentCtl3D;

propertyParentFont;

propertyParentShowHint;

propertyPopupMenu;

propertyReadOnly;

propertyShowHint;

propertyTabOrder;

propertyValue: Extended readFieldValue writeSetFieldValue;

propertyVisible;

propertyOnChange;

propertyOnClick;

propertyOnDblClick;

propertyOnDragDrop;

propertyOnDragOver;

propertyOnEndDrag;

propertyOnEnter;

propertyOnExit;

propertyOnKeyDown;

propertyOnKeyPress;

propertyOnKeyUp;

propertyOnMouseDown;

propertyOnMouseMove;

propertyOnMouseUp;

end;

procedure Register;

implementation

procedure Register;

begin

RegisterComponents('Additional', [TCurrencyEdit]);

end;

constructorTCurrencyEdit.Create(AOwner: TComponent);

begin

inheritedCreate(AOwner);

AutoSize := True;

Alignment := taRightJustify;

Width := 121;

Height := 25;

DispFormat := '$,0.00;($,0.00)';

FieldValue := 0.0;

AutoSelect := False;

WantReturns := False;

WordWrap := False;

FormatText;

end;

procedureTCurrencyEdit.SetFormat(A: String);

begin

ifDispFormat <> A then begin

DispFormat:= A;

FormatText;

end;

end;

procedureTCurrencyEdit.SetFieldValue(A: Extended);

begin

ifFieldValue <> A then begin

FieldValue := A;

FormatText;

end;

end;

procedureTCurrencyEdit.UnFormatText;

var

TmpText : String;

Tmp : Byte;

IsNeg : Boolean;

begin

IsNeg := (Pos('-',Text) > 0) or(Pos('(',Text) > 0);

TmpText := '';

ForTmp := 1 toLength(Text) do

ifText[Tmp] in['0'..'9','.'] then

TmpText := TmpText + Text[Tmp];

try

FieldValue := StrToFloat(TmpText);

ifIsNeg thenFieldValue := -FieldValue;

except

MessageBeep(mb_IconAsterisk);

end;

end;

procedureTCurrencyEdit.FormatText;

begin

Text := FormatFloat(DispFormat,FieldValue);

end;

procedureTCurrencyEdit.CMEnter( var Message: TCMEnter);

begin

SelectAll;

inherited;

end;

procedureTCurrencyEdit.CMExit( var Message: TCMExit);

begin

UnformatText;

FormatText;

Inherited;

end;

procedureTCurrencyEdit.KeyPress( varKey: Char);

begin

if Not(Key in['0'..'9','.','-']) ThenKey := #0;

inheritedKeyPress(Key);

end;

procedureTCurrencyEdit.CreateParams( varParams: TCreateParams);

begin

inheritedCreateParams(Params);

caseAlignment of

taLeftJustify : Params.Style := Params.Style orES_LEFT and NotES_MULTILINE;

taRightJustify: Params.Style := Params.Style orES_RIGHT and NotES_MULTILINE;

taCenter : Params.Style := Params.Style orES_CENTER and NotES_MULTILINE;

end;

end;

end.

Отслеживаем позицию курсора в EditBox

Совет от читателя

The_Spriteсоветует:

В форму добавляются TEditBox и TLabel, при этом TLabel постоянно показывает позицию курсора в элементе редактирования.

Совместимость: Все версии Delphi

Пример:

procedureTForm1.Edit1Change(Sender: TObject);

begin

CurPos := Edit1.SelStart;

Label1.Caption := IntToStr(CurPos);

end;

procedureTForm1.Edit1KeyDown(Sender: TObject; varKey: Word; Shift: TShiftState);

begin

IfKey = VK_LEFT thendec(CurPos);

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Валентин Озеров читать все книги автора по порядку

Валентин Озеров - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Советы по Delphi. Версия 1.4.3 от 1.1.2001 отзывы


Отзывы читателей о книге Советы по Delphi. Версия 1.4.3 от 1.1.2001, автор: Валентин Озеров. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x