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

•  DeLiKaTeS Tetris (Тетрис)  3 978

•  TDictionary Custom Sort  6 089

•  Fast Watermark Sources  5 886

•  3D Designer  8 711

•  Sik Screen Capture  6 209

•  Patch Maker  6 645

•  Айболит (remote control)  6 637

•  ListBox Drag & Drop  5 495

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

•  Графические эффекты  6 845

•  Рисование по маске  6 041

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

•  Canvas Drawing  5 392

•  Рисование Луны  5 118

•  Поворот изображения  4 657

•  Рисование стержней  3 280

•  Paint on Shape  2 521

•  Генератор кроссвордов  3 413

•  Головоломка Paletto  2 727

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

•  Пазл Numbrix  2 315

•  Заборы и коммивояжеры  3 003

•  Игра HIP  1 957

•  Игра Go (Го)  1 875

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

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

•  Генератор лабиринта  2 378

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

•  HEX View  2 387

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

 
скрыть

  Форум  

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

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



Delphi Sources

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



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-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте