Вы хотите что-то подобное?
.subject, .message {
float:left;
display:block;
}
.subject {
width:35%;
text-align:right;
}
.message {
width: 65%;
padding-top: 10px;
left: 10px;
position: relative;
}
<div class="subject">
<h2>Hello this is subject</h2>
</div>
<div class="message">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Odio ut enim blandit volutpat. Posuere morbi leo urna molestie at elementum eu. Volutpat maecenas volutpat blandit aliquam. Ornare arcu odio ut sem nulla pharetra diam. Quam adipiscing vitae proin sagittis nisl rhoncus mattis rhoncus. Egestas sed sed risus pretium quam. Turpis egestas pretium aenean pharetra magna ac placerat vestibulum lectus. Ultrices gravida dictum fusce ut placerat orci nulla pellentesque dignissim. A arcu cursus vitae congue mauris rhoncus. Morbi quis commodo odio aenean sed adipiscing diam. Volutpat lacus laoreet non curabitur gravida arcu ac tortor dignissim.
Eros donec ac odio tempor orci dapibus. Venenatis lectus magna fringilla urna porttitor rhoncus. Mattis ullamcorper velit sed ullamcorper morbi tincidunt. Lectus urna duis convallis convallis tellus id interdum velit laoreet. Eget nunc lobortis mattis aliquam. Ultrices gravida dictum fusce ut placerat orci nulla pellentesque dignissim. Urna molestie at elementum eu facilisis sed odio. Arcu ac tortor dignissim convallis aenean et tortor at. Dictum sit amet justo donec. Tristique et egestas quis ipsum suspendisse ultrices gravida dictum fusce. Cras semper auctor neque vitae. Hendrerit gravida rutrum quisque non tellus orci ac. Dui id ornare arcu odio ut sem. Vitae elementum curabitur vitae nunc. Lectus quam id leo in vitae turpis massa sed. Lobortis scelerisque fermentum dui faucibus in ornare. Dui vivamus arcu felis bibendum ut tristique et egestas. Nisl suscipit adipiscing bibendum est ultricies integer. Pretium aenean pharetra magna ac placerat vestibulum.
In ornare quam viverra orci sagittis eu. Justo nec ultrices dui sapien eget. Mollis aliquam ut porttitor leo. Ullamcorper eget nulla facilisi etiam. Vestibulum sed arcu non odio euismod lacinia at quis. Amet venenatis urna cursus eget nunc scelerisque. Diam ut venenatis tellus in metus vulputate eu scelerisque. Pharetra convallis posuere morbi leo urna molestie at elementum. In nisl nisi scelerisque eu ultrices. Nibh venenatis cras sed felis eget velit. Malesuada proin libero nunc consequat interdum varius sit amet mattis. Pellentesque pulvinar pellentesque habitant morbi tristique senectus et netus et. In ante metus dictum at tempor commodo ullamcorper a. A scelerisque purus semper eget duis at tellus. Gravida in fermentum et sollicitudin ac orci phasellus. Ac feugiat sed lectus vestibulum mattis ullamcorper velit sed. Tellus cras adipiscing enim eu turpis egestas pretium. Nunc id cursus metus aliquam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames.
Volutpat odio facilisis mauris sit amet massa vitae. Id nibh tortor id aliquet lectus proin. Sit amet porttitor eget dolor morbi non arcu risus. Pretium aenean pharetra magna ac. Tempor nec feugiat nisl pretium fusce id velit ut. Turpis egestas pretium aenean pharetra. Accumsan in nisl nisi scelerisque eu ultrices. Eros donec ac odio tempor orci dapibus ultrices in iaculis. Potenti nullam ac tortor vitae purus faucibus. Fringilla est ullamcorper eget nulla facilisi etiam dignissim diam. Feugiat pretium nibh ipsum consequat. Varius duis at consectetur lorem donec massa sapien faucibus et. Lectus quam id leo in vitae.
Id aliquet lectus proin nibh nisl condimentum. Erat imperdiet sed euismod nisi. Tortor consequat id porta nibh venenatis cras. Commodo elit at imperdiet dui accumsan sit amet. Integer vitae justo eget magna fermentum iaculis eu non diam. Ultricies mi eget mauris pharetra et ultrices neque ornare aenean. In eu mi bibendum neque egestas congue quisque egestas diam. Urna nunc id cursus metus aliquam eleifend mi in nulla. Etiam non quam lacus suspendisse faucibus interdum. Malesuada nunc vel risus commodo. Faucibus purus in massa tempor nec feugiat nisl pretium fusce.</p>
</div>
Версиям Delphi до Delphi 2009 действительно встраивали поддержку Unicode. WideString
тип был доступен начиная с Delphi 4, я думаю, возможно, ранее. WideString
не так хорошо как новое UnicodeString
введите, но это все еще содержит 16-разрядные символы Unicode, и можно преобразовать тип его к PWideChar
отправить строки в API-функции Unicode. Windows
единица объявляет большинство "широких" версий API-функций, и нет ничего, чтобы мешать Вам объявить другие функции самим при нахождении некоторых пропавших без вести.
То, что не имеют предыдущие версии, является поддержкой Unicode в VCL. Для этого можно использовать средства управления Unicode Tnt. Они раньше были свободны. Похож существует несколько мест, где последняя бесплатная версия все еще доступна: (1), (2).
JCL имеет несколько единиц для работы с Unicode. JclWideStrings
единица имеет главным образом легкие служебные функции. JclUnicode
единица - больше завершенное, но она также включает значительный ресурс для определения символьных свойств всех символов Unicode.
С JCL у Вас есть несколько вариантов для классов для содержания списков WideString
значения. Я думаю, что Delphi 7 даже идет с классом для этого.
Не думайте, что просто, потому что у Вас нет Delphi 2009, который Вы не можете записать программе Unicode.
Если у Вас есть a WideString
значение, и Вы хотите закодировать его UTF-8, затем звонить Utf8Encode
функция. Это возвратится AnsiString
значение, или возможно Utf8String
, если Ваша версия Delphi объявляет тот тип. Это не то же как 2009 Delphi Utf8String
введите, все же. 2009 Delphi автоматически преобразует в UnicodeString
или AnsiString(x)
и наоборот в операторах присваивания. Предыдущие версии просто имеют сингл AnsiString
введите, таким образом, необходимо отслеживать для себя, какие переменные содержат данные UTF-8 и которые держат данные Ansi. (Венгерская запись на Ваших именах переменной и названиях параметра может помочь Вам отслеживать.) И конечно, существует также a Utf8Decode
функция для преобразования данных UTF-8 назад к WideString
.
Для обработки других кодировок символов Вы хотите проверить, Открывают XML, свободную библиотеку XML для Delphi. Как часть ее обработки XML, это имеет поддержку преобразования между 70 различными кодировками.
Используйте тип widestring и кодирующие функции к/от utf8 (UTF8Encode/UTF8Decode)
Не используйте строковый тип и не используйте Ansi-функции - при выполнении этого Вы теряете информацию.
Я создал полное unicode приложение, не используя Delphi 2009 (до, он - выпуск).
Я использовал следующее:
Используйте widestring в качестве основного типа данных String.
Используемый компонент базы данных с поддержкой unicode (использование ADO widestring также, но я' не использовал его, потому что это не обрабатывает unicode имена полей).
Используемый свободный TNTControls для UI, хорошо работал, но это - то же как Стандартные средства управления, не имейте многого функциями как средства управления другого третьего лица.
Я имею, устанавливают VM с другим языком, таким образом, я могу протестировать версию в другой системе, которая не поддерживает мой язык.
FastReport был моим инструментом создания отчетов, которые поддерживают Unicode также.
также я использовал DIConverters от Вдохновения Delphi для преобразования базы данных от ansi до UTI8 с, он - функции, можно использовать его для преобразования из UTF8, и это - бесплатное программное обеспечение;-)
существует также Delphi проекта с открытым исходным кодом основные принципы, которые имеют функцию usefual для unicode.
но я думаю, если Вы могли бы использовать D2009 для полной поддержки unicode, Ваша работа будет намного легче и быстрее, потому что Вы не будете использовать медленный widestring тип данных, и Вы найдете, что большая часть третьего лица предложила версию Unicode или работающий теперь над ним.
Преобразование приложения 2009 года перед Delphi к unicode является трудным, но выполнимым. Я разделил его на 3 задачи.
Вдобавок ко все, что удостоверяется Ваше тестирование, полно, и использует unicode символы, которые на самом деле используют высокий байт. Если Вы просто протестируете использование латинского набора символов, то Вы пропустите ошибки.
Если все, что необходимо сделать, действительно преобразовывают внутренние программой строки от системного кодирования до UTF-8 и назад, то используют библиотечные функции, которые упомянул Uwe Raabe. Если Вы находитесь все еще на Delphi 4 или 5 (которые не имеют тех функций), Вы могли использовать функции, которые находятся в GNU gettext для Delphi.
И не позволяйте всем ответам о движении полностью, WideString пугают Вас - использующий UTF-8 в качестве кодирования для обмена данными (это - то, как я понимаю, Ваш вопрос) должно быть возможным в нормальной программе Delphi Ansi без больших проблем, пока Вы имеете дело с данными, которые являются на 100% представимыми в Вашем кодировании Windows.