PDA

Показать полную графическую версию : [решено] FoxPro 2.6 Замена фрагментов текста в txt-файле


Pashka
15-01-2010, 16:28
Всем привет!

Есть txt-файл, в котором встречаются даты (годмесяцдень). Мне нужно эти даты заменить на другие и оставить файл под старым именем.
Подскажите, пжт, как это сделать.

Заранее благодарен всем, кто откликнется!

lxa85
15-01-2010, 16:41
Pashka, какими средствами программирования вы владеете?
Может проще будет написать самому?
Просто сам собой напрашивается некий скрипт. Только надо сделать так, чтобы в дальнейшем вы смогли его адаптировать под дальнейшие нужды.

Pashka
15-01-2010, 16:48
Чуть-чуть пишу на фоксе-дос. Я не знаю как перебрать эти даты в файле (читать построчно или сразу можно весь файл) и их заменить на другие. REPLACE не получается :(

lxa85
15-01-2010, 17:26
Pashka, тогда более точно нужно знать формат строки, и диапазоны изменяемых дат.

Pashka
15-01-2010, 18:05
содержимое файла примерно такое:

????????????????????????????20100115??????????????????????
???????????????????? ??201001152010011520100115??????????? ?????????????????????? ...
???????????????????? ??201001152010011520100115??????????? ?????????????????????? ...
???????????????????? ??201001152010011520100115??????????? ?????????????????????? ...
???????????????????? ??201001152010011520100115??????????? ?????????????????????? ...

и все эти даты мне нужно заменить на дату 20100117

ganselo
15-01-2010, 22:39
Pashka, Используйте какой нибудь текстовый редактор(если конечно диапазон дат не меняется) . Там есть функция "Найти и заменить".

alex77755
16-01-2010, 00:54
REPLACE не получается
??
На форме RichTextBox1 с сылкой на файл и два тксбокса. Всё меняется

Форма1.RichTextBox1.Text = Replace(Форма1.RichTextBox1.Text, Форма1.Текст1.Text, Форма1.Текст2.Text)
потом только сохранить

А объём файла большой?
и так можно
Dim File As String, CF As String

File = "D:\КиРпИчИ\Задания\Замена\1.txt"
Open File For Binary As #1
CF = Input(FileLen(File), 1)
Close #1
Debug.Print CF
CF = Replace(CF, "20100115", "20100117")
Debug.Print
Debug.Print CF
File = "D:\КиРпИчИ\Задания\Замена\2.txt"
Open File For Output As #1
Print #1, CF
Close #1
End Sub

Pashka
18-01-2010, 19:20
Всем большое спасибо! Проблемку решил с помощью функции STRTRAN. Оказалось все легко и просто.




© OSzone.net 2001-2012