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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2012, 19:11   #21
hauk70
Пользователь
 
Регистрация: 06.05.2012
Сообщений: 22
Смех

это не конец, на меня навесили еще задания))
В общем, кто пользуется notepad++ поймут, я создаю текстовый редактор и хочу создать его с вкладками(pagecontrol). Создание новых вкладок по нажатию на кнопку, и объекта ricgedit на них работает, но теперь до меня тупо не доходит как к ним обращаться :DDD
например сохранить активную вкладку в... открыть внешний текстовый файл и поместить в активную панель в ричедит... закрыть данную вкладку. Ну еще динамическое контекстное меню (копировать, вырезать, вставить и тд)

вот код создания по клику
Код:
procedure TForm6.N1Click(Sender: TObject);
var   tab : TTabSheet;
begin
tab:=TTabSheet.Create(PageControl1);
tab.PageControl:=PageControl1;
tab.Caption:='New'+inttostr(i);
inc(i);
with TRichEdit.Create(PageControl1) do
begin
parent:=tab;
ScrollBars:=ssVertical;
Align := alClient;
end;
end;
а вот загрузка файла в активную вкладку, но он ругается на адреса (да, диалоги мне лень выносить на форму, поэтому их тоже создаем)
Код:
procedure TForm6.N2Click(Sender: TObject);
var opendialog:Topendialog;
begin
Opendialog:=TOpenDialog.create(self);
openDialog.Filter:= 'Текстовый документ|*.txt';
n1.Click;
if OpenDialog.Execute then
TRichEdit(PageControl1.ActivePage.tag).lines.loadFromFile(OpenDialog.FileName);
end;
сохранение с той же проблемой.
Код:
procedure TForm6.N3Click(Sender: TObject);
var savedealog:Tsavedialog;
begin
savedealog:=Tsavedialog.create(self);
savedealog.Filter:= 'Текстовый документ|*.txt';
if savedealog.Execute then
TRichEdit(PageControl1.ActivePage.tag).lines.savetoFile(savedealog.FileName);
end;
почему-то буфер пустует, а если и полный, то ничего не отдает, помогите :3
Код:
procedure TForm6.N7Click(Sender: TObject);
begin
TRichEdit(PageControl1.ActivePage).CopyToClipboard;
end;

procedure TForm6.N9Click(Sender: TObject);
begin
TRichEdit(PageControl1.ActivePage).PasteFromClipboard;
end;
я уникум xDD создать создал, а толком обратиться не могу. Подскажите все нормально, в гугле мало про динамическое создание. Еще есть вопрос как закрыть вкладку?

Последний раз редактировалось hauk70; 20.05.2012 в 01:11.
hauk70 вне форума Ответить с цитированием
Старый 20.05.2012, 16:23   #22
hauk70
Пользователь
 
Регистрация: 06.05.2012
Сообщений: 22
По умолчанию

up
работает и вырубает активную вкладку
Код:
procedure TForm6.N5Click(Sender: TObject);
begin
PageControl1.ActivePage.Free;
end;
не работает и не врубает вообще ничего (хотя должна вырубить все кроме одной)
Код:
procedure TForm6.N6Click(Sender: TObject);
begin
while i<PageControl1.PageCount do
  begin
  pagecontrol1.Pages[i].Free;
  inc(i);
  end;
end;
hauk70 вне форума Ответить с цитированием
Старый 20.05.2012, 23:17   #23
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Вот)
Не уверен в удалении, так как не очень разбираюсь в удалении динамически созданных объектов.
Вложения
Тип файла: zip Unit1.zip (9.4 Кб, 8 просмотров)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 21.05.2012, 17:00   #24
hauk70
Пользователь
 
Регистрация: 06.05.2012
Сообщений: 22
По умолчанию

Ну чтож, спасибище огромное :3 сейчас всё буду пихать в свой редактор. но мне непонятно в
Код:
TRichEdit(PageControl1.ActivePage.Controls[0]).PasteFromClipboard;
что такое
Код:
Controls[0]
как я понял это из-за него не работало корректно :D
hauk70 вне форума Ответить с цитированием
Старый 21.05.2012, 17:11   #25
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

http://www.az-design.ru/index.shtml?...Delphi/D3/SB38
Как я понимаю, это массив всех vcl элементов, принадлежащих выбранному (могу и ошибаться ).
Так обращаться к richedit можно только если других компонентов в tabsheet не будет (иначе, наверное, придется перебирать все компоненты активной страницы в поиске richedit).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 21.05.2012, 20:29   #26
Zoomer123
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 33
По умолчанию

Создаешь цикл
Цикл ограничивается числом строк в мемо (memo1.lines.count)
Тело цикла: берешь первую [0] строку из мемо1, декодируешь ее, вписываешь в мемо2, удаляеешь из мемо1.цикл повторяется

Если что пиши icq 115557, покажу на примере
Zoomer123 вне форума Ответить с цитированием
Старый 22.05.2012, 18:22   #27
hauk70
Пользователь
 
Регистрация: 06.05.2012
Сообщений: 22
Радость

Zoomer123, если что, то проект уже завершен до своего логического конца :3
но мне все еще интересно его кое-как доработать, как заставить загружать *.тхт в поле (например мемо или ричедит) при перетаскивании файла мышкой в само поле =)

вот это чудо за которое я получил свой высший бал :О пароль "1"
Вложения
Тип файла: rar GreenCode.rar (2.16 Мб, 8 просмотров)
hauk70 вне форума Ответить с цитированием
Старый 22.05.2012, 18:33   #28
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

http://delphiworld.narod.ru/base/wm_dropfiles.html
Вот неплохая статейка.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка текста Memo fineleave Помощь студентам 4 11.06.2011 21:48
memo атрибут текста grom333 Помощь студентам 10 21.03.2010 20:34
Memo - обробка текста sv2311 Помощь студентам 0 25.04.2009 17:42
Вставка текста в memo Revan Общие вопросы Delphi 2 23.05.2008 17:45
В Memo сделать так, чтобы текст был разного цвета, разноцветный memo Artem Компоненты Delphi 3 07.09.2007 13:40