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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2014, 16:25   #31
Uliy
Пользователь
 
Регистрация: 24.07.2014
Сообщений: 38
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Ну и пишите, кто вам мешает-то Если не можете сами а очень надо, то на халявное изготовление ПО, надежды особой не питайте Заняться есть чем и без этого.

Есть раздел фриланса, напишут за милую душу хоть на BrainFuck'е.
Институт в котором я учусь мне них-на ничего не дает, я с горем пополам сделала выбор католога! я пытаюсь хоть как-то разобраться сама, но я не врубаюсь как и с помощью каких функций это осуществить, для этого я и спрашивала

Последний раз редактировалось Uliy; 12.08.2014 в 16:34.
Uliy вне форума Ответить с цитированием
Старый 12.08.2014, 17:15   #32
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Ваш TXT некий каталог перевода, список строк формата:
ID_<LOCALE_ID>: <Content>

Соответственно каталог надо разбить на части.
<LOCALE_ID>
<ID> <CONTENT>

Abr1_ru : один
abr1_en : one
abr2_ru : два
abr2_en: Two

Получается такой XML:
<lang locale="ru">
<Abr1>один</Abr1>
<Abr2>Два</Abr2>
</lang>
<lang locale="en">
<Abr1>one</Abr1>
<Abr2>Two</Abr2>
</lang>

Берете StringList, каждую строку разбиваете на
1. ID элемента(до знака _) т.е. получите Abr1,abr2
2. ID языка(после знака _), т.е. получите ru,en
3. Содержимое(все, что после знака : ) т.е. один,one,два,Two

Для этого изучайте сам TStringList класс, функции Copy, Pos, PosEx, Delete. Ссылочка "основы delphi" вверху. Все.

Далее читаете спецификацию формата TMX, чтоб знать какой должен быть правильноый структуры XML файл на выходе, и чтоб его употребил Trados.

в той же педивикии есть ссылки на описание формата, ссылку дал саша40.

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

Далее алгоритм такой(по примеру моего XML, спецификации TMX искать и читать мне влом):

Создаете XML
Читате TXT файл в StringList
<Цикл по строкам>
Выясняете ID для строки N
Выясняете Locale_ID для строки N
Выясняете Content для строки N

Если в XML.Root есть узел lang с атрибутом locale=Locale_ID, то используем его, иначе создаем его.
Внутри узла создаем ещё 1 узел с ID и содержимым Content
<конец>
Сохранение XML
закрытие TXT

Все. Код напишите сами
Человек_Борща вне форума Ответить с цитированием
Старый 12.08.2014, 17:35   #33
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

могу сказать следующее:
Считать файл можно с помошью TStringList. Поэтому тут и просили его выложить, чтоб понять как считывать.
По факту код мог выглядеть так:
Код:
With TStringList.Create do begin
 LoadFromfile('файл.txt');
 for i:=0 to count-1 do begin
  if copy(Strings[i],1,4)='Name' then это строка начинающаяся на Name
 end;
 free;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.08.2014, 18:48   #34
Uliy
Пользователь
 
Регистрация: 24.07.2014
Сообщений: 38
По умолчанию

Спасибо большое за помощь!
буду вникать и прочитаю материал по теме,что указали

Последний раз редактировалось Uliy; 12.08.2014 в 18:51.
Uliy вне форума Ответить с цитированием
Старый 13.08.2014, 10:04   #35
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Давай, если что спрашивай, но лучше файлы выкладывай в архиве, хоть нагляднее будет
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.08.2014, 10:56   #36
Uliy
Пользователь
 
Регистрация: 24.07.2014
Сообщений: 38
По умолчанию

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

http://www.programmersforum.ru/attac...1&d=1408517623
Вложения
Тип файла: rar Копия Konvertor.rar (206.9 Кб, 13 просмотров)
Uliy вне форума Ответить с цитированием
Старый 20.08.2014, 14:27   #37
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

файл нам нужен не сам по себе, а для (и при) формировании результирующего xml
поэтому загрузку переносим туда где он нам потребуется!
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
  Xml: TStringList;

var
  strok: TstringList;
// чтобы не "засорять" наглядность кода формирования xml пишем небольшую функцию 
  function GetfieldName(fname: string): string;
// получения нужного текста(result) по его имени (fname)
  begin
     result:='';//если нужная строка не будет найдена вернем пустую сторку
     for i:=0 to strok.count-1 do begin
       s:=strok.strings[i];
       if copy(s,1,4) =fname then //нужную строку по имени
         result:=copy(s,5,length(s)); //нужный кусок из этой строки
     end;
  end;

begin
   // читаем наш файл
   strok:=TstringList.Create;
  strok.LoadFromFile(edit1.text);
   // создаем объект
   Xml := TStringList. Create;
   // формируем документ
   Xml.Add ('<?xml version="1.0"?>');
....
   Xml.Add ('     <tuv xml:lang="EN-US" >');
   Xml.Add ('       <seg>'+GetFieldName('name_en')+' </seg>');  //поле name_en
   Xml.Add ('     </tuv>');
....
   Xml.Add ('</body >');
   Xml.Add ('</tmx >');
   Memo1.Text := XML.Text;
   // записываем
   Xml.SaveToFile ('C:\Отдел5\Конвектор\Example2.tmx');
   // освобождаем память
   FreeAndNil(Xml);
   strok.Free;
end;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 20.08.2014 в 14:36.
evg_m вне форума Ответить с цитированием
Старый 20.08.2014, 14:48   #38
Uliy
Пользователь
 
Регистрация: 24.07.2014
Сообщений: 38
По умолчанию

[QUOTE=evg_m;1406427]
Спасибо, попробую понять
Uliy вне форума Ответить с цитированием
Старый 20.08.2014, 15:34   #39
Uliy
Пользователь
 
Регистрация: 24.07.2014
Сообщений: 38
По умолчанию

[QUOTE=evg_m;1406427]

Последний раз редактировалось Uliy; 20.08.2014 в 16:01.
Uliy вне форума Ответить с цитированием
Старый 20.08.2014, 16:00   #40
Uliy
Пользователь
 
Регистрация: 24.07.2014
Сообщений: 38
По умолчанию

Все вроде дошло до меня спасибо большое!
Uliy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
pdf конвертор VAnj2607 Помощь студентам 6 01.05.2011 16:55
создать конвертор nurgali Помощь студентам 0 09.12.2010 09:57
Конвертор ZORRO2005 Microsoft Office Excel 16 26.05.2008 10:50
Конвертор Djarx БД в Delphi 14 27.04.2008 17:04
Конвертор IB в FB SunKnight БД в Delphi 1 29.03.2008 20:10