Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2010, 16:16   #1
Vladimir-888
Пользователь
 
Регистрация: 01.04.2010
Сообщений: 29
По умолчанию Работа с TObjectStack и TStack

Прошу помощи. Подскажите пожалуйста, как в Delphi реализовать стек с помощью TObjectStack и TStack. В чём их отличие? Как с ними работать? Если можно с примером, пожалуйста)
Vladimir-888 вне форума Ответить с цитированием
Старый 06.04.2010, 16:32   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

TObjectStack рассчитан на хранение указателей на обьекты, а TStack в принципе хранит указатели на все что угодно.
При этом TObjectStack позволяет (являясь потомком TStack) чистить мусор за собой (например при удалении элемента он его и освобождает) так и прочие удобства для нафигации по стеку обьектов.
Насчет примера не вопрос, но для какой задачи. Задачи бывают разные и примеры под них тоже разными будут
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.04.2010, 00:51   #3
Vladimir-888
Пользователь
 
Регистрация: 01.04.2010
Сообщений: 29
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
TObjectStack рассчитан на хранение указателей на обьекты, а TStack в принципе хранит указатели на все что угодно.
При этом TObjectStack позволяет (являясь потомком TStack) чистить мусор за собой (например при удалении элемента он его и освобождает) так и прочие удобства для нафигации по стеку обьектов.
Насчет примера не вопрос, но для какой задачи. Задачи бывают разные и примеры под них тоже разными будут
Ну, например, нужно создать стек. На форме размещены: Memo - для вывода результата, Edit - для ввода чисел, и две кнопки, одна для добавления чисел в стек из Edit, другая для удаления.
Vladimir-888 вне форума Ответить с цитированием
Старый 07.04.2010, 09:13   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если идетработа с числами то проще TStack.
Если же каждое число ты в обьект обернешь то TObjectStack будет лучше.
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,Contnrs;
  var st:TStack;i:integer;
begin
 st:=TStack.Create;
 for i:=0 to 10 do begin st.Push(pointer(i*2));write(i*2:5);end;
 writeln;
  while st.Count>0 do begin write(integer(st.pop):5);end;
 readln;
 st.Free;
  { TODO -oUser -cConsole Main : Insert code here }
end.
I'm learning to live...

Последний раз редактировалось Stilet; 07.04.2010 в 09:20.
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. 0101 Помощь студентам 3 17.12.2009 23:57
Работа с webbrowser - Фреймы, работа с конкретным феймом в фрейме NewDelphi Фриланс 2 08.10.2009 11:00