Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (до версии 2009) - часть 6

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Man_Without_Face



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Открытие:
 
procedure TfrmMain.acOpenExecute(Sender: TObject);
begin
SysUtils.DecimalSeparator := '.';
if param = 0 then //0- OX отчеты, 1-Kx отчеты
begin
if OpenDialog1.Execute then
begin
SaveCursor := Screen.Cursor;
Screen.Cursor := crHourglass;
try
sXTR := OpenDialog1.Filename;
sXML := ExtractFile(sXTR); //Функция распаковки файла
except
Application.MessageBox('Ошибка при разархивировании файла!', 'Ошибка!', MB_OK+MB_ICONSTOP);
end;
XML := TXMLDocument.Create(nil);
XML.LoadFromXML(sXML);
XML.Active := true;
XML.Encoding := 'Windows-1251'; //Выставляю кодировку
XML.SaveToFile('C:\zx.xml');
//Настраиваю соединение с xml файлом
cdsHeader.Close;
XMLTransform1.SourceXmlFile := 'C:\zx.xml';
XMLTransform1.TransformationFile := 'OXtrans.xtr'; //Файл трансформации в датасет
cdsHeader.XMLData := XMLTransform1.data;
try
cdsHeader.Open;
//cdsHeader - Древовидная структура (датасет в датасете, поле fields)
cdsOX.Close;
cdsOX.Open;
except
Application.MessageBox('Ошибка при открытии файла!', 'Ошибка!', MB_OK+MB_ICONSTOP);
Screen.Cursor := SaveCursor;
end;
.......................................
 
Сохранение:
procedure TfrmMain.acSaveAsExecute(Sender: TObject);
begin
SaveDialog1.FileName := sXTR;
if SaveDialog1.Execute then
begin
SaveCursor := Screen.Cursor;
Screen.Cursor := crHourglass;
try
//Настраиваю соединение для записи в xml файл
XMLTransformProvider1.XMLDataFile := 'C:\zx.xml';
if param = 0 then
begin
XMLTransformProvider1.TransformRead.TransformationFile := 'OXtrans.xtr'; //Файл трансформации в датасет
XMLTransformProvider1.TransformWrite.TransformationFile := 'toxmlOX.xtr'; //Файл трансформации в xml
end
else
begin
XMLTransformProvider1.TransformRead.TransformationFile := 'KXtrans.xtr'; //Файл трансформации в датасет
XMLTransformProvider1.TransformWrite.TransformationFile := 'toxmlKX.xtr'; //Файл трансформации в xml
end;
cdsHeader.ApplyUpdates(-1); Ошибку при сохранении выдает вроде здесь
CompressFile('C:\zx.xml', SaveDialog1.FileName); //Сжимаю файл
Application.MessageBox('Сохранение прошло успешно', 'Сохранение', MB_OK);
except
Application.MessageBox('Ошибка при сохранении файла!', 'Ошибка!', MB_OK+MB_ICONSTOP);
Screen.Cursor := SaveCursor;
end;
Screen.Cursor := SaveCursor;
end
else;
end;

Всего записей: 381 | Зарегистр. 25-01-2010 | Отправлено: 17:47 15-09-2010
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (до версии 2009) - часть 6


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru