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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2009, 14:32   #1
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию Нужна рекомендация по организации программы

Здравствуйте.
Нужно сделать программу по типу DelphiWorld. Слева в окошке дерево объектов, справа RichEdit. При выборе элемента в дереве Какой-то определённый текст отображается в RichEdit'е.
Подскажите идеи по организации. Можно ли хранить большой текст в полях таблицы Access'а? Или лучше сделать хранение в файле. Просто нужны рекомендации...
Arkuz вне форума Ответить с цитированием
Старый 26.03.2009, 15:34   #2
Манжосов Денис :)
Участник клуба
 
Регистрация: 29.01.2008
Сообщений: 1,039
По умолчанию

Я делал похожую программу. Там данные хранил в текстовых файлах.
Манжосов Денис :) вне форума Ответить с цитированием
Старый 26.03.2009, 15:45   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Можно ли хранить большой текст в полях таблицы Access'а?
Конечно. Мемо - оно и в Африке мемо. Текстовые файлы? А при чем тут тогда ричэдит? Тогда - простой листбокс...
mihali4 вне форума Ответить с цитированием
Старый 26.03.2009, 18:07   #4
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Спасибо за рекомендации...

Цитата:
А при чем тут тогда ричэдит?
Да эт я просто написал... Можно что угодно...
Arkuz вне форума Ответить с цитированием
Старый 26.03.2009, 22:40   #5
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Подскажите а как реализовать сохранение в файл ветки дерева... А потом ещё и загрузка нужна при старте программы.
Нужно же соответсвие как-то сделать между веткой дерева и файлом. Ну в смысле из какого файла в какую ветку загружать. Это через ини файл сделать или как?
Принцип расскажите, пожалуйста...
Arkuz вне форума Ответить с цитированием
Старый 26.03.2009, 23:07   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Загружается в ветку не файл, а название вашего раздела.
Вот упрощенно.
Структура таблицы для самого дерева:
ID - идентификатор итема
ID_PAR - идентификатор родительского итема (ноль для корневых)
I_NAME - название итема
S_FILE - ссылка на идентификатор записи в мемо-таблице с основной информацией.

Последний раз редактировалось mihali4; 26.03.2009 в 23:09.
mihali4 вне форума Ответить с цитированием
Старый 26.03.2009, 23:46   #7
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Загружается в ветку не файл, а название вашего раздела.
Вот упрощенно.
Структура таблицы для самого дерева:
ID - идентификатор итема
ID_PAR - идентификатор родительского итема (ноль для корневых)
I_NAME - название итема
S_FILE - ссылка на идентификатор записи в мемо-таблице с основной информацией.
Я с файлами решил делать.... Получается, что я храню файл структуры дерева, а в этом файле уже все параметры ветки и ссылка на физический файл?
Arkuz вне форума Ответить с цитированием
Старый 27.03.2009, 15:03   #8
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Вот нашёл 2 процедурки сохранения и загрузки дерева...
Код:
procedure TmainForm.SaveTreeView;
var
  F:TFileStream;
begin
  F:=TFileStream.Create('TreeView.conf', fmCreate or fmShareCompat);
  try
    F.WriteComponent(TreeView1);
  finally
    F.Free;
  end;
end;

procedure TMainForm.LoadTreeView;
var
  F:TFileStream;
begin
  F:=TFileStream.Create('TreeView.conf', fmOpenRead or fmShareDenyWrite);
  try
    F.ReadComponent(TreeView1);
  finally
    F.Free;
  end;
end;
я вот только не пойму они сохраняют только структуру дерева или и данные, приявязанные к ветке (NewNode.Data)? Если данные тоже хранят, тогда получается нужно всего лишь в поле данных вписывать имя файла и всё... Или я не прав?
Arkuz вне форума Ответить с цитированием
Старый 27.03.2009, 17:29   #9
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Помогите кодом, пожалуйста....
Мне нужно посмотреть на реализацию механизма сохранения дерева с данными. Там же куча всего непонятного. У дерева указатель на данные... Эти данные нужно ввести и сохранить ветку вместе с данными... Через FileStream это можно реализовать?

Хотя, mihali4, мне понравилась ваша идея с таблицами... И мне она кажется проще. Но хотелось бы как-нибудь с файлами...
Arkuz вне форума Ответить с цитированием
Старый 27.03.2009, 17:31   #10
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Цитата:
Сообщение от Манжосов Денис :) Посмотреть сообщение
Я делал похожую программу. Там данные хранил в текстовых файлах.
А не могли бы вы исходник дать посмотреть?

Так, началось...
Что, кнопка "Правка" пропала?


Прошу прощения... Забыл я что-то про неё

Последний раз редактировалось Arkuz; 27.03.2009 в 20:35.
Arkuz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь в написании программы. DelphiMan Работа с сетью в Delphi 14 31.01.2009 23:19
нужна помощь - 2 программы в С++ Nemisoi Фриланс 1 22.04.2008 23:10