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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2013, 15:44   #1
krikqwerty
Пользователь
 
Регистрация: 26.08.2012
Сообщений: 35
По умолчанию Combobox

Привет! Проблемка такая: у меня есть динамический стек и его нужно добавить для наглядного просмотра в Combobox сколько писал не получается!
Как написать не пойму.
код добавления в стек
Код:
T:=TTeacher.Create(aFam,aPost);
T:=T.GetPrev;
First:=T;
Count:=Count+1;

Последний раз редактировалось krikqwerty; 16.01.2013 в 15:57.
krikqwerty вне форума Ответить с цитированием
Старый 16.01.2013, 16:51   #2
KooKish
Улыбаемся :)
Пользователь
 
Регистрация: 18.12.2012
Сообщений: 74
По умолчанию

Будьте так любезны, код всей программы.
Не забываем про весы.
KooKish вне форума Ответить с цитированием
Старый 16.01.2013, 17:43   #3
krikqwerty
Пользователь
 
Регистрация: 26.08.2012
Сообщений: 35
По умолчанию

Код:
unit Chair;

interface
 uses Teacher,unit1;


Type
TChair=class

private
Name_Chair:string;
First:TTeacher;
count:integer;

public

constructor    Create(aName_Chair:string);
   function    GetNC:string;
   function    GetCount:integer;
  procedure    SetNC(aName_Chair:string);
   function    GetF:TTeacher;
  procedure    ShowAllChar;
  procedure    SetF(aFirst:TTeacher);
  procedure    AddTeach(aFam,aPost:string);
   function    DeleteTeach:boolean;
end;
implementation
   uses Institut;

constructor TChair.Create(aName_Chair:string);
var aFirst:TTeacher;
begin
Name_Chair:=aName_Chair; aFirst:=nil;
end;

function    TChair.GetNC:string;
begin
result:=Name_Chair;
end;

procedure   TChair.SetNC(aName_Chair:string);
begin
Name_Chair:=aName_Chair
end;


function    TChair.GetCount:integer;
begin
result:=count;
end;

function   TChair.GetF:TTeacher;
begin
result:=First;
end;


procedure  TChair.SetF(aFirst:TTeacher);
begin
First:=aFirst;
end;


procedure   TChair.AddTeach(aFam,aPost:string);
var T:TTeacher;
begin
T:=TTeacher.Create(aFam,aPost);
T:=T.GetPrev;//
First:=T;
Count:=Count+1;

end;




function   TChair.DeleteTeach:boolean;
begin
 result:=false;
 if First<>nil then
 begin
 First:=First.GetPrev;
 Count:=Count-1;
 end;
 end;

end.
krikqwerty вне форума Ответить с цитированием
Старый 16.01.2013, 18:57   #4
KooKish
Улыбаемся :)
Пользователь
 
Регистрация: 18.12.2012
Сообщений: 74
По умолчанию

Попробуй
Код:
ComboBox1.Items.Add(ComboBox1.Text);
Не забываем про весы.
KooKish вне форума Ответить с цитированием
Старый 16.01.2013, 19:46   #5
krikqwerty
Пользователь
 
Регистрация: 26.08.2012
Сообщений: 35
По умолчанию

не не то нужно что то виде процедуры написать, чтоб процедура после добавления в стек, проходила его(стек) от начала до конца добавляя в Combobox
у меня в демо-модуле будет идти вызов процедуры добавления, а следом должно будет идти добавление в Combobox
krikqwerty вне форума Ответить с цитированием
Старый 16.01.2013, 19:53   #6
krikqwerty
Пользователь
 
Регистрация: 26.08.2012
Сообщений: 35
По умолчанию

нужно открыть цикл типа
Код:
while First<>nil do begin
Form1.Combobox.Items.Add (First.GetFam+' '+First.GetPost)
и все что пройдем добавить в Combobox, а вот как правильно это сделать я не пойму
krikqwerty вне форума Ответить с цитированием
Старый 16.01.2013, 20:14   #7
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Код:
  if ComboBox1.Items.Count = 0 then
  begin
      ComboBox1.Items.Add(ComboBox1.Text);
      Exit;
  end;
  ComboBox1.Items.Add('1234');
  i := ComboBox1.Items.Count - 1;
  while (i > 0) do
  begin
    ComboBox1.Items[i] := ComboBox1.Items[i - 1];
    dec(i);
  end;
  ComboBox1.Items[0] := ComboBox1.Text;
Предлагаю вот так. А извлекать по индексу с 0-го.
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com
kventin_zhuk вне форума Ответить с цитированием
Старый 16.01.2013, 20:46   #8
krikqwerty
Пользователь
 
Регистрация: 26.08.2012
Сообщений: 35
По умолчанию

Код работает только при первом добавлении после второго третьего и т.д. он начинает писать пустые строчки. Я хочу немного написать как я добавляю в комбобокс я ввожу данные не в него а в едиты у меня их два один отвечает за фамилию другой за должность преподавателя, вот код я его исправил не могли бы вы подсказать что мне нужно исправить чтоб код заработал нормально?
Код:
  if Form1.ComboBox2.Items.Count = 0 then
  begin
      Form1.ComboBox2.Items.Add(Form1.Edit1.Text+' '+ Form1.Edit2.Text);
      Exit;
  end;
  Form1.ComboBox2.Items.Add('1234');
  i := Form1.ComboBox2.Items.Count - 1;
  while (i > 0) do
  begin
    Form1.ComboBox2.Items[i] := Form1.ComboBox2.Items[i - 1];
    dec(i);
  end;
  Form1.ComboBox2.Items[0] := Form1.ComboBox2.Text;
krikqwerty вне форума Ответить с цитированием
Старый 16.01.2013, 20:59   #9
krikqwerty
Пользователь
 
Регистрация: 26.08.2012
Сообщений: 35
По умолчанию

нашел, исправил! Спасибо очень помогли!
krikqwerty вне форума Ответить с цитированием
Старый 16.01.2013, 21:14   #10
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Цитата:
Сообщение от krikqwerty Посмотреть сообщение
нашел, исправил! Спасибо очень помогли!
Даже не знаю почему у вас пустую строку добавляло. Протестил ещё раз - загнал цифры от 1 до 10 - всё ок.
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com
kventin_zhuk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Webbrowser и combobox: сделать чтобы в combobox-е оставалась история посещенных сайтов uasya2 Общие вопросы Delphi 6 06.03.2011 20:24
Combobox -> DBGrid -> Combobox... EXTREEM БД в Delphi 2 20.12.2010 18:19
Разделение ComboBox на 3 ComboBox-a artemavd Общие вопросы Delphi 1 21.07.2010 08:02
ComboBox tat-besidovska Microsoft Office Excel 8 04.02.2008 08:52
Не могу внести строку из combobox в combobox!? tacer Помощь студентам 1 30.11.2007 19:45