Я только что установил Delphi 7 для личного использования и пытаюсь преобразовать файл Delphi ClientDataSet в dfXMLUTF8. Все, что мне действительно нужно, это структура xml. Этот сайт предлагает запустить 4 строки кода будет генерировать желаемый результат. Обратите внимание, однако, что мой файл имеет формат .cds, а не .dat, как в примере. Я не знаю, имеет ли это значение.
ClientDataSet1.Active := false;
ClientDataSet1.CreateDataSet;
ClientDataSet1.LoadFromFile('MyBinaryFile.dat');
ClientDataSet1.SaveToFile('MyXMLFile.XML', dfXMLUTF8);
Я получаю сообщения об ошибках, и, поскольку я никогда раньше не пользовался Delphi, я надеюсь, что кто-то, кто знает, что он делает, может просто опубликовать для меня очень короткую структуру xml. Вот файл (486 байт), с которым я работаю. Я присуждаю правильный ответ первому автору с полным выводом dfXMLUTF8. Спасибо!
Обновление:
Хорошо, я только что начал проект с нуля, и я думаю, что у меня есть некоторые настройки. Я добавил uses DBClient;
, var ClientDataSet1: TClientDataSet
и, наконец, процедуру:
ClientDataSet1.LoadFromFile('C:\Documents and Settings\XPMUser\Desktop\DelphiCDS\Master.cds');
ClientDataSet1.SaveToFile('C:\Documents and Settings\XPMUser\Desktop\DelphiCDS\output.XML', dfXMLUTF8);
Выдает следующую ошибку:
Нарушение прав доступа по адресу 004588B6 в модуле Project.exe. Чтение адреса 00000000.
Обновление 2:
Вот что у меня получилось:
unit Script3;
interface
uses
Forms, DBClient;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
CDS: TClientDataSet;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
CDS := TClientDataSet.Create(nil);
try
CDS.LoadFromFile('.\input.cds');
CDS.SaveToFile('.\output.xml', dfXMLUTF8);
finally
CDS.Free;
end;
end;
end.
TClientDataSet
в моем ответе ниже. Если вы получаете это нарушение прав доступа, вы не используете код, который я разместил. Пожалуйста, прочтите еще раз; вы, видимо, пропустили частиCDS := TClientDataSet.Create(nil)
иCDS.Free;
. - person Ken White   schedule 20.11.2012