Miałby, ktoś pomysł, aby usprawnić bardziej ten kod, oraz jeszcze jedno pytanie czy jest jakaś możliwość do przewijania w dół wierszy zapisanych w 2 TEdicie
unit Unit7;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm7 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
end;
var
Form7: TForm7;
type
TWskaznik = ^TElement;
TElement = record
Liczba : Byte;
Nast,Ost : TWskaznik;
end;
var
Kolejka:TWskaznik;
Liczba:Byte;
Znak:Char;
implementation
{$R *.dfm}
procedure TForm7.Button1Click(Sender: TObject);
procedure Ustaw (Liczba: Byte);
var
E, Pop, Nast : TWskaznik;
begin
New(E);
E^.Liczba := Liczba;
E^.Nast := Nil;
if (Kolejka = nil) then
begin
E^.Nast := Kolejka; Kolejka := E;
end
else
begin
Pop := Kolejka; Nast := Kolejka^.Nast;
while (Nast <> nil) do
begin
Pop := Nast;
Nast := Nast^.Nast;
end;
E^.Nast := Nast;
Pop^.Nast := E;
end;
end;
var
x : String;
begin
while Liczba > 0 do
begin
Liczba := Edit1.Text;
Ustaw(Liczba);
Edit2.Text := Liczba;
end;
end;
procedure TForm7.Button4Click(Sender: TObject);
function Obsluz: Byte;
var
E : TWskaznik;
begin
if (Kolejka = nil) then
Obsluz := 0
else
begin
E := Kolejka;
Obsluz := E^.Liczba;
Kolejka := E^.Nast;
end;
end;
begin
Obsluz(Liczba)
end;
end.