Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.06.2010, 15:42
linuxoid linuxoid вне форума
Прохожий
 
Регистрация: 18.06.2010
Сообщения: 11
Репутация: 10
По умолчанию динамическое создание и сохранение

Здравствуйте!
у меня 2 вопроса.
1)
хочу динамически создать вкладки tabsheet (pagecontrol). чтоб при нажатии кнопки открывалось окно, где можно было бы прописать название для этой вкладки. и чтоб бесконечно можно было бы добавлять.

2) как можно сохранить вкладки, чтоб при следующем запуске приложения все динамчески созданные остались?

Заранее спасибо!
Ответить с цитированием
  #2  
Старый 18.06.2010, 16:47
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

по поводу названия:
в форме с PageControl в разделе public пишем переменную
Код:
NameTab:string;
рисуем форму2 с едитом и 2 кнопками. на кнопку сохранить вешаем обработчик :
Код:
form1.NameTab:=Edit1.text;
close;

Динамическое создание вкладок:
Код:
var IDTab:integer;
procedure TForm1.Button1Click(Sender: TObject);
var tn:TTabSheet;
begin
  NameTab:='';
  form2.showmodal;
  if length(trim(NameTab))>0 then begin
    tn:=TTabSheet.Create(PageControl1);
    tn.Name:='MyTab'+inttostr(IDTab);
    tn.Caption:=NameTab;
    IDTab:=IDTab+1;
    tn.PageControl:=PageControl1;
  end;
end;

2.Сохранить проще всего в INI.
Ответить с цитированием
  #3  
Старый 18.06.2010, 18:49
Аватар для timeless
timeless timeless вне форума
Прохожий
 
Регистрация: 27.06.2008
Сообщения: 36
Репутация: 12
По умолчанию

Способ немного попроще:
Код:
var
  num: integer =1;

procedure TForm1.Button1Click(Sender: TObject);
begin
  with TTabSheet.Create(Self) do begin
    PageControl:=PageControl1;
    Caption:=InputBox('Моя программа', 'Имя вкладки', 'Новая вкладка '+IntToStr(num));
    Name:='TabSheet'+inttostr(num+9000);
  end;
  num:=num+1;
end;
Какие данные нужно сохранить? Заголовки вкладок?
Ответить с цитированием
  #4  
Старый 19.06.2010, 10:52
linuxoid linuxoid вне форума
Прохожий
 
Регистрация: 18.06.2010
Сообщения: 11
Репутация: 10
По умолчанию

да! допустим создал 3 различных вкладок (динамически). закрыл программу. и чтоб при следующем запуске они оставались
Ответить с цитированием
  #5  
Старый 19.06.2010, 13:14
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 340
Версия Delphi: 11.3
Репутация: 429
Сообщение

Сохранять можно так
Код:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
 Ini: TIniFile;
 i: SmallInt;
begin
 Ini := TIniFile.Create('c:\MyIni.ini');
 Ini.WriteInteger('Pages','Count',PageControl1.PageCount - 1);
 for i := 0 to PageControl1.PageCount - 1 do
  Ini.WriteString('Pages','Page' + IntToStr(i),PageControl1.Pages[i].Caption);
end;
загружать так
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
 TS: TTabSheet;
 Ini: TIniFile;
 i: SmallInt;
 cnt: Byte;
begin
 Ini := TIniFile.Create('c:\MyIni.ini');
 cnt := Ini.ReadInteger('Pages','Count',0);
 for i := 0 to cnt do
  begin
   TS := TTabSheet.Create(Self);
   TS.PageControl := PageControl1;
   TS.Caption := Ini.ReadString('Pages','Page' + IntToStr(i),'');
  end;
end;
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
  #6  
Старый 21.06.2010, 10:36
linuxoid linuxoid вне форума
Прохожий
 
Регистрация: 18.06.2010
Сообщения: 11
Репутация: 10
По умолчанию

спасибо большое!!!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:32.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025