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