Возврат каретки в delphi

Сегодня:
000

Последние:
— 02.04, 13:45 / #6688
— 29.03, 23:32 / #6682
— 30 апреля 2012

Сейчас онлайн:
На сайте — 9
На IRC-канале — 2

Что такое #13#10?

Источник: delphi.about.com
Оригинал статьи: http://delphi.about.com/od/adptips2005/qt/crlf.htm
Перевод: Ерёмин Андрей

Несомненно, вы много раз видели в Delphi-коде нечто «#13#10«. Если вы не знаете, что это такое и каждый раз удивляетесь, то здесь вы узнаете ответ.

Тип данных string представляет собой совокупность одного или нескольких символов, каждый из которых записывается в виде символа «#» и числа от 0 до 255 (в десятичной или шестнадцатеричной форме) — каждая такая комбинация обозначает соответствующий ASCII-символ.

К примеру, если вы хотите сделать текст (Caption) элемента TLabel в две строки, то это можно сделать следующим образом:

Комбинация «#13#10» — это комбинация возврата каретки и символа новой строки. «#13» — это ASCII-эквивалент значения CR (carriage return — возврат каретки); «#10» представляет собой LF (line feed — признак новой строки).

Также наиболее интересными управляющими символами являются:
#0 — NULL-символ (нулевой);
#9 — (символ табуляции).

Перевод — Ерёмин Андрей

Статья добавлена: 10 марта 2007

Зарегистрируйтесь/авторизируйтесь,
чтобы оценивать статьи.

Статьи, похожие по тематике

Для вставки ссылки на данную статью на другом сайте используйте следующий HTML-код:

Ссылка для форумов (BBCode):

Быстрая вставка ссылки на статью в сообщениях на сайте:
<> (буква a — латинская) — только адрес статьи (URL);
<<статья:25>> — полноценная HTML-ссылка на статью (текст ссылки — название статьи).

www.delphi.int.ru

Возврат каретки в delphi

Откуда:
Сообщений: 165

Вот такой текст

Никак не могу отловить возврат каретки. Попытался пробежаться по item, но в них уже чистый текст, без всяких кодов.
Вот текст. леплю строку из содержимого , но в итоге идет получаем сплошную строку

пытался поймать, тоже не получилось.

Как найти возврат каретки? может другой какой способ есть , связанный со стилями?

А с какой целью пытаешся «поймать» #13 ?

Откуда: Санкт-Петербург
Сообщений: 202

Откуда: Санкт-Петербург
Сообщений: 202

Откуда:
Сообщений: 165

Откуда: Санкт-Петербург
Сообщений: 202

Откуда:
Сообщений: 165

выдает элемент, а не абзац. Элементов в абзаце может быть до бесконечности. Достаточно поменять у символа стиль, это уже другой элемент.

Откуда: Санкт-Петербург
Сообщений: 202

Откуда: Санкт-Петербург
Сообщений: 202

Откуда:
Сообщений: 165

Нет их там . Не ловятся.
Вот строчка из исходников которые приведены выше

Может я что-то не так делаю?

Откуда: Санкт-Петербург
Сообщений: 202

Откуда:
Сообщений: 165

Добавил в редактор TRichViewEdit этот текст

Когда сформировал строку, то получил вот такой текст

Никаких возвратов каретки не наблюдается.

Откуда: Санкт-Петербург
Сообщений: 202

Не могу судить про компонент TRichViewEdit, — у меня его нет (у меня Д7). Проверял в компоненте TRichEdit (вкладка Win32).
У него при WordWrap = true происходит автоперенос строк, и Lines.Count > 2. Но Lines[i] — не единственный метод доступа к тексту компонента.
Вставил 2 Ваших строки, сжал окно так, что они превратились в 10, но получил на выходе только 2 исходных.
Цикл — простой:

Где взял st — Ctrl+пробел в помощь.
Удачи.

Откуда: Санкт-Петербург
Сообщений: 202

Откуда: Санкт-Петербург
Сообщений: 23981

5 минут потратил на ковыряние выложенного хелпа.

Но проверить не на чем.

Откуда: Санкт-Петербург
Сообщений: 23981

Там есть функция GetAllText, которая и выдает голый текст с разделением на параграфы с помощью перевода строки.

Откуда: Санкт-Петербург
Сообщений: 202

Откуда:
Сообщений: 165

Не надо быть таким злым. Когда помогаю другим по Ораклу и Яве , то стараюсь разобраться в проблеме и помочь от и до.

5 минут потратил на ковыряние выложенного хелпа.

Но проверить не на чем.[/quot]

Откуда:
Сообщений: 165

Частично помогло, за одним исключением
1. GetAllText выдает весь текст, при этом таблицы преобразовывает из горизонтальных, в вертикальные столбики
2. GetRVDataText — тоже самое
3. GetCurrentLineText — выдает часть строки, от начала, до того места где стоит курсор. По идее можно двигать курсор до конца строки, а потом передвигать на следующую строку, но это немного извратом попахивает

Купил компоненту.
Решение проблемы такое

www.sql.ru

Возврат каретки в delphi

Откуда:
Сообщений: 2761

Составляю с помощью MAPI письмо. Отображается так:

Но почему то при отправке письма, «символы перевода каретки» теряются. И письмо уходит такое:

У кого какие идеи?
Делал и #13, и #10, и #13#10 — результат один!

Откуда: دولة اسرا&#1
Сообщений: 5414
Блог

Откуда:
Сообщений: 2761

обычный текст
если переделать в HTML — уходит нормально
а если обратно в текстовый — то теряет

Откуда: دولة اسرا&#1
Сообщений: 5414
Блог

Откуда: Нижний Новгород
Сообщений: 5913

Откуда: دولة اسرا&#1
Сообщений: 5414
Блог

Откуда: Нижний Новгород
Сообщений: 5913

Feg16, ну а меня простой вызов через ShellExecute команды

с многострочным текстом в теле сообщения на разных компах и разных почтовых клиентах убедил в том, о чём я написал выше

Откуда: دولة اسرا&#1
Сообщений: 5414
Блог

Воот. Почтовые клиенты. Именно они рандомят в RFC. TheBat, если не видит #10#13#10#13 после отправки заголовков, тупо не читает письмо, хотя пара остальных читала на отлично.

ps. письма на почту так и не получил.

Откуда: دولة اسرا&#1
Сообщений: 5414
Блог

Откуда: Нижний Новгород
Сообщений: 5913

Откуда: دولة اسرا&#1
Сообщений: 5414
Блог

То есть отправка полноценного письма, зашитого в одну строку

Откуда:
Сообщений: 62926

Откуда: دولة اسرا&#1
Сообщений: 5414
Блог

Откуда: Нижний Новгород
Сообщений: 5913

Откуда:
Сообщений: 2761

> Отправь тестовое письмо на [email protected] письмо, скажу в чем прикол.

Откуда: دولة اسرا&#1
Сообщений: 5414
Блог

Откуда:
Сообщений: 2761

Отправляю письмо
Outlook Express его отображает правильно. Web-интерфейс его отображает правильно.
А вот сам Microsoft Office Outlook 2003, из которого происходит отправление — неправильно. Причём уже после отправления (в отправленных и полученных). В режиме редактирования (перед отправкой) всё отражается правилно

у кого какие идеи ?

Откуда:
Сообщений: 2761

Удалось локализовать проблему

1) Захожу в
2) Жму «Создать»
3) Меняю Формат -> «Обычный текст»
4) Копипаст

5) ввожу кому, тема, отправляю

В отправленных и полученных — теряются символы возврата каретки

www.sql.ru

Возврат каретки в delphi

, или ты так, философствующий теоретик, и тебя практика мало волнует? Ну, так попробуй, и убедись, что выведено будет не то, что хотел автор:

необходимо, чтобы вывелось:
Цитата

, а нечто совсем другое (а именно — слово world затрет напрочь слово hello). Еще вопросы будут?

Это сообщение отредактировал(а) volvo877 — 26.10.2008, 23:35

Шустрый

Профиль
Группа: Участник
Сообщений: 60
Регистрация: 19.10.2007
Где: Vyksa

Репутация: 1
Всего: 1

Эксперт

Профиль
Группа: Завсегдатай
Сообщений: 1260
Регистрация: 19.6.2006
Где: СПб

Репутация: 13
Всего: 23

Ajaxy

Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: нет
Всего: 78

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!

  • Название темы должно отражать её суть! (Не следует добавлять туда слова «помогите», «срочно» и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например «школьная задача», «задача из учебника» и т.п.), не нужно указывать ее сложность («простая задача», «легкий вопрос» и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку «Код»). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик — один вопрос!
  • В данном разделе запрещено поднимать темы , т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой «Пометить как решённый», которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

forum.vingrad.ru

Смотрите так же:

  • Торрент трекер правила Торрент трекер правила Золотые Правила на RED следующие: Не создавайте более одного аккаунта.Один человек – один аккаунт. Не создавайте дополнительных аккаунтов ни под каким предлогом. Если ваш аккаунт не работает, свяжитесь с […]
  • Нотариус липецк часы работы Нотариус г. Липецка Разумова Ирина Александровна Лицензия на право нотариальной деятельности № 001807, выдана Управлением Министерства Юстиции РФ по Липецкой области 26 января 2004 года. Приказ № 60 от 15 марта 2004 года. Полис […]
  • Перечень сводов правил к фз-123 Перечень сводов правил к фз-123 Перечень национальных стандартов и правил Постановление Правительства РФ №1521 от 26.12.2014 г. «Об утверждении перечня национальных стандартов и сводов правил (частей таких стандартов и сводов правил), […]
  • Азбука пособие для детей 3 лет Дидактическое пособие «Азбука из фетра» Елена Парфенова Дидактическое пособие «Азбука из фетра» Азбука из фетра. (дидактический материал для развития речи и обучению детей чтению) Как научить ребенка читать? Как выучить с ним буквы? Что […]
  • Увольнения для солдат Что такое увольнение в армии У слова увольнение в армии есть два значения: 1. Это увольнительная из армии на один день в город: то есть «до вечерней поверки» или до определенного времени которое Вам установил командир 2. Увольнение из […]
  • Правила перевозок лыж Основные правила перевозки горнолыжного снаряжения Уважаемые читатели, мы представляем Вашему вниманию основные правила перевозки горнолыжного снаряжения в наиболее крупных авиакомпаниях. Правила перевозки горнолыжного снаряжения в […]

Обсуждение закрыто.