![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| RinOS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 10.9.2006 Репутация: нет Всего: нет |
Здравствуйте у меня вопрос нужно открыть файл и на 7 стороке в начале добавить слово при этом чтобы оставшаяся запись не изменилась. И как удалить первые 10 символов из строки.
|
|||
|
||||
| Yanis |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
RinOS
А ты TStringList пробовал? Там всё есть, что тебе нужно. Вот так например добавить строку:
А вот удалить сразу из строки несколько символов не получится, но можно сделать так:
Это сообщение отредактировал(а) Yanis - 11.9.2006, 18:00 |
||||
|
|||||
| Coder |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 13.12.2004 Репутация: 5 Всего: 11 |
а как же стандартная паскалевская пароцедура delete(); |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Работает прекрасно, просто Yanis, про нее забыл
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Её нельзя применить к property. Если бы Сказав, что Я подразумевал, что нельзя применить delete к sl.strings[0]. Я думал, что это будет ясно из моих слов P. S. слово "сразу" читай как "непосредственно". Это сообщение отредактировал(а) Yanis - 12.9.2006, 09:06 |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Romikgy
Неплохо |
|||
|
||||
| Matematik |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
А что будет если строка меньше 10 символов? |
||||
|
|||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Romikgy, этот код только выглядит просто, внутренняя реализация будет не проще, а что касается наглядности и защиты от ошибок вообще кошмар. Правельно говрорит Matematik если речь пойдет о универсальном применении или надо будетнапример удалить не с первого, а с 3-го, что теперь код переписывать. Такие сомнительные трюки это плохой стиль программирования.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Romikgy |
|
||||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
А здесь что будет если строка будет меньше 10 символов?
ну насчет внутреней реализации я бы не говорил , что она будет сложнее чем выше представленое! про ошибки никто не спрашивал, а спросили см. сабж, я ответил , да еще ответил после 2 вариантов, не мной предложеных, и автор не определил , что надо делать если будет строка менее 10 символов!
как была поставлена задача такой ответ я и дал, была бы фраза о том что с 3 символа , я бы вообще не писал! В чем их сомнительность? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||||||
|
|||||||
| Teran |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 590 Регистрация: 9.9.2005 Где: Украина, Запорожь е Репутация: нет Всего: 3 |
s='' и никаких ошибок Это сообщение отредактировал(а) Teran - 12.9.2006, 13:05 -------------------- Ни цего не понимаю |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
гуд тогда так
нормально ? Это сообщение отредактировал(а) Romikgy - 12.9.2006, 13:15 -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Alexeis |
|
||||||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
По функции Copy
По функции delete
Что произойдет при предложеном тобой варианте неизвестно, поскольку зависит от содержимого памяти после строки.
У меня есть серьезные опасения, что после конвертирования строки в PChar, стандартный механизм управления памятью строк перестает работать и память 10 символов останется неосвобожденной, конвертироване назад в String, приведет к полному копированию всей строки в новую область памяти. Вот такая получается непростая реализация. На счет сомнительности надеюсь теперь понятно. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||||
|
|||||||
| Romikgy |
|
||||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
Добавлено @ 13:19
работает -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||||||
|
|||||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
ну и где освобождение памяти 10 элементов?
Это сообщение отредактировал(а) alexeis1 - 12.9.2006, 13:25 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |