Deep2007
30-12-2009, 15:52
Есть 2 файла: 1.txt и 2.txt (оба - ANSI), лежащие в одной папке.
Пример содержимого файла 1.txt:
[TMainForm]
TabPages.0=Каталоги
TabPages.1=Категории
[STRINGS]
001=Неиспользованная кнопка
003=Ошибка при сохранении конфигурации
[TIPS]
001=...программа не бесплатна? Регистрируясь, вы помогаете автору в разработке новых версий программы, а также получаете доступ к использованию всех ее возможностей.
002=...вы можете настроить размер кнопок панели инструментов? Загляните в настройки и установите размер, более всего подходящий для вашего экрана.
[TLendingDisksForm]
NameLabel=На руках у /047 Взят у:
RadioAvailable=Доступен
Пример содержимого файла 2.txt (умышленно привел одинаковые строки):
[TMainForm]
TabPages.0=Catalogs
TabPages.1=Categories
[STRINGS]
001=Unused button
003=Error saving config
[TIPS]
001=...this program is not free? By registering, you will support the shareware concept and help the author to develop newer, more advanced versions. You will also receive a registration code to unlock the program to its full potential.
002=...you can adjust size of buttons in a toolbar. Have a look in the program settings and resize them to fit your screen best.
[TLendingDisksForm]
NameLabel=Lent to /047 Borrowed from:
RadioAvailable=Available
Как видно, в файлах есть секции (например - [TMainForm], [TLendingDisksForm]). Ее имя всегда в [ ], и начинается с новой строки. Выходит, что в имени секции первый символ в строке - [, последний - ].
В секциях есть строки (напимер - TabPages.0=Catalogs, TabPages.1=Categories). Они тоже начинаются с новой строки и все написаны без переносов (в 1 строке).
Нужно, чтобы файл .cmd (лежит в этой же папке) нашел совпадающие по левой части строки, (все, что до символа = ), и если такая строка в обоих файлах есть - заменил бы правую часть этой строки в файле 2.txt, правой частью этой строки из 1.txt. Если такой строки одновременно в 2-х файлах нет - ничего не делать.
Максимальная длина имени секции (без знаков [ ]) - 18 символов. В правой части строк также встречаются символы [ ], но они не стоят в начале строки. Последняя строка в конце каждой секции - всегда пустая.
Если можно - помогите с написанием такого файла. Самому не хватит ума.
Пример содержимого файла 1.txt:
[TMainForm]
TabPages.0=Каталоги
TabPages.1=Категории
[STRINGS]
001=Неиспользованная кнопка
003=Ошибка при сохранении конфигурации
[TIPS]
001=...программа не бесплатна? Регистрируясь, вы помогаете автору в разработке новых версий программы, а также получаете доступ к использованию всех ее возможностей.
002=...вы можете настроить размер кнопок панели инструментов? Загляните в настройки и установите размер, более всего подходящий для вашего экрана.
[TLendingDisksForm]
NameLabel=На руках у /047 Взят у:
RadioAvailable=Доступен
Пример содержимого файла 2.txt (умышленно привел одинаковые строки):
[TMainForm]
TabPages.0=Catalogs
TabPages.1=Categories
[STRINGS]
001=Unused button
003=Error saving config
[TIPS]
001=...this program is not free? By registering, you will support the shareware concept and help the author to develop newer, more advanced versions. You will also receive a registration code to unlock the program to its full potential.
002=...you can adjust size of buttons in a toolbar. Have a look in the program settings and resize them to fit your screen best.
[TLendingDisksForm]
NameLabel=Lent to /047 Borrowed from:
RadioAvailable=Available
Как видно, в файлах есть секции (например - [TMainForm], [TLendingDisksForm]). Ее имя всегда в [ ], и начинается с новой строки. Выходит, что в имени секции первый символ в строке - [, последний - ].
В секциях есть строки (напимер - TabPages.0=Catalogs, TabPages.1=Categories). Они тоже начинаются с новой строки и все написаны без переносов (в 1 строке).
Нужно, чтобы файл .cmd (лежит в этой же папке) нашел совпадающие по левой части строки, (все, что до символа = ), и если такая строка в обоих файлах есть - заменил бы правую часть этой строки в файле 2.txt, правой частью этой строки из 1.txt. Если такой строки одновременно в 2-х файлах нет - ничего не делать.
Максимальная длина имени секции (без знаков [ ]) - 18 символов. В правой части строк также встречаются символы [ ], но они не стоят в начале строки. Последняя строка в конце каждой секции - всегда пустая.
Если можно - помогите с написанием такого файла. Самому не хватит ума.