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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2009, 10:09   #1
Artishok
 
Регистрация: 12.11.2008
Сообщений: 6
По умолчанию Замена текстового файла

Здравствуйте, уважаемые форумчане!

У меня такой вопрос, в котором, я надеюсь, Вы мне поможете.

У меня в программе ПРИ КЛИКЕ Button сохраняется html - страница в txt - формате с помощью процедуры DownloadFile:

DownloadFile('URL страницы', 'C:/2.txt');

Где 2.txt - это новый файл. Как организовать так, чтобы при очередном клике файл 2.txt переименовывался в 1.txt а вновь сохраненный (новый) текстовый файл стал 2.txt?

И так какждый раз при каждом клике на Button

Если есть вопросы - отвечу. Помогите, пожалуйста
Artishok вне форума Ответить с цитированием
Старый 25.10.2009, 10:16   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

RenameFile
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 25.10.2009, 10:31   #3
Artishok
 
Регистрация: 12.11.2008
Сообщений: 6
По умолчанию

Спасибо. Что-то не додумался. Сделал

Люди добрые, помогите.
Еще вопрос:
после выполнения
DownloadFile('URL страницы', 'C:/2.txt'); файл 2.txt создается в кодировке UTF.

Там среди всего прочего есть строка Заработано: 1 000 000 рублей

Можно ли организовать поиск в этом файле(с кодировкой UTF)/ Мне нужно вытащить цифру 1 000 000 (поиск между "Заработано:" и "рублей"), при этом удалив пробелы (но это я потом сам наверное сделаю) и присвоив 1000000 в переменную.

Подскажите, намекните дураку, пожалуйста

Последний раз редактировалось Stilet; 26.10.2009 в 09:34.
Artishok вне форума Ответить с цитированием
Старый 25.10.2009, 13:14   #4
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Можно применить функцию UTF8ToAnsi(), а потом искать стандартными методами.
Т.е. загони текст из файла, например в StringList, а потом
Код:
SL.Text := UTF8ToAnsi(SL.Text);
// тут SL:TStringList;
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 25.10.2009, 13:42   #5
Artishok
 
Регистрация: 12.11.2008
Сообщений: 6
По умолчанию

Kotofff, спасибо.

А как вытащить миллион?

Те комманды, что знаю, ищут только с какого-то символа, а мне еще надо до какого-то
Artishok вне форума Ответить с цитированием
Старый 25.10.2009, 13:51   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Pos`ом10букв
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 25.10.2009, 13:53   #7
Artishok
 
Регистрация: 12.11.2008
Сообщений: 6
По умолчанию

Alex Cones, в текстовом файле и может быть 5 цифр, и 15. Но всегда статично между "Заработано:" и "рублей"
Artishok вне форума Ответить с цитированием
Старый 25.10.2009, 13:54   #8
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

10букв - это для форума, он не дупускает сообщения, короче 10-ти букв.
Pos('уже заработано',Sl.Text)
Отсюда скачите
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 25.10.2009, 13:58   #9
Artishok
 
Регистрация: 12.11.2008
Сообщений: 6
По умолчанию

А до какога правого предела искать будет? Я ведь сам не знаю?

Или Вы предлагается через цикл? Типа считывать символы с 'уже заработано' до тех пор, пока не наткнемся на 'рублей'? Подскажите, пожалуйста...
Artishok вне форума Ответить с цитированием
Старый 25.10.2009, 14:29   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

пробуй:
Код:
Zarabotok := 0;
p := Pos('Заработано:',s);
if p>0 then begin
   sTemp := Trim(Copy(s, p+Length('Заработано:'), 
                              Length(s)-(p+Length('Заработано:'))+1));
  // теперь в sTemp строка начинающая с цифр...
  
  if Pos('рублей', sTemp)>1 then
    Zarabotok := StrToInt(
            StringReplace(Copy(sTemp, 1, Pos('рублей', sTemp)-1),' ','',[rfReplaceAll]));
end;
если числа заработка могут быть вещественными (с дробной частью),
тогда надо решить, что является разделителем дробной части и StToInt() заменить на StrToFloat()

Последний раз редактировалось Serge_Bliznykov; 25.10.2009 в 14:34.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
считывание с текстового файла ciaonataha Помощь студентам 0 20.04.2009 12:09
Шифрование текстового файла pomoshnic Паскаль, Turbo Pascal, PascalABC.NET 5 14.02.2009 18:21
Мониторинг текстового файла zander Microsoft Office Excel 20 14.02.2009 01:34
Ввод из текстового файла bygoga Паскаль, Turbo Pascal, PascalABC.NET 14 23.11.2008 13:37
Открытие текстового файла Victor Microsoft Office Excel 2 16.01.2008 03:42