![]() |
|
![]() ![]() ![]() |
|
KTatsu |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 23.8.2008 Где: Москва Репутация: 1 Всего: 1 |
Доброго времени суток, уважаемые Программисты.
Прошу помощи и совета в решении двух основных проблемм, с которыми я столкнулся. Я знаю, что подобные темы были, но ясных ответов на вопросы не было, потому осмелюсь повторить вопросы в удобной для меня форме. 1. Создал программу для обработки текстовых файлов, созданных другим приложением. Проблема заключается в том, что текст, это другое приложение, сохраняет в юникоде. Вопрос, что нужно сделать, чтобы моя программа работала с Юникодом? А требуется открывать текст, соответственно в TRichEdit. **Пока, что для работы приходится копировать текст через блокнот, но тут кириллица превращается в знаки вопроса. 2. Есть некая другая программа, от которой требуется програмное нажатие клавиш. Здесь я нашел пример:
Но тут указанная клавиша печатается дважды, я изменил так:
Вроде все нормально, но, что мне делать, если мне нужно нажать одновременно Shift и какую-либо клавишу? Когда я вписываю Shift(VK_LSHIFT), получается, что он нажимается, но не отпускается(даже если пишу только для него). Подскажите пожалуйста, где есть нажатие, а где отпускание. С мышкой попроще было ![]() |
||||
|
|||||
KTatsu |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 23.8.2008 Где: Москва Репутация: 1 Всего: 1 |
Ну что, никто не может помочь чтоли? :(
|
|||
|
||||
ne0 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 13.6.2007 Репутация: нет Всего: нет |
Выдержка из MSDN:
Т.е. надо было не убирать второй элемент массива, а просто заменить в нем:
|
||||
|
|||||
KTatsu |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 23.8.2008 Где: Москва Репутация: 1 Всего: 1 |
Большое спасибо, помогло
![]() Теперь вопрос, чтобы например таким образом напечатать заглавную T(в английской раскладке), написал так:
Оно работает, но правильно ли это? И все также остался вопрос по поводу Юникода. |
|||
|
||||
Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 16 Всего: 41 |
ну, как вариант, могу педложить:
Это сообщение отредактировал(а) Dmi3ev - 25.11.2008, 01:04 -------------------- |
|||
|
||||
KTatsu |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 23.8.2008 Где: Москва Репутация: 1 Всего: 1 |
Благодарю, но как мне открыть текстовый файл в "а"? На знаки "->" и "." билдер ругается. |
||||
|
|||||
ne0 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 13.6.2007 Репутация: нет Всего: нет |
KTatsu, попробуй это. Кроме всего прочего там есть Unicode версия списка строк TWideStringList. С ним загрузка файла будет выглядеть примерно так:
Добавлено @ 14:54 Ели нужно получить все содержимое файла в виде одной строки (включая переводы строки и возвраты каретки), то можно использовать код:
Это сообщение отредактировал(а) ne0 - 28.11.2008, 14:55 |
||||
|
|||||
KTatsu |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 23.8.2008 Где: Москва Репутация: 1 Всего: 1 |
Простите за дотошность, а что происходит в этих строках?
|
|||
|
||||
ne0 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 13.6.2007 Репутация: нет Всего: нет |
KTatsu, в этих строках происходит перебор всех загруженных в список строк. Поскольку VCL классы в билдере всегда используются только через указатели, то обратиться напрямую к operator[] нельзя. Поэтому сначала выполняется разыменование (*wsl), а уже потом обращение по индексу [i].
PS. В условии цикла должно быть wsl->Count, а не wsl.Count... Моя ошибка. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |