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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2010, 20:18   #1
orkus
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 34
Стрелка TreeView & WebBrowse, Делаем оболочку под лабы

Здравствуйте ))

Вот задали сделать оболочку под не большой набор лекций (по степенно будут добавляться изменяться) по этому будут храниться в html + к ним нужно сохранять путь к дополнительным файлам и еще не много инфы.

Вот взял за основу из книжки Флинова!


Но не могу до думать как схоронить : (


Код:

type
PnodeOptions=^nodeOptions;
nodeoptions=record
name :string[255];
surname:string[255];
addreess:string[255];
email:string[255];
end;

procedure TForm1.Button1Click(Sender: TObject);
var
nodename:string;
nodedata:PnodeOptions;
newnode:TTreeNode;
begin
if not inputquery('Новый элемент', 'Введите имя нового элемента', nodename ) then exit;

newnode:=treeView.Items.AddChild(treeView.Selected, nodename);

 //инцилацизация начальной структуры

 nodedata:=new(PnodeOptions);
 nodedata.name:='';
 nodedata.surname:='';
 nodedata.addreess:='';
 nodedata.email:='';



 newnode.Data:=nodeData;


end;

procedure TForm1.Button3Click(Sender: TObject);
begin
if treeView.Selected=nil then exit;


pnodeoptions(  treeView.Selected.Data).name:=edit1.Text;
pnodeoptions(  treeView.Selected.Data).surname:=edit2.Text;
pnodeoptions(  treeView.Selected.Data).addreess:=edit3.Text;
pnodeoptions(  treeView.Selected.Data).email:=edit4.Text;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if treeView.Selected=nil then exit;
 treeView.Selected.Delete;
end;

Побывал пере меные пере делывал но что то с List:TList; я не разобрался (


Код:
Type
  PnodeOptions=^nodeOptions;
  NodeOptions=record
   way:string; //<--
   typeK:integer;  
 end;

var
  List:TList;

Const
  ListFileName = 'ListFile.dat';
  
procedure TForm1.ButtonSaveClick(Sender: TObject);
Var
  I,L:Integer;
  Stream:TFileStream;
  Node:PnodeOptions;
begin
  Stream:=TFileStream.Create(ListFileName,fmCreate);
  Try
    For I:=0 To List.Count-1 Do 
{так как List.Count-1  толи не создан  толи\и не заполнен  }
    Begin
      Node:=PnodeOptions(List.Items[I]);
      L:=Length(Node.Way);
      Stream.Write(L,SizeOf(L));
      Stream.Write(PChar(Node.Way)^,L);
      Stream.Write(Node.TypeK,SizeOf(Node.TypeK));
    End;
  Finally
    Stream.Free;
  End;
end;

procedure TForm1.ButtonLoadClick(Sender: TObject);
Var
  I,L:Integer;
  Stream:TFileStream;
  Node:PnodeOptions;
begin
  Stream:=TFileStream.Create(ListFileName,fmOpenRead);
  Try
    While Stream.Position<>Stream.Size Do
    Begin
      New(Node);
      Stream.Read(L,SizeOf(L));
      SetLength(Node.Way,L);
      Stream.Read(Pointer(Node.Way)^,L);
      Stream.Read(Node.TypeK,SizeOf(Node.TypeK));
      List.Add(Node);
    End;
  Finally
    Stream.Free;
  End;
end;


Читал
http://www.programmersforum.ru/showthread.php?t=51041
http://www.programmersforum.ru/showthread.php?t=39076
http://www.programmersforum.ru/showthread.php?t=51541

Последний раз редактировалось orkus; 25.01.2010 в 20:48.
orkus вне форума Ответить с цитированием
Старый 25.01.2010, 21:47   #2
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию

Дерево попробуй создать вот так:
Код:
procedure TForm1.CreateTree;
var i, j: integer;
  Node, Node1: TTreeNode;
begin

 
  TreeView1.Items.BeginUpdate;
  TreeView1.Items.Clear;

  
  for i := 1 to 5 do
  begin
 
    node := TreeView1.Items.Add(nil,inttostr(i));

    for j := 1 to 6 do
    begin

      node1 := TreeView1.Items.AddChild(node, inttostr(j));

    end;

  end;

  TreeView1.Items.EndUpdate;
  TreeView1.Select(TreeView1.TopItem);


end;
где inttostr(i) и inttostr(j) текст ветвей. Надеюсь разберешься
delphi is my world
XPAiN вне форума Ответить с цитированием
Старый 26.01.2010, 04:26   #3
orkus
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 34
По умолчанию :(

Это понятно как эту структуру сохранить в файл? + у каждой ветки должны быть 2 стоки где будет храниться путь до странички и еще 1 путь

Вот 2 вопрос меня волнует
orkus вне форума Ответить с цитированием
Старый 26.01.2010, 15:30   #4
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию

чтобы это сделать с помощью обычного текстового в файла нужно изощряться сильно. Может база данных подойдет вместо файла?
delphi is my world
XPAiN вне форума Ответить с цитированием
Старый 26.01.2010, 16:21   #5
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Храните в XML, раньше уже выкладывал на форуме код хранения(загрузки) данных узлов, с сохранением древовидной структуры. Поищите.
Alter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TForm & TImage & PNG & Прозрачность delphi_beginner Общие вопросы Delphi 7 19.09.2009 08:46
Банкомат делаем.. Andrey_andrey Microsoft Office Access 1 24.05.2009 16:18
Как сделать графическую оболочку к программе? ЕвгениуS Помощь студентам 28 03.01.2009 17:32
Как сделать графическую оболочку& alexov Помощь студентам 3 03.01.2009 15:13
Как создать оболочку в стиле игромании? Stegoman Общие вопросы Delphi 1 06.08.2007 16:32