Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Ответ
 
Опции темы
Старый 09.10.2010, 22:37   #1
Marsel737
Участник клуба
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
Репутация: 110
По умолчанию Связать TreeView с текстовыми файлами

Всем доброго времени суток.

Хочу при клике по пункту дерева загружать опрееделённый текстовый файл, но вот такой код не работает:

Код:

procedure TfrmMain.tvNavigationChange(Sender: TObject; Node: TTreeNode);
var
  CrPath: string;
begin
  case tvNavigation.Selected.AbsoluteIndex of
    0:
      FPath := 'a';
    1:
      FPath := 'b';
    16:
      FPath := 'c';
  end;
  CrPath := ExtractFilePath(Application.ExeName) + 'Data\' + FPath + '\' +
    IntToStr(tvNavigation.Selected.Index) + '\Description.txt';
  if FileExists(CrPath) then
    memDescription.Lines.LoadFromFile(CrPath);
end;

Т.е. сначала я хочу определить какой именно пункт открыт, а потом какой подункт, структура будет только двухуровневая
__________________
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума   Ответить с цитированием
Старый 09.10.2010, 23:11   #2
spamer
Software Developer
Профессионал
 
Аватар для spamer
 
Регистрация: 19.12.2008
Адрес: Ukraine, Kremenchug
Сообщений: 2,075
Репутация: 1142

skype: denis.piskunov.ua
По умолчанию

Если правильно понял, хотя не факт, то вроде вот так:
Код:

procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
var
  APath: string;
begin
  case Node.Index {SelectedIndex} of
    0: APath := 'C:\t1.txt';
    1: APath := 'C:\t2.txt';
    2: APath := 'C:\t3.txt';
  end;
  if APath <> '' then
  Memo1.Lines.LoadFromFile(APath);
end;

Если говорите структура 2х двухуровневая, то тогда скорее всего так:
Код:

procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
var
  APath: string;
begin
  case Node.SelectedIndex of
    11: APath := 'C:\t1.txt';
    22: APath := 'C:\t2.txt';
    33: APath := 'C:\t3.txt';
  end;
  if APath <> '' then
  Memo1.Lines.LoadFromFile(APath);
end;

__________________
Будь проще и люди к тебе потянутся

Последний раз редактировалось spamer; 09.10.2010 в 23:21.
spamer вне форума   Ответить с цитированием
Старый 10.10.2010, 11:30   #3
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,957
Репутация: 6832
По умолчанию

Цитата:
какой именно пункт открыт
А не проще ли связать ветки с именами файла?
Допустим есть TStringList с именами файла. Тогда а поле Data веток записывай индекс строки в этом Листе, и у тебя будет связка.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с текстовыми файлами melkaya19 Помощь студентам 3 21.06.2010 11:30
обьясните как связать TreeView и WebBrowser Above_men Помощь студентам 5 30.04.2010 14:41
работа с текстовыми файлами metallldoctor Помощь студентам 0 10.01.2010 16:28
Паскаль_работа с текстовыми файлами Hikari Помощь студентам 5 10.01.2010 11:10
Связать TreeView с Panel Tagroth Компоненты Delphi 6 10.04.2009 23:46


09:28.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru