Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Delphi


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Сарумян
Статус: Практикант
Рейтинг: 777
∙ повысить рейтинг »
Jimhucksly
Статус: 5-й класс
Рейтинг: 594
∙ повысить рейтинг »
Тимошенко Дмитрий
Статус: Студент
Рейтинг: 391
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Номер выпуска:1418
Дата выхода:16.08.2009, 04:35
Администратор рассылки:Калашников О.А., Руководитель
Подписчиков / экспертов:564 / 199
Вопросов / ответов:1 / 3

Вопрос № 171222: Добрый день. У меня есть текстовый файл base.txt Записей в нем много. Но есть около 2500 тысяч строк с такой тематикой: ii('Кирилов А.Ю.',100,30,60,'3,0,2,0,2,0,0,0','600,0,300,0,300,0,0,0'); В них меняется толь...



Вопрос № 171222:

Добрый день.
У меня есть текстовый файл base.txt
Записей в нем много.
Но есть около 2500 тысяч строк с такой тематикой:
ii('Кирилов А.Ю.',100,30,60,'3,0,2,0,2,0,0,0','600,0,300,0,300,0,0,0');
В них меняется только Фамилия и числа, все знаки остаются на местах.
Помогите пожалуйста с процедурой, которая открывала бы этот файл.
И меняли все строки, пример написала выше, вот так:
Кирилов А.Ю 100,30,60,3,0,2,0,2,0,0,0,600,0,300,0,300,0,0,0
И после чего перезаписывала бы файл.

С Уважением, Анна

Отправлен: 11.08.2009, 04:30
Вопрос задал: Павлова Анна Николаевна, Посетитель
Всего ответов: 3
Страница вопроса »


Отвечает Дегтярев Антон Александрович, 4-й класс :
Здравствуйте, Павлова Анна Николаевна.

Я не знаю сколько это займёт времени, можно переделать на поток, но вот пример который вы просили
Я рекомендовал бы вынести преобразование строк в отдельные функции, но никто не запрещает писать в столбик.

Приложение:

Ответ отправил: Дегтярев Антон Александрович, 4-й класс
Ответ отправлен: 11.08.2009, 14:24

Оценка ответа: 5

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 253134 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает VolRus, 5-й класс :
    Здравствуйте, Павлова Анна Николаевна.

    Смотрите приложение.

    Редактирование ответа: процедура перенесена в приложение.
    -----
    ∙ Отредактировал: Зенченко Константин Николаевич, Модератор
    ∙ Дата редактирования: 11.08.2009, 15:41 (время московское)

    Приложение:

    Ответ отправил: VolRus, 5-й класс
    Ответ отправлен: 11.08.2009, 14:37

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 253135 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Gramy, 2-й класс :
    Здравствуйте, Павлова Анна Николаевна.

    Если внимательно присмотреться к тому, как должна быть модифицирована каждая строка, то легко заметить, что все изменения сводятся только к удалению отдельных символов, за исключением первой запятой, которую сдедует заменить на пробел. Поскольку исключаемые группы символов не могут присутствовать в результирующей строке, то можно не проверять их наличие и местоположение, а просто сразу пытаться заменить на пустую строку. Если бы не требовалось обрабатывать первую запятую отдельно, то, в принципе, можно было бы за один проход обработать весь файл как одну строку, воспользовавшись свойством Text (хотя это и нежелательно из-за затратности модификации длинных строк). Я не вижу причины удалять точку после "Ю", поэтому списываю это на опечатку. Если же такая необходимость действительно существует, от неё можно легко избавиться: развернуть строку с помощью ReverseString, удалить первое сочетание апостроф+точка, и развернуть обратно. Естественно, это нужно делать до удаления апострофов.

    Приложение:

    Ответ отправил: Gramy, 2-й класс
    Ответ отправлен: 13.08.2009, 03:07

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 253158 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.7 от 15.08.2009

    В избранное