Недавно добавленные исходники

•  TDictionary Custom Sort  1 838

•  Fast Watermark Sources  1 870

•  3D Designer  3 289

•  Sik Screen Capture  2 293

•  Patch Maker  2 472

•  Айболит (remote control)  2 293

•  ListBox Drag & Drop  1 891

•  Доска для игры Реверси  69 543

•  Графические эффекты  2 492

•  Рисование по маске  2 026

•  Перетаскивание изображений  1 591

•  Canvas Drawing  1 589

•  Рисование Луны  1 606

•  Поворот изображения  1 224

•  Рисование стержней  1 276

•  Paint on Shape  907

•  Генератор кроссвордов  1 419

•  Головоломка Paletto  1 105

•  Теорема Монжа об окружностях  1 450

•  Пазл Numbrix  1 025

•  Заборы и коммивояжеры  1 301

•  Игра HIP  864

•  Игра Go (Го)  829

•  Симулятор лифта  961

•  Программа укладки плитки  803

•  Генератор лабиринта  963

•  Проверка числового ввода  863

•  HEX View  998

•  Физический маятник  867

•  Задача коммивояжера  918

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Динамический список



unit dlist1_;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit; // фамилия
    Edit2: TEdit; // имя
    Button1: TButton; // кнопка Добавить
    Button2: TButton; // кнопка Показать
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
{$R *.DFM}

type
  TPStudent = ^TStudent; //указатель на тип TStudent

  TStudent = record
    f_name: string[20]; // фамилия
    l_name: string[20]; // имя
    next: TPStudent; // следующий элемент списка
  end;

var
  head: TPStudent; // начало (голова) списка

// добавить элемент в начало списка

procedure TForm1.Button1Click(Sender: TObject);
var
  curr: TPStudent; // новый элемент списка
begin
  new(curr); // выделить память для элемента списка
  curr^.f_name := Edit1.Text;
  curr^.l_name := Edit2.Text;

   // добавление в начало списка
  curr^.next := head;
  head := curr;

   // очистить поля ввода
  Edit1.text := '';
  Edit2.text := '';
end;

// вывести список

procedure TForm1.Button2Click(Sender: TObject);
var
  curr: TPStudent; // текущий элемент списка
  n: integer; // длина (кол-во элементов) списка
  st: string; // строковое представление списка
begin
  n := 0;
  st := '';
  curr := head; // указатель на первый элемент списка
  while curr <> nil do
  begin
    n := n + 1;
    st := st + curr^.f_name + ' ' + curr^.l_name + #13;
    curr := curr^.next; // указатель на следующий элемент
  end;

  if n <> 0
    then ShowMessage('Список:' + #13 + st)
  else ShowMessage('В списке нет элементов.');
end;

end.
Скачать весь проект




Похожие по теме исходники

Список запущенных процессов

Список установленных устройств




Copyright © 2004-2023 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте   Facebook   Ссылка на Twitter   Ссылка на Telegram