Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type
- SinglyLinkedList = class
- private
- type PNode = ^Node; { указатель на узел }
- Node = record { структура узла }
- element: integer; { элемент }
- next: PNode; { ссылка на следующий }
- end;
- var Head: PNode;
- public
- procedure PushBack(Element: Integer);
- end;
- var
- FormAddElement: TFormAddElement;
- Count: Integer = 1;
- implementation
- procedure SinglyLinkedList.PushBack(Element: Integer);
- var
- NewNode: PNode;
- begin
- if (Head = nil) then
- begin
- Head.element := Element;
- Head.next := nil
- end
- else
- begin
- New(NewNode);
- NewNode := head;
- while (NewNode.next <> nil ) do
- NewNode := NewNode.next;
- NewNode.element := Element;
- NewNode.next := nil;
- end;
- end;
- {$R *.dfm}
- function IsElementCorrect(EditAdd:TEdit):Boolean;
- var
- IsCorrect: Boolean;
- begin
- IsCorrect := True;
- Try
- StrToInt(EditAdd.Text)
- Except
- IsCorrect := False;
- ShowMessage('sosi');
- End;
- IsElementCorrect := IsCorrect;
- end;
- procedure TFormAddElement.ButtonOKClick(Sender: TObject);
- var
- List: SinglyLinkedList;
- Element: Integer;
- begin
- if IsElementCorrect(EditAdd) then
- begin
- Element := StrToInt(EditAdd.Text);
- ListForm.StringGrid1.Cells[1,count] := EditAdd.Text;
- ListForm.StringGrid1.Cells[0,count] := IntToStr(Count);
- ListForm.StringGrid1.RowCount := ListForm.StringGrid1.RowCount + 1;
- List.PushBack(Element);
- Inc(Count);
- EditAdd.Text := '';
- FormAddElement.Close;
- end;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement