Валентин Озеров - Советы по 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 - читать книгу онлайн бесплатно, автор Валентин Озеров
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Result := True;

End;

End;

ProcedureSetColor(Instance: TComponent; Color: TColor);

VarPropInfo : PPropInfo;

Begin

PropInfo := TypInfo.GetPropInfo(Instance.ClassInfo, 'Color');

If(PropInfo <> Nil) And(PropInfo^.PropType^.Kind = tkInteger) ThenTypInfo.SetOrdProp (Instance, PropInfo, Ord(Color));

End;

begin

ForControl := 0 ToControlCount-1 Do

IfGetDataSource(Controls[Control]) AndGetDataField(Controls[Control]) And

(DataSource.DataSet <> Nil) And

DataSource.DataSet.FieldByName(DataField).Required Then

SetColor(Controls[Control], clRed);

end;

– Robert Wittig

Insert/Override с помощью DBEdit

Сама Windows не позволяет это сделать, но я нашел как это обойти с помощью одной хитрости, и, похоже, это классно работает (надеюсь вы получите даже больше, чем вы хотите :).

Сначала я добавляю к моей форме свойство (и соответствующие переменные и процедуры), наподобие этому:

private

FinsertMode: boolean;

procedureSetInsertMode(value: boolean);

public

propertyinsertMode: boolean readFinsertMode writeSetInsertMode;

В обработчике создания события формы я инициализирую его:

procedureTForm1.FormCreate(Sender: TObject);

begin

{инициализация}

insertMode := True;

end;

Также для этого свойства я создаю процедуру SetInsertMode, которая с помощью TPanel с именем Panel1 извещает пользователя о текущем режиме работы:

procedureTForm1.SetInsertMode(value: boolean);

begin

FinsertMode := value;

ifFinsertMode thenPanel1.Caption := 'ВСТАВКА'

elsePanel1.Caption := 'ПЕРЕЗАПИСЬ';

end;

Затем я добавляю три обработчика событий (OnKeyDown, OnKeyPress, OnEnter) для каждого моего DBEdit (можно при наличии нескольких компонентов создать один общий обработчик для всех):

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

begin

if(Key = VK_INSERT) theninsertMode := notinsertMode;

end;

procedureTForm1.DBEditKeyPress(Sender: TObject; varKey: Char);

begin

if( notinsertMode) and(Sender isTDBEdit) then(Sender asTDBEdit).SelLength := 1

else(Sender asTDBEdit).SelLength := 0;

end;

procedureTForm1.DBEditEnter(Sender: TObject);

begin

insertMode := True;

end;

Банзай! Похоже это работает, хотя я и не имел достаточного времени протестировать это. Естественно, вы можете изменить это по просьбе вашего заказчика (например, я всегда сбрасывал режим во вставку при перемещении к другому компоненту DBEedit). Все вышесказанное должно также работать без проблем и с компонентами Edit.

– Denis Sarrazin

Как очистить DBEdit

Delphi 1

Пробую так:

myDbEdit.Text := '';

или адрес TField, если вы хотите так:

TableNameMyField.Value := '';

Ответ:

Table1.Edit;

Table1.FieldByName(DBEdit1.FieldName).Clear;

DBGrid

Dbgrid и множественный выбор

Delphi 2

Тема: TDBGrid и множественный выбор записей (Multi-Selecting Records)

При включении флажка [dgMultiSelect] в свойстве-наборе Options компонента DBGrid, вы добавляете к табличной сетке возможность множественного выбора записей.

Выбранные вами записи представлены в виде закладок и храняться в свойстве SelectedRows.

Свойство SelectedRows является объектом, имеющим тип TBookmarkList. Его свойства и методы описаны ниже.

// property SelectedRows: TBookmarkList read FBookmarks;

// TBookmarkList = class

// public

{* Метод Clear освобождает все выбранные в DBGrid записи *}

// procedure Clear;

{* Метод Delete удаляет все выбранные строки из набора данных *}

// procedure Delete;

{* Метод Find определяет наличие закладки в выбранном списке. *}

// function Find(const Item: TBookmarkStr;

// var Index: Integer): Boolean;

{* Метод IndexOf возвращает индекс закладки, расположенной в свойстве Items. *}

// function IndexOf(const Item: TBookmarkStr): Integer;

{* Метод Refresh возвращает логическую величину, уведомляющую о том, что в то время, пока в табличной сетке была выбрана запись, были добавлены (удалены) какие-то данные. Метод Refresh может быть использован для обновления списка выбранных записей для уменьшения возможности получения удаленной записи. *}

// function Refresh: Boolean; True = orphans found

{* Свойство Count возвращает количество выбранных в настоящий момент элементов в DBGrid *}

// property Count: Integer read GetCount;

{* Свойство CurrentRowSelected содержит логическую величину, зависящую от того, выбрана текущая строка или нет. *}

// property CurrentRowSelected: Boolean

// read GetCurrentRowSelected

// write SetCurrentRowSelected;

{* Свойство Items – TStringList TBookmarkStr *}

// property Items[Index: Integer]: TBookmarkStr

// read GetItem; default;

// end;

unitUnit1;

interface

usesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, DB, DBTables;

typeTForm1 = class(TForm)

Table1: TTable;

DBGrid1: TDBGrid;

Count: TButton;

Selected: TButton;

Clear: TButton;

Delete: TButton;

Select: TButton;

GetBookMark: TButton;

Find: TButton;

FreeBookmark: TButton;

DataSource1: TDataSource;

procedureCountClick(Sender: TObject);

procedureSelectedClick(Sender: TObject);

procedureClearClick(Sender: TObject);

procedureDeleteClick(Sender: TObject);

procedureSelectClick(Sender: TObject);

procedureGetBookMarkClick(Sender: TObject);

procedureFindClick(Sender: TObject);

procedureFreeBookmarkClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Bookmark1: TBookmark;

z: Integer;

implementation

{$R *.DFM}

//Пример использования свойства Count

procedureTForm1.CountClick(Sender: TObject);

begin

ifDBgrid1.SelectedRows.Count > 0 then begin

showmessage(inttostr(DBgrid1.SelectedRows.Count));

end;

end;

//Пример использования свойства CurrentRowSelected

procedureTForm1.SelectedClick(Sender: TObject);

begin

ifDBgrid1.SelectedRows.CurrentRowSelected thenshowmessage('Выбрана');

end;

//Пример использования метода Clear

procedureTForm1.ClearClick(Sender: TObject);

begin

dbgrid1.SelectedRows.Clear;

end;

//Пример использования метода Delete

procedureTForm1.DeleteClick(Sender: TObject);

begin

DBgrid1.SelectedRows.Delete;

end;

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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