Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Статьи » Автоматизоване робоче місце менеджера книгарні

Реферат Автоматизоване робоче місце менеджера книгарні





Якщо Ви хочете включати і вимикати опції, це можна зробити за допомогою логічних операцій. Наприклад, наступний код буде додавати dgTitles до поточного набору параметрів:


DBGrid1.Options:=DBGrid1.Options + [dgTitles];


Нехай є змінна ShowTitles типу Boolean, тоді наступний код дозволяють включати і вимикати параметр однією кнопкою:


procedure TForm1.Button3Click (Sender: TObject); ShowTitles then.Options:=DBGrid1.Options + [dgTitles] .Options:=DBGrid1.Options - [dgTitles];

ShowTitles:=not ShowTitles ;;


Якщо Ви хочете приховати поле в run-time, то можете встановити властивість visible в false:


Query1.FieldByName (CustNo) .Visible:=False;

Query1CustNo.Visible:=False;


Обидві рядки коду виконують ідентичну задачу. Щоб показати поле знову, встановіть видимий в true:


Query1.FieldByName (CustNo) .Visible:=True;

Query1CustNo.Visible:=True;


Якщо Ви хочете змінити положення колонки в Runtime, можете просто змінити індекс, (перше поле в записі має індекс нуль):


Query1.FieldByName (CustNo) .Index:=1; CustNo.Index:=2;


За замовченням, поле CustNo в таблиці Customer є першим. Код в першому рядку переміщує це поле в другу позицію, а наступний рядок переміщує його в третю позицію. Пам'ятайте, що нумерація полів починається з нуля, так привласнення властивості Index 1 робить поле другим у запису. Перше поле має Index 0.

Коли Ви змінюєте індекс поля, індекси інших полів у запису змінюються автоматично.

Якщо Ви хочете змінити ширину колонки в Runtime, тільки змініть властивість DisplayWidth відповідного TField.


Query1.FieldByName (CustNo) .DisplayWidth:=12; CustNo.DisplayWidth:=12;


Величина 12 відноситься до числа символів, які можуть бути показані в видимому елементі.


Програма DBGR_RT показує як працювати з DBGrid в Runtime. Програма досить проста, крім двох невеликих частин, які описані нижче. Перша частина показує, як створити check box в Runtime, а друга показує, як змінити порядок пунктів у listbox в Runtime.


При створенні форми (подія OnCreate) ListBox заповнюється іменами полів, далі створюється масив об'єктів CheckBox, відповідний полям у таблиці. Спершу все CheckBox и вибрані і всі поля в таблиці видимі. Програма дізнається через TTable1 імена полів і привласнює їх властивості Caption відповідного CheckBox. Крім того, оброблювачу події OnClick всіх CheckBox ів присвоюється процедура ChBClick, яка і включає/вимикає поля в DBGrid.


procedure TForm1.FormCreate (Sender: TObject); i: Word ;: Array [0..49] of TCheckBox;

{Fill ListBox} .Clear; i:=0 to Table1.FieldCount - 1 do.Items.Add (Table1.Fields [i] .FieldName);

{Make CheckBoxes} i:=0 to Table1.FieldCount - 1 do begin [I]:=TCheckBox.Create (Self); [I] .Parent:=ScrollBox1; [I] .Caption :=Table1.Fields [i] .FieldName; [I] .Left:=10; [I] .Top:=I * CheckBox1.Height + 5; [I] .Width:=200; [I] .Checked: =True; [I] .OnClick:=ChBClick ;;

end;


Велика частина коду в цьому прикладі виконує відносно прості завдання, типу призначення імен і положень check boxes. Ось дві ключових рядки:

[I]:=TCheckBox.Create (Self); [I] .Parent:=ScrollBox1;


Перша рядки створює CheckBox із заданим Owner (Власником). Друга рядки призначає Parent (Батька) для CheckBox. Щоб зрозуміти відмінності між Батьком і Власником, подивіться відповідні властивості в online-help.


Програма містить ListBox, який показує поточний порядок полів у DataSet. Для зміни порядку полів у DataSet (а, отже, в DBGrid) використовуються дві кнопки. При натисканні на одну з кнопок, вбрання в ListBox е поле переміщається на одну позицію вгору або вниз. Синхронно з цим змінюється і порядок полів у DBGrid. Код, показаний нижче, змінює Index поля для Table1, змінюючи, таким чином, позицію поля в DBGrid. Ці зміни стосуються тільки візуального представлення DataSet. Фізично дані на диску не змінюються.


procedure TForm1.downButtonClick (Sender: TObject); i: Integer; ListBox1 do (ItemIndex lt; Items.Count - 1) and (ItemIndex lt; gt; - 1) then begin:=ItemIndex;

{move ListBox item} .Move (i, i + 1);:=i + 1;

{move Field} .Fields [i] .Index:=i + 1;

end ;;

...


Назад | сторінка 24 з 26 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: До питання про теорію поля: функціонально-семантичне поле дейксиса
  • Реферат на тему: Дія на людину постійніх електричних полів та полів частотою 50 Гц
  • Реферат на тему: Електростатічне поле ТА ЙОГО Потенціал
  • Реферат на тему: Поле Кульмську битви і його меморіалізації
  • Реферат на тему: Магнітне поле