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

Здесь есть возможность читать онлайн «Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Советы по Delphi. Версия 1.4.3 от 1.1.2001: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Советы по Delphi. Версия 1.4.3 от 1.1.2001»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Советы по Delphi. Версия 1.4.3 от 1.1.2001», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

unitUnit1;

interface

usesSysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls { вам нужно это для ListBox } ;

typeTForm1 = class(TForm)

procedureFormCreate(Sender: TObject);

procedureFormResize(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

listbox: TListBox;

implementation

{$R *.DFM}

procedureTForm1.FormCreate(Sender: TObject);

begin

listbox := TListBox.Create(self);

listbox.Parent := self;

listbox.Top := 0;

listbox.Left := 0;

listbox.Width := self.Width div2;

listbox.Height := self.Height div2;

listbox.items.add('тест 1');

listbox.items.add('тест 2');

{ и т.д, и т.п. … }

end;

procedureTForm1.FormResize(Sender: TObject);

begin

listbox.Width := self.Width div2 ;

listbox.Height := self.Height div2 ;

end;

end.

Двойной ListBox

Я расположил на форме два компонента Listbox, и с помощью следующего кода заполнил один из них данными из таблицы:

tableName.Refresh; {в вашем случае это может и не понадобится}

tableName.First; {Убедимся, что мы смотрим первую запись}

while nottableName.Eof do{проходим в цикле таблицу}

begin

listbox1.items.add(tableName.FieldByName('USRID').AsString); {добавляем элемент в listbox1}

tableName.Next; {переходим к следующей записи}

end;

ниже я привел процедуру из моего рабочего кода, в котором я использую эту технологию. Я передаю ей в качестве параметров имя таблицы и имена компонентов listbox1 и listbox2. Я пользуюсь этой процедурой, поскольку у меня есть несколько таблиц с полями одинакового типа:

procedureTTemplateFrm.buildList(tableName: TTable; SelBox, AvailBox: TListBox);

begin

{в этой процедуре мы собираемся добавить данные в listbox'ы}

{получаем любые новые данные}

tableName.Refresh;

{Убедимся, что мы смотрим первую запись}

tableName.First;

{Теперь очищаем ListBox'ы}

SelBox.Clear;

AvailBox.Clear;

{Теперь добавляем элементы}

while nottableName.EOF do begin

AvailBox.Items.Add(tableName.fieldByName('USRID').AsString + ' ' + tableName.fieldByName('DESCRIPTION').AsString);

tableName.Next;

end;

end;

Как перемещать данные между этими двумя списками? Если вы хотите использовать технологию «drag and drop» (перетащи и брось), то в обработчике mousedown вашей исходной таблицы воспользуйтесь процедурой begindrag:

ifButton = mbLeft thenTlistbox(sender).BeginDrag(false);

Затем, в вашем другом ListBox, для «опознания» и получения данных создайте следующий обработчик DragOver:

ifSource = ListBox1 thenAccept := true

elseAccept := false;

Не используйте «Accept := (Source is TListbox)», как это показано в большинстве примеров. У вас имеется два компонента ListBox, следовательно, вам нужно сослаться на имя объекта, а не на его тип, а иначе программа просто не поймет кто есть кто.

Затем в обработчике dragDrop поместите следующий код, добавляющий данные в ListBox2 и удаляющий их из ListBox1.

Listbox2.Items.Add(Listbox1.Items[Listbox1.ItemIndex]);

Listbox1.Items.Delete(Listbox1.ItemIndex);

И, наконец, добавьте кнопку «Сохранить», если вы хотите сохранить содержимое ListBox2 в базе данных.

Я надеюсь, что это именно то, что вы искали, и что это окажется вам полезным. Если вы хотите также перемещать данные из ListBox2 в ListBox1, вам необходимо будет создать тот же код, но реверсировать его для получения в коде правильных ссылок на компоненты ListBox.

ListBox — OnChange

Delphi 1

Это было два месяца тому назад. Я нашел это на одном из Delphi-сайтов. Не очень сложно и понятно.

UNITLbox;

INTERFACE

USESSysUtils, WinTypes, Messages, Classes, Controls, Graphics, Forms,Menus, StdCtrls;

TypeTCngListBox = Class(TListBox)

private

FOnChange : TNotifyEvent;

FLastSel : integer;

procedureClick; override;

protected

procedureChange; Virtual;

published

propertyOnChange : TNotifyEvent readFOnChange writeFOnChange;

public

constructorcreate(AOwner : TComponent); override;

End;

Procedure Register;

IMPLEMENTATION

procedureTCngListBox.Change;

begin

FLastSel := ItemIndex;

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

Интервал:

Закладка:

Сделать

Похожие книги на «Советы по Delphi. Версия 1.4.3 от 1.1.2001»

Представляем Вашему вниманию похожие книги на «Советы по Delphi. Версия 1.4.3 от 1.1.2001» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Советы по Delphi. Версия 1.4.3 от 1.1.2001»

Обсуждение, отзывы о книге «Советы по Delphi. Версия 1.4.3 от 1.1.2001» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x