Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.02.2009, 17:17
4EJIOBEK 4EJIOBEK вне форума
Прохожий
 
Регистрация: 13.12.2007
Адрес: Днепропетровск
Сообщения: 19
Репутация: 10
Восклицание Помогите с XML

Доброго времени суток)
Пытаюсь создать программу для создания графов по типу Drag-and-drop ))
Все вершины запоминаются в массиве.
Хочу подключить БД как замену. Да и сохранять\загружать старые работы можно будет...

ADO - Надо установленный MSOffice
BDE & dbExpress - наслышан о ненадежности

Решил использовать XML...Но..
Не могу найти толкового объяснения как с ним работать.
Надо:
1) Создание самого XML файла (Чтобы программа создавала)
2) Создание таблицы
(№ элем. , положение по Х, положение по Y, тип (ребро, вершина и тд)
3) При создании нового элемента создавалась новая строка в таблице.
4) Считывание данных с таблицы.
5) Запись данных в таблицу.


Кто чем может... ПЛИЗ! ПОМОГИТЕ!
Ответить с цитированием
  #2  
Старый 16.02.2009, 17:34
Grunch Grunch вне форума
Новичок
 
Регистрация: 08.04.2008
Адрес: Краснодар
Сообщения: 52
Репутация: 10
По умолчанию

ADO и MSOffice никак не связаны.
Я для работы с XML использую класс NativeXML (где брал не помню). Удобный, простой, функциональный. Для поставленной задачи хватит с запасом. Попробуй найти, посмотреть, если что будет непонятно - спрашивай.
Ответить с цитированием
  #3  
Старый 16.02.2009, 18:24
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,035
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. Есть стандартный компонент TXMLDocument - обертка над MS'овским.
2. Для работы с БД можно вытащить (найти) какой-нить компонент для работы, например, с dbf. Поищи на www.torry.ru.
3. Ну а что тебе мешает просто сохранять массив в типизированный файл, а потом читать из него?
Ответить с цитированием
  #4  
Старый 16.02.2009, 22:40
4EJIOBEK 4EJIOBEK вне форума
Прохожий
 
Регистрация: 13.12.2007
Адрес: Днепропетровск
Сообщения: 19
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
3. Ну а что тебе мешает просто сохранять массив в типизированный файл, а потом читать из него?

Хмм... типизированый файл? А так мона?
Мона инструкцию как в него сохранять и считывать? (Ведь это же массив)
Ответить с цитированием
  #5  
Старый 16.02.2009, 23:44
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,035
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Да все просто.
Для начала делаешь запись для своих данных.

Код:
type
  TGraf = record
    No : Integer;
    X, Y : Integer;
    Edge : Integer;
  end;

Далее - в массиве держишь именно эти записи, т.е.:

Код:
var
  AGraf : Array Of TGraf;

Ну а сохранение и чтение через File Of:
Код:
procedure SaveGraf(AFileName : String);
var
  F : File Of TGraf;
  I : Integer;
begin
  AssignFile(F,AFileName);
  Rewrite(F);
  For I := Low(AGraf) To High(AGraf) Do Write(F,AGraf[i]);
  CloseFile(F);
end;

procedure LoadGraf(AFileName : String);
var
  F : File Of TGraf;
begin
  SetLength(AGraf,0);
  AssignFile(F,AFileName);
  Reset(F);
  While Not EOF(F) Do
    Begin
      SetLength(AGraf,Length(AGraf)+1);
      Read(F,AGraf[High(AGraf)]);
    End;
  CloseFile(F);
end;

Что-то типа так. Мог немного напутать с именами процедур, типа не Rewrite, а RewriteFile. В свое время их имена менялись, а с тех пор таким методом давно не пользовался...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:36.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter