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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2009, 13:28   #1
Flame_of_Death
Пользователь
 
Регистрация: 09.07.2009
Сообщений: 22
По умолчанию Delphi 7, удалить символ в конце файла

Доброго времени суток, уважаемые программеры! =)
См. вложение.
Читаю файл построчно циклом с условием EOF, в конце файла стоит символ выделенный красным в приложении, как его удалить из файла... Причем проверить на этот символ необходимо строку до выполнения других операций в теле цикла...
Изображения
Тип файла: jpg simvol.jpg (82.0 Кб, 141 просмотров)
Flame_of_Death вне форума Ответить с цитированием
Старый 21.07.2009, 14:04   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

так если он в конце то Delete удалит
а проверка обычный if s[Length(s)]=символ then
правда я немного непонял этого
Цитата:
выделенный красным в приложении
какой символ?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.07.2009, 16:08   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

это код 12 - перевода страницы при печати
а проверить очень легко:
Код:
... 
  Readln(f, s);
  if Pos(#12,s) > 0 then delete(s,Pos(#12,s),1);
  ... дальше Ваш код
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.07.2009, 05:43   #4
Flame_of_Death
Пользователь
 
Регистрация: 09.07.2009
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
это код 12 - перевода страницы при печати....
Попробовал данный код, не прошло...
Вероятно если файл DOS формата, но а тут кодировка WIN
Попытка взять в формате chr(12) так же не привела к успеху...

Последний раз редактировалось Flame_of_Death; 22.07.2009 в 06:00.
Flame_of_Death вне форума Ответить с цитированием
Старый 22.07.2009, 07:27   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

кодировка тут не при чём - все символы с кодами < 0x80 кодируются одинаково ВО ВСЕХ кодировках (ну, если не брать unicode, конечно )

приведите примерчик кода, которым читаете файл в цикле (а ещё лучше, сделайте новый небольшой отдельный проект и выложите его код здесь. Может Вы для чтения используете какой-то специфический компонент... )
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.08.2009, 06:32   #6
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Flame_of_Death
Воспользуйся функцией:
SetEndOfFile

Функция делает текущую позицию файла концом файла. Если тебе нужно сократить размер файла, то вызови эту функцию, установи курсор в необходимую позицию и вызови эту функцию.
VintProg вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как из delphi вставить символ в word? Sony Общие вопросы Delphi 10 04.09.2014 19:51
В заданном предложении удалить символ perojenko Помощь студентам 2 16.12.2010 22:55
как удалить из файла символ? evgenrpo Общие вопросы C/C++ 2 04.06.2009 22:35
Программа записывающая в начало файла какой-либо символ M1ham Общие вопросы C/C++ 6 31.03.2009 08:32
Как получить символ?(Delphi) The_Darkness Помощь студентам 3 18.07.2008 08:36