Головна

Procedure TTreeViewForm.AddButtonClick (Sender: TObject); var

  1.  DISTRIBUTIONAL GRAMMAR. SEGMENTATION PROCEDURES
  2.  Procedure TForm1.FormMouseDown (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var TempPanel: TPanel; // Оголошую змінну для панелі
  3.  Procedure TForm1.ShowHint (Sender: TObject); begin
  4.  Procedure TForm1.ShowHint (Sender: TObject); begin
  5.  Procedure TForm1.ToolButton6Click (Sender: TObject); var
  6.  Procedure TMainForm.StartBtnClick (Sender: TObject); begin Form2.ShowModal; // Показую другу форму
  7.  Procedure TTestEditorForm.SaveAsMenuClick (Sender: TObject); begin if SaveDialog1.Execute then

CopyFrom - Метод призначений для копіювання з іншого потоку. У нього два параметри - покажчик на потік, з якого треба копіювати і число показує розмір даних підлягають копіюванню.

Read - Прочитати дані з потоку, починаючи з поточної позиції курсора. У цього методу два параметра - буфер, в який відбуватиметься читання і число показує розмір даних для копіювання.

Seek - Переміститися в нову позицію в потоці. У цього методу два параметри:

1. Число, яке вказує на позицію, в яку треба перейти. Якщо тобі потрібно пересунутися на п'ять байт, то просто постав цифру 5.

2. Звідки треба рухатися. Тут можливі три варіанти:

. - soFromBeginning - Рухатися на зазначені кількість байт від початку файлу.

. - soFromCurrent -двігаться на зазначені кількість байт від поточної позиції у файлі до кінця файлу.

. - soFromEnd - Рухатися від кінця файлу до початку на вказану кількість байт.

SetSize - Встановити розмір потоку. Тут тільки один параметр - число, яке вказує новий розмір потоку. Припустимо, що тобі треба зменшити розмір файлу. У цьому випадку, за допомогою методу SetSize потоку TFileStream ти можеш зменшити або навіть збільшити розмір файлу.

Write - Записати дані в поточну позицію потоку. У цього методу два параметри:

1. 1. Змінна, вміст якої потрібно записати.

2. 2. Число байт для запису.

Це основні методи, які тобі можуть знадобитися при роботі з потоками. На практиці ми ще зустрінемося з подібними об'єктами, і ти ще раз побачиш, як з ними працювати.


procedure TTreeViewForm.AddButtonClick (Sender: TObject); var

CaptionStr: String; NewNode: TTreeNode;

begin CaptionStr: = ''; if not InputQuery ("Введення імені ',' Введіть заголовок елемента ', CaptionStr) then exit;

NewNode: = TreeView1.Items.Add (TreeView1.Selected, CaptionStr);
 if NewNode.Parent <> nil then
 NewNode.ImageIndex: = 1;
 end;

Тут я оголосив дві змінні: CaptionStr типу рядок String і NewNode типу TTreeNode. Тип TTreeNode - це тип окремого елемента дерева елементів.

У першому рядку коду я обнуляють рядок CaptionStr. Цей рядок в майбутньому буде використовуватися для зберігання імені майбутнього елемента дерева.

Другий рядок має наступний код:

if not InputQuery ("Введення імені ',' Введіть заголовок елемента ', CaptionStr) then

exit;

Тут виконується функція InputQuery, Яка використовується для виведення на екран вікна введення. У цій функції є три параметри:

1. 1. Заголовок вікна введення.

2. 2. Текст-пояснення, яке підказує користувачеві, що йому треба вводити.

3. 3. Строкова змінна, в якій ми передаємо значення за замовчуванням і отримуємо результат введення. Якщо перед викликом записати в цю змінну якесь значення, то воно буде використовуватися в якості значення за замовчуванням. Але після виклику цієї функції цей параметр завжди зберігає реально введене користувачем значення.

На малюнку 11.19.2 ти можеш побачити це вікно введення.

Якщо вікно було закрито не кнопкою ОК, то відбувається вихід з процедури. Про це говорить наша конструкція:

if not InputQuery (...) then

exit;

Наступний рядок коду додає новий елемент в наше дерево:

NewNode: = TreeView1.Items.Add (TreeView1.Selected, CaptionStr);

У компонента TreeView1 є властивість Items в якому зберігаються всі елементи дерева. Це властивість має об'єктний тип TTreeNodes. Щоб додати туди новий елемент, потрібно викликати метод Add об'єкта Items. Виходить, що в об'єкті TreeView1 є ще один об'єкт Items в якому зберігаються всі елементи. Ми вже стикалися з такими випадками, коли всередині одного об'єкта був інший об'єкт.

У методу Add є два параметри:

1. 1. Елемент, до якого треба додати новий. Тут я передаю виділений елемент (TreeView1.Selected).

2. 2. Тема нового елемента.

Результат виконання цього методу - покажчик на новий елемент. Цей результат ми зберігаємо в змінної NewNode. Тепер ми можемо змінювати і інші значення цього елемента. Наприклад, як в наступному коді я буду змінювати картинку:

if NewNode.Parent <> nil then
 NewNode.ImageIndex: = 1;

Тут йде перевірка, якщо властивість Parent нашого дерева не дорівнює нулю (тобто компонент не є верхнім в дереві), то змінити значення ImageIndex створеного нами елемента на 1 (за замовчуванням це значення 0).

При натисканні кнопки «Додати елемент» пишемо наступний код:

var CaptionStr: String; NewNode: TTreeNode;

begin CaptionStr: = ''; if not InputQuery ("Введення імені піделементи ',


'Введіть заголовок піделементи', CaptionStr) then exit;

NewNode: = TreeView1.Items.AddChild (TreeView1.Selected, CaptionStr); if NewNode.Parent <> nil then NewNode.ImageIndex: = 1;

Тут код практично той же, що і для кнопки «Додати». Єдина різниця в тому, що при додаванні нового елемента ми використовуємо метод AddChild. Відмінність цього методу від просто Add полягає в тому, що він додає дочірній елемент. Наприклад, якщо ти виділив у списку якийсь елемент і передав його в якості першого параметра в AddChild, То новий елемент буде як би підкорятися виділеному. При використанні методу Add новий елемент буде перебувати на одному рівні дерева з переданим в якості першого параметра.

Тепер напишемо код для кнопки «Додати»:

if TreeView1.Selected <> nil then TreeView1.Items.Delete (TreeView1.Selected);

Тут потрібно видалити виділений елемент, тому спочатку я перевіряю, чи є взагалі виділений елемент в дереві:

if TreeView1.Selected <> nil then

Якщо такий елемент є, то виконатися наступний код:

TreeView1.Items.Delete (TreeView1.Selected);

Тут ми використовуємо метод Delete об'єкта Items, Щоб видалити елемент дерева. Як параметр треба передати елемент, який ми хочемо видалити (я передаю виділений TreeView1.Selected.

Для кнопки «Змінити заголовок» ми напишемо наступний код:




 Private |  ListView1.Items.EndUpdate; // Прорисовуємо всі зміни відразу |  Implementation |  If Path [Length (Path)] <> '\' then |  Begin // Якщо так, то додати ім'я виділеної директорії до шляху // і перечитати файли з неї. |  Procedure TForm1.ShowHint (Sender: TObject); begin |  Procedure TForm1.ShowHint (Sender: TObject); begin |  R: TRect; begin if ToolBar1.HostDockSite <> ControlBar1 then |  r: TRect; begin if ToolBar1.HostDockSite <> ControlBar1 then |

© 2016-2022  um.co.ua - учбові матеріали та реферати