Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 237
от 08.11.2005, 15:30

Администратор:Калашников О.А.
В рассылке:Подписчиков: 229, Экспертов: 33
В номере:Вопросов: 3, Ответов: 10


Вопрос № 28798: Здравствуйте, уважаемые эксперты. Вопрос: Среда VC++6. В диалоговом окне эл-т управления EditBox со счетчиком. При изменении четырехзначного числа нажатием кнопок счетчика старший разряд отделяется от остальных пробелом. Подскажит...
Вопрос № 28820: Здрасте, эксперты. Такая проблема: Нужно в цикле выводить слова. Пробовал создать массив. (char[50]) Но массив создается по символам, а мне нужно выводить по словам....
Вопрос № 28843: Здравствуйте, уважаемые эксперты. У меня возник такой вопрос: есть необходимость программно нажать кнопку в чужом окне. В случае когда это гуевое окно - то проблем нет, тропка, так сказать, натоптана.... А вот что делать если окошко это прина...

Вопрос № 28.798
Здравствуйте, уважаемые эксперты.
Вопрос:
Среда VC++6.
В диалоговом окне эл-т управления EditBox со счетчиком.
При изменении четырехзначного числа нажатием кнопок счетчика старший разряд отделяется от остальных пробелом.
Подскажите пожалуйста, как избавиться от этого недоразумения.
Отправлен: 02.11.2005, 16:12
Вопрос задал: Щур Анатолий (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Jadd
Здравствуйте, Щур Анатолий!
Кусок кода можно увидеть? Мне на почту плиз.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Практикант)
Отправлен: 02.11.2005, 17:27
Оценка за ответ: 4
Комментарий оценки:
Спасибо, мне уже подсказали. Нужно было поставить в стилях spin'а 'No thousands'

Отвечает: estiGi
Здравствуйте, Щур Анатолий!
Что-то я не припомню такого контрола - "EditBox со счетчиком" :)
В общем, тебе нужно проставить для spin'а стиль UDS_NOTHOUSANDS. Как он называется в редакторе ресурсов, не помню. Должно быть тоже что то вроде "No thousands"
Ответ отправил: estiGi (статус: 5-ый класс)
Отправлен: 02.11.2005, 19:14
Оценка за ответ: 5
Комментарий оценки:
Спасибо. Это то, что было нужно!


Вопрос № 28.820
Здрасте, эксперты.
Такая проблема:
Нужно в цикле выводить слова.
Пробовал создать массив. (char[50])
Но массив создается по символам, а мне нужно выводить по словам.
Отправлен: 03.11.2005, 04:44
Вопрос задал: GueZt (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Romodos
Здравствуйте, GueZt!
Ну, вообще можно создать массив указателей на символы (т.е массив строк)
И юзать функцию strcpy
В примере я создал массив из 10 строк и вывел первые две.
Думаю, поможет!

Приложение:

---------
FAQ me off!

Ответ отправил: Romodos (статус: Студент)
Отправлен: 03.11.2005, 08:34

Отвечает: sergey2nk
Здравствуйте, GueZt!

В принципе к предыдущему ответу желательно добавить вызовы malloc() перед каждым вызовом strcpy(). Получится примерно так:
........
c[2] = mallloc(sizeof(char) * (strlen("dge") + 1));
strcpy(c[2],"dge");
c[1] = mallloc(sizeof(char) * (strlen("abc") + 1));
strcpy(c[1],"abc");
........
/* А потом освобождаем память */
free(c[1]);
free(c[2]);
.........

А то для массива память выделили при объявлении, а для каждой конкретной строки - не выделяли. Компилятор может и не обидется, а вот при выполнении скорее всего в core свалится на нормальной платформе, а винда я не знаю как отреагирует, но подозреваю что ей тоже не понравится :)
Ответ отправил: sergey2nk (статус: 1-ый класс)
Отправлен: 03.11.2005, 12:45

Отвечает: VampSergey
Здравствуйте, GueZt!
char[50] = "hello"; // = 'h', 'e', 'e', 'l', 'o', ' где ' При выводе cout'ом выводятся символы, пока не встречается '
А также встроенного типа string не существует. Есть std::string в C++ STL.
Удачи!
Ответ отправил: VampSergey (статус: 2-ой класс)
Отправлен: 03.11.2005, 21:04

Отвечает: Raptor1
Здравствуйте, GueZt!
Создай массив строк CString или массив тех же char но тогда слова не могут быть более 49 символов

Приложение:

Ответ отправил: Raptor1 (статус: 9-ый класс)
Отправлен: 05.11.2005, 10:02


Вопрос № 28.843
Здравствуйте, уважаемые эксперты.
У меня возник такой вопрос: есть необходимость программно нажать кнопку в чужом окне. В случае когда это гуевое окно - то проблем нет, тропка, так сказать, натоптана....
А вот что делать если окошко это принадлежит программе написанной на java? Как рулить таким окном? Если посмотреть с помощью утилиты spy++, то кроме основного окна, ничего там больше и нет...
Отправлен: 03.11.2005, 13:33
Вопрос задал: Vadim (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Jadd
Здравствуйте, Vadim!
А как Вы думаете окна рисуются? Виртуальная машина java использует API системы, на которой установлена. В том-то и смысл переносимого кода. Ты пишешь на неком языке, а компиллер генерит из него байткод, который потом обрабатывается и выполняется виртуальной машиной, которая, в свою очередь, использует системные вызовы ОСи. Что тут такого, не совсем понятно.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Практикант)
Отправлен: 03.11.2005, 13:43

Отвечает: Татьяна
Здравствуйте, Vadim!
Не знаю, поймете ли вы идею, но как вариант, если вы заранее знаете, какое оно чужое окно(его размеры, расположение элементов), можно проэмулировать мышь (нажатие мыши в определенных координатах окна) либо клавиатуру (например,нужное количество раз проэмулировать нажатие tab, а затем нажатие enter). Eстественно перед этим отловить хендл чужого окна и сделать его активным (правда не уверенна, работают ли окна java также как обычные окна винды - по идее должны)
---------
Нет ничего невозможного!!!
Ответ отправила: Татьяна (статус: 6-ой класс)
Отправлен: 03.11.2005, 13:59

Отвечает: estiGi
Здравствуйте, Vadim!
Тебе не кажется, что это вопрос по Java, а не по С++ ? Чтобы тебе ответить на него, надо знать, как устраивается ГУИ на Java.
Единственно, что можно попробовать - пустить поиск по дочерним элементам окна через FindWindowEx и смотреть, чего возвращается. Наверянка все равно там внутри тот же АПИ с теми же законами для окон
Ответ отправил: estiGi (статус: 5-ый класс)
Отправлен: 03.11.2005, 15:22

Отвечает: Gibbel
Здравствуйте, Vadim!

Окна приложений на Java рисуются своим собственным API, которое никак не связано с API хостовой системы (именно этим и достигается одинаковое отображение окон на разных системах). Соответственно, твоя задача - эмулировать нажатие кнопки мыши в какой-то конкретной точке основного окна приложения (именно его ты видишь с помощью spy++). Какие именно сообщения обрабатывает Java сказать не могу - эксперементируй.
---------
От жизни еще никто не умирал
Ответ отправил: Gibbel (статус: *Ветеран)
Отправлен: 03.11.2005, 15:43


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

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

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

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


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Rambler's Top100 Яндекс 

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Архив рассылки
Отписаться
Вспомнить пароль

В избранное