crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Редактирование строки в консоли
Kagami
  опции профиля:
сообщение 16.2.2010, 9:43
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 601
Регистрация: 2.2.2009
Пользователь №: 523

Спасибо сказали: 101 раз(а)




Репутация:   9  


Точу потихоньку свой инструмент для работы с TMX-файлами. Решил немного улучшить инструмент объединения. Сейчас он выглядит вот таким образом:
Цитата
Source segment: 'Trademarks'
1: 'Торговые марки'
2: 'Trademarks'
Enter your choose:

При объединении он выводит исходный сегмент и два варианта перевода (если они отличаются в объединяемых файлах). Я хотел бы добавить третий пункт - редактировать один из вариантов, но я не знаю как поместить строку в буфер ввода, где пользователь может ее отредактировать и, нажав Enter, ввести. Хотелось бы простое, без лишних зависимостей и кроссплатформенное решение. Никто такое не делал?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 16.2.2010, 9:52
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(Kagami @ 16.2.2010, 9:43) *
Хотелось бы простое, без лишних зависимостей и кроссплатформенное решение. Никто такое не делал?

Посмотри на readline.
Для *nix платформ и вроде для Mac - http://tiswww.case.edu/php/chet/readline/rltop.html
а для венды вроде http://gnuwin32.sourceforge.net/packages/readline.htm
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.2.2010, 10:44
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Kagami, дак ведь по идее её можно просто ввести, т.е. stdin должно быть достаточно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Kagami
  опции профиля:
сообщение 16.2.2010, 11:49
Сообщение #4


Старейший участник
****

Группа: Участник
Сообщений: 601
Регистрация: 2.2.2009
Пользователь №: 523

Спасибо сказали: 101 раз(а)




Репутация:   9  


BRE, быстро полистал доки, но нигде не нашел упоминания работает ли она с unicode или нет... Везде только char* используется...
Litkevich Yuriy, не совсем понял идею. Попробовать записать в stdin?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 16.2.2010, 12:12
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(Kagami @ 16.2.2010, 11:49) *
BRE, быстро полистал доки, но нигде не нашел упоминания работает ли она с unicode или нет... Везде только char* используется...

Конечно, большинство вводилок консольного текста в linux работает на ней.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.2.2010, 12:35
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Kagami @ 16.2.2010, 14:49) *
Попробовать записать в stdin?
читать из него. Посмотри тему: Как считывать с stdin ?


Вот пример из Асистента, по QTextStream:
 QTextStream stream(stdin);
QString line;
do {
     line = stream.readLine();
} while (!line.isNull());


соответственно для QTextStream ты можешь установить кодек, для виндовоза, например, "IBM866"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Kagami
  опции профиля:
сообщение 16.2.2010, 13:02
Сообщение #7


Старейший участник
****

Группа: Участник
Сообщений: 601
Регистрация: 2.2.2009
Пользователь №: 523

Спасибо сказали: 101 раз(а)




Репутация:   9  


Litkevich Yuriy, ты не понял. Я хочу запихнуть строку в stdin чтобы пользователь мог ее отредактировать не вводя самому, а уже потом считать эту строку.

BRE, меня слегка смущает что у в Linux последняя доступная версия 6.1, на маке 6.0, а в винде - 5.0 :(

Есть еще какие-нибудь способы?

Сообщение отредактировал Kagami - 16.2.2010, 14:33
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 19.2.2010, 9:45
Сообщение #8


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Kagami,
ты видел подобную штуку хотябы где нибудь. в линуксе маке или винде.
приведи примеры таких программ.
я не видел.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 16:03