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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2009, 21:42   #1
DenisVoronov
Пользователь
 
Регистрация: 01.05.2009
Сообщений: 29
Вопрос Запись в файл с преобразованием

Доброго времени суток!
Подскажите как сделать такую программку, которая будет текстовый файл вида:
1234 Linkin Park - Crawling
1235 Linkin Park - papercut

Конвертировать в XML вида:
Код:
<mytable>
<id>1234</id> 
<name>Linkin Park - Crawling</name>
<param></param>
</mytable>

<mytable>
<id>1235</id>
<name>Linkin Park - papercut</name>
<param></param>
</mytable>
А в начале и в конце документа должно стоять <dataroot>....текст....</dataroot>
DenisVoronov вне форума Ответить с цитированием
Старый 04.05.2009, 21:51   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Читаете строку из файла.
Пишете в выходной файл <mytable>
Дальше идете до первого пробела (который за числом) и берете этот начальный кусок строки. Пишете <id>то, что вырвали</id>
Потом сбрасываете остальное: <name>остальное</name>
Ну и дальше, думаю, понятно.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 04.05.2009, 21:58   #3
DenisVoronov
Пользователь
 
Регистрация: 01.05.2009
Сообщений: 29
По умолчанию

ничего не понял... А есть может ссылочка на урок или пример?
DenisVoronov вне форума Ответить с цитированием
Старый 04.05.2009, 22:01   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
А есть может ссылочка на урок или пример?
На какой пример? Простая работа с файлами.
Еще может понадобиться функция copy.
Цитата:
ничего не понял..
Если вы действительно ничего не поняли, то вам пример не поможет.
Учите основы. Здесь нужны только они.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 05.05.2009, 00:19   #5
DenisVoronov
Пользователь
 
Регистрация: 01.05.2009
Сообщений: 29
По умолчанию

Дело в том, что есть очень много примеров в сети. И те кто этим занимаются, скорее всего знают где искать.
А начинать с основ нет времени. Если бы было, то не обращался за помощью.
DenisVoronov вне форума Ответить с цитированием
Старый 05.05.2009, 00:31   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Держите.
Код:
uses crt;

var
f,fout : text;
filename1,filename2 : string;
s : string;
k : integer;

begin
clrscr;
writeln('Enter name of input file: ');
readln(filename1);
assign(f,filename1);
{$I-}
reset(f);
{$I+}
if IOResult <>0 then
 begin
 writeln('File not exist');
 readln;
 exit;
 end;

writeln('Enter name of output file: ');
readln(filename2);
assign(fout,filename2);
rewrite(fout);

writeln(fout,'<dataroot>');

while not eof(f) do
 begin
 readln(f,s);
 writeln(fout,'<mytable>');
 k := pos(' ',s);
 writeln(fout,'<id>'+copy(s,1,k-1)+'</id>');
 writeln(fout,'<name>'+copy(s,k+1,length(s))+'</name>');
 writeln(fout,'<param></param>');
 writeln(fout,'</mytable>');
 end;

writeln(fout,'</dataroot>');
close(f);
close(fout);
writeln('Complete!');

readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 05.05.2009, 10:45   #7
DenisVoronov
Пользователь
 
Регистрация: 01.05.2009
Сообщений: 29
По умолчанию

От спасибо, от помощь))))))))))
Благодарен Вам!
DenisVoronov вне форума Ответить с цитированием
Старый 05.05.2009, 19:44   #8
DenisVoronov
Пользователь
 
Регистрация: 01.05.2009
Сообщений: 29
По умолчанию

Эт я так понял без форм и т.д.
Мне просто надо это сделать на нажание кнопки "Ок".
Т.е. чтобы вид был какой-то...
Помогите плз.
DenisVoronov вне форума Ответить с цитированием
Старый 05.05.2009, 19:48   #9
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ну запишите это в обработчик кнопки. Код будет практически тот же.
Только вместо assign, text, close будут assignfile, textfile, closefile.

Вообще-то, надо указывать язык заранее.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись в файл soonner Общие вопросы Delphi 5 21.03.2009 01:12
Запись в файл Lemo Помощь студентам 3 01.03.2009 19:06
Запись в файл Titan123 Общие вопросы Delphi 6 23.08.2008 01:12
Запись в файл |{ot Общие вопросы Delphi 6 05.07.2008 02:24
запись в файл Prisian Общие вопросы Delphi 6 24.07.2007 13:43