Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];

Вниз

Помогите с TabControl!   Найти похожие ветки 

 
Vitek2 ©   (2007-09-26 18:40) [0]

Здравствуйте!
Нужно реализовать такой пример:
1.При нажатии кнопки "Создать" добавляется новая вкладка на компаненте TabControl, на этой вкладке создаётся Поле RichEdit#. На каждой вкладке своё поле.
2. А при нажатии кнопки "Сохранить", Текст из RichEdit# Выбраной закладки с помощью диалога сохранения сохраняется в файл.

Некое подобие листов в Excel`е.

Также можно реализовать такое пример через PageControl.


 
Kolan ©   (2007-09-26 18:41) [1]

> Также можно реализовать такое пример через PageControl.

Спасибо что разрешил.

Где вопрос?


 
Vitek2 ©   (2007-09-26 18:52) [2]

1.Чтоб вкладка создавалась ВМЕСТЕ с RichEdit.
2.Текст должен сохранятся из RichEdit с выбраной вкладке.
Нужен код. Как мне такое реализовать?


 
Vitek2 ©   (2007-09-26 19:53) [3]

В справке Делфи есть такой пример:
procedure TForm1.Button1Click(Sender: TObject);

begin
 OpenDialog1.Options := [ofAllowMultiSelect, ofFileMustExist, ofHideReadOnly ];
 if OpenDialog1.Execute then
 begin
   TabControl1.Tabs.Assign(OpenDialog1.Files);
   Memo1.Lines.LoadFromFile(TabContol1.Tabs[TabControl1.TabIndex]);
 end;

end;


Только вот он что-то не работает.


 
{RASkov} ©   (2007-09-26 20:13) [4]

> [3] Vitek2 ©   (26.09.07 19:53)
> Только вот он что-то не работает.

Не верю.
Надеюсь в OpenDialog1 выбраны только текстовые файлы?


 
Vitek2 ©   (2007-09-26 20:20) [5]

Я разобрался.Все работает. Опечатка была в сравке. Сразу и не заметил. А как сделать чтоб файл открывался в новой вкладке.

И как програмно создать новый компонент?
Помогите плиз.


 
{RASkov} ©   (2007-09-26 20:32) [6]

> [5] Vitek2 ©   (26.09.07 20:20)
> А как сделать чтоб файл открывался в новой вкладке

вкладке чего?
Если TabControl - то у него нет как таковых вкладок...
Посмотри внимательно код из [3].... Там есть указание конкретной "вкладки" TabControl"а...
Memo1.Lines.LoadFromFile(TabContol1.Tabs[TabControl1.TabIndex]);
Смотри:
Memo для всех вкладок общее, а в зависимости выбора закладки у TabContol"а, в него грузится файл, имя которого указано в названии закладки.

> И как програмно создать новый компонент?

Ты вопросы смотрел соседние? Тут только про создание и говорят последнее время...
:)


 
Алексей Петухов   (2007-09-26 20:41) [7]


> И как програмно создать новый компонент?

Примерно так:

var
 myEdit: TEdit;
begin
 myEdit:=TEdit.create(self);
 myEdit.parent:=self;
end;

вобщем кинь это в onClick какой нибудь кнопке на форме.
ошибки поправь. эх... давненько не брал я в руки шашки :-)

P.S. self это "ссылка" на саму форму (TForm).


 
Vitek2 ©   (2007-09-26 22:49) [8]

Спасибо большое.
А как Создать Новую вкладку в PageControl и чтоб в созданой вкладке создался Компонент RichEdit.


 
{RASkov} ©   (2007-09-26 23:00) [9]

> [8] Vitek2 ©   (26.09.07 22:49)
> А как Создать Новую вкладку в PageControl и чтоб в созданой
> вкладке создался Компонент RichEdit.

Примерно так:
var Tt: TTabSheet;
begin
 Tt:=TTabSheet.Create(PageControl);
 Tt.PageControl:=PageControl;
 Tt.Caption:="New";
 with TRichEdit.Create(Tt) do begin
  Parent:=Tt;
  Align:=alClient;
 end;
 PageControl.ActivePage:=Tt;
end;


 
Vitek2 ©   (2007-09-27 00:00) [10]

var Tt: TTabSheet;
begin
Tt:=TTabSheet.Create(PageControl);
Tt.PageControl:=PageControl;
Tt.Caption:="New";
with TRichEdit.Create(Tt) do begin
 Parent:=Tt;
 Align:=alClient;
end;
PageControl.ActivePage:=Tt;
end;

В этом случае какие имена имеют RichEdit и Вкладки?
,,,,,
А вот как чтоб при нажатии кнопки в RichEdit активной вкладки загружался текст из файла?


 
Германн ©   (2007-09-27 00:26) [11]


> В этом случае какие имена имеют RichEdit и Вкладки?

А зачем тебе имена?


 
Vitek2 ©   (2007-09-27 00:33) [12]

Ну чтоб знать куда помещать текст из файла.
А лучше ответьте на второй вопрос.

> как чтоб при нажатии кнопки в RichEdit активной вкладки
> загружался текст из файла?


 
Германн ©   (2007-09-27 00:40) [13]

Измени вышеуказанный пример:
var
 Tt: TTabSheet;
 RE : TRichEdit;
begin
Tt:=TTabSheet.Create(PageControl);
Tt.PageControl:=PageControl;
Tt.Caption:="New";
RE:=TRichEdit.Create(Tt);
with RE do begin
 Parent:=Tt;
Tt.tag:=Integer(RE);
 Align:=alClient;
end;
PageControl.ActivePage:=Tt;
end;


По нажатию кнопки пишешь:
TRichEdit(PageControl.ActivePage.tag).Lines.LoadFromFile(...);


 
Vitek2 ©   (2007-09-27 01:15) [14]

Что-то не хочет работать выдаёт ошибку при нажатии кнопки.


 
Германн ©   (2007-09-27 01:22) [15]


> Что-то не хочет работать выдаёт ошибку при нажатии кнопки.

Показывай код. И сообщай где и какую ошибку выдаёт.


 
Vitek2 ©   (2007-09-27 01:42) [16]

var i:integer;
  RE: TRichEdit;
  Tt: TTabSheet;

procedure TForm1.Button1Click(Sender: TObject);

begin
Tt:=TTabSheet.Create(PageControl1);
Tt.PageControl:=PageControl1;
Tt.Caption:="New";
with TRichEdit.Create(Tt) do
begin
 Parent:=Tt;
 Align:=alClient;
 Tt.tag:=Integer(RE);
end;
PageControl1.ActivePage:=Tt
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
TRichEdit(PageControl1.ActivePage.Tag).Lines.LoadFromFile("1.txt");
end;


 
{RASkov} ©   (2007-09-27 01:51) [17]

> [16] Vitek2 ©   (27.09.07 01:42)

Не правильно делаешь....
Сравни:
> RE:=TRichEdit.Create(Tt);
> with RE do begin

И

> with TRichEdit.Create(Tt) do

Ну и соответственно у тебя в Tt.Tag ничего нет

> Tt.tag:=Integer(RE);


 
Германн ©   (2007-09-27 01:52) [18]


> Vitek2 ©   (27.09.07 01:42) [16]

Ну и где и какая ошибка?


 
Германн ©   (2007-09-27 01:55) [19]


> {RASkov} ©   (27.09.07 01:51) [17]

Ещё раз не приметил слона. Да ещё и розового :-)


 
Vitek2 ©   (2007-09-27 01:58) [20]

Я просто думал что это одно и тоже. Теперь всё работает. Спасибо большое.


 
Германн ©   (2007-09-27 02:03) [21]


> Ещё раз не приметил слона. Да ещё и розового :-)

Склероз, блин. Перепутал слона с козой. А слон был:
"Крылья как у пчелы. Вместо ушей - цветы" :-)
Но суть была правильная:
"Даром преподаватели время со мною тратили!"
:-)


 
Vitek2 ©   (2007-09-27 02:08) [22]

такс... а что надо попровить чтоб вместо сохранением под именем 1.txt появлялось диалоговое окно SaveDialog?


 
{RASkov} ©   (2007-09-27 02:11) [23]

> [19, 21] Германн ©   (27.09.07 01:55)

Бывает :)

> Vitek2
Кстати в [13] можно и без дополнительной переменной RE.... Все тоже самое но без RE ;)
Это я к тому, что ты в [16] сделал переменные вообще глобальными.... ни к чему это....


> [22] Vitek2 ©   (27.09.07 02:08)

SaveDialog.Execute ?


 
Германн ©   (2007-09-27 02:13) [24]


> Vitek2 ©   (27.09.07 02:08) [22]
>
> такс... а что надо попровить чтоб вместо сохранением под
> именем 1.txt появлялось диалоговое окно SaveDialog?

А ты разве уже приводил тут своюпроцедуру сохранения/записи в файл? Не припомню что-то. :-)


 
{RASkov} ©   (2007-09-27 02:15) [25]

> > [22] Vitek2 ©   (27.09.07 02:08)
>
> SaveDialog.Execute ?

Тьфу....
Ты имеешь ввиду вот это:

> procedure TForm1.Button2Click(Sender: TObject);
> begin
> TRichEdit(PageControl1.ActivePage.Tag).Lines.LoadFromFile("1.txt");
> end;

?
Тогда так:
procedure TForm1.Button2Click(Sender: TObject);
begin
 if OpenDialog.Execute then
  TRichEdit(PageControl1.ActivePage.Tag).Lines.LoadFromFile(OpenDialog.FileName);
end;


Ты сам хоть строчку кода сможешь написать? )


 
Германн ©   (2007-09-27 02:21) [26]


> Ты сам хоть строчку кода сможешь написать? )
>

Риторический вопрос.
Кстати, очень важный сейчас для меня.
Вопрос "Что за комиссия, создатель?" меня сейчас волнует более всего.


 
Vitek2 ©   (2007-09-27 02:22) [27]

Спасибо всем большое.Чтоб я без вас делал.. =)
Вот только интересут что такое with..do, Parent и Tag. Раньше вроде не встречал. или опять что-то забыл... =)
И пойду ка я спать а то учёбу просплю.


 
Германн ©   (2007-09-27 02:24) [28]


> Вот только интересут что такое with..do, Parent и Tag. Раньше
> вроде не встречал. или опять что-то забыл... =)
> И пойду ка я спать а то учёбу просплю.
>

Похоже, что ты её слишком часто просыпал!


 
{RASkov} ©   (2007-09-27 02:28) [29]

> [28] Германн ©   (27.09.07 02:24)

:) +5


 
Vitek2 ©   (2007-09-27 02:29) [30]

Кстати ещё не разу не проспал и не прогулял. =)
И между прочим, в колледже, в группе я дальше всех ушёл...как бы это странно не звучало...


 
{RASkov} ©   (2007-09-27 02:36) [31]

> [30] Vitek2 ©   (27.09.07 02:29)
> в группе я дальше всех ушёл...

Надеюсь, что не на программера учишься :)
Иначе чего же помнят остальные)


 
Германн ©   (2007-09-27 02:42) [32]


> И между прочим, в колледже, в группе я дальше всех ушёл

В лес? Ну тогда понятно, :-)

> {RASkov} ©   (27.09.07 02:36) [31]

+1


 
Vitek2 ©   (2007-09-27 02:44) [33]

Это ты к тому что я нечего не понимаю?
Дя я учусь на программера.
У нас очень странная методика обучения программирования вколледже. Многого от туда не унесёшь, так что приходиться самому...

Остальные, точнее большенство вообще не чего не понимают. Лучше бы на менеджеров или юристов пошли.
Вот есть в группе несколько девчёнок(!). Учатся на 4 и 5 а на любой практике полный Null =). Так что оценка не показатель уровня знаний.


 
Германн ©   (2007-09-27 02:54) [34]


> Vitek2 ©   (27.09.07 02:44) [33]
>
> Это ты к тому что я нечего не понимаю?
> Дя я учусь на программера.
> У нас очень странная методика обучения программирования
> вколледже. Многого от туда не унесёшь, так что приходиться
> самому...
>
> Остальные, точнее большенство вообще не чего не понимают.
>  Лучше бы на менеджеров или юристов пошли.
> Вот есть в группе несколько девчёнок(!). Учатся на 4 и 5
> а на любой практике полный Null =). Так что оценка не показатель
> уровня знаний.
>


Это всё !"отмазки".
Ты хотя бы русский язык изучи.


 
Vitek2 ©   (2007-09-27 02:57) [35]

Наверное надо бросить программирование и заняться чем-нибудь другим!?
Что? У меня ошибок много?


 
Германн ©   (2007-09-27 03:12) [36]


> Vitek2 ©   (27.09.07 02:57) [35]
>
> Наверное надо бросить программирование и заняться чем-нибудь
> другим!?
> Что? У меня ошибок много?
>

Возможно надо.Ошибок много. Но не больше, чем у ап в период освоения 10-пальцевого метода. :-)
Или перестань быть чукчей!


 
Anatoly Podgoretsky ©   (2007-09-27 07:48) [37]

> Vitek2  (27.09.2007 02:29:30)  [30]

Жалко ваш колледж


 
Anatoly Podgoretsky ©   (2007-09-27 08:37) [38]

> Vitek2  (27.09.2007 02:57:35)  [35]

Хоть одна трезвая мысль.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.048 c
1-1186379789
Damager
2007-08-06 09:56
2007.10.21
Не работает flat в XP. И пустой caption в toolbuttons


2-1190633921
alshtam
2007-09-24 15:38
2007.10.21
ресурс


2-1190619662
F@T@L_Err0r
2007-09-24 11:41
2007.10.21
TrackBar


11-1174410437
Dmitriy___
2007-03-20 20:07
2007.10.21
ListView - проблема с LVItems


11-1174291077
Don
2007-03-19 10:57
2007.10.21
StatusBar и OpenSaveDialog





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский