Вопрос № 35386: VC MFC
По продвижению к решении одной задачи столкнулся с несколькими другими.
1) С помощью какого вида лучше всего отображать папки и файлы аля проводник ? И где можно почитать про это, мне с трудом верится, что для этого надо вручную просчи...Вопрос № 35408: Здравствуйте уважаемые эксперты. Я изучаю С++ по книге Стефана Р.Дэвиса
"С++ для чайников." Во всех листингах основная процедура main, представленна
так: int main(int nNumberofArgs, char* pszArgs[]). Что за аргументы в
скобках ...Вопрос № 35437: Здравствуйте, эксперты!
Как программно передвинуть курсор в CEdit (VC++ MFC)? Никак не датумкаю как перегрузить OnMouseActivate так чтобы курсор бы появлялся не в месте куда тыкнули а вначале едита (эдит не пустой естественно)... :(...Вопрос № 35450: Доброго времени суток уважаемые эксперты!
Недавно попалась мне давольно таки интересная (по крайней мере для меня) задача. Да вот все никак решить не могу! Или я на столько туп или просто думаю не в том направлении! Подскажите пожалуйста если н...Вопрос № 35455: Добрый день.
Работаю на С++ Builder.
Формирую отчет в Excel.
Встасить данные могу, остальные элименты форматирования знаю. Может кто подсказать как програмно можно удалить строку?
Использую OLE функции.
Еще вопрос.
Как можно с...
Вопрос № 35.386
VC MFC
По продвижению к решении одной задачи столкнулся с несколькими другими.
1) С помощью какого вида лучше всего отображать папки и файлы аля проводник ? И где можно почитать про это, мне с трудом верится, что для этого надо вручную просчитывать координаты и рисовать значки и названия папок/файлов.
2) Как вы думаете, в чем может быть проблема. Я вставляю в OnDraw вида функцию textout() и только в классе наследуемом от СView она работает. В остальных случиях (с другими классами) она даже не вызывается. Ставил брейкпоинт, функцию OnDraw просто не запускает. Пробовал принудительно по нажатию на кнопку UpdateAllViews() вызывать из класса документа - никого эффекта.
Отправлен: 14.02.2006, 08:57
Вопрос задал: RedDevil (статус: 6-ой класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Jadd
Здравствуйте, RedDevil!
1)Не надо ничего самому писать. Есть CListView
2)Код в студию. Возможно в этот класс просто не приходит сообщение WM_PAINT.
--------- Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 14.02.2006, 09:04 Оценка за ответ: 5 Комментарий оценки: 1) Уф, целых 20 минут потратил на скачку примера с ListView, то ссылка битая, то прав нет, то еще что-нибудь. Уже где более половины разобрал. 2) А ну и черт с ним. Этот textout() мне больше нафиг не нужен. Потом разбирусь, сейчас не он главное.
Отвечает: Raptor1
Здравствуйте, RedDevil!
К вопросу 2:
А какие классы вы пытались использовать вместо CView? Возможно поможет рисование в OnPaint, а UpdateAllViews() вызывает в классах представления событие OnUpdate которое можно добавить через ClassWizard, как вы его обрабатываете?
Ответ отправил: Raptor1 (статус: Студент)
Отправлен: 14.02.2006, 23:29 Оценка за ответ: 5 Комментарий оценки: Нет не его. Я когда класс CxImage использовал в onDraw все писал как картики выводить, хотел попробовать в других классах отличных от CView и почему-то не пошло. Кроме CView пытался CListView, CTreeView, CFormView.
Самое главное исходник про работу с List и Tree у меня уже есть, остальное все мелочи жизни.
Вопрос № 35.408
Здравствуйте уважаемые эксперты. Я изучаю С++ по книге Стефана Р.Дэвиса
"С++ для чайников." Во всех листингах основная процедура main, представленна
так: int main(int nNumberofArgs, char* pszArgs[]). Что за аргументы в
скобках объясняется весьма туманно. Я попробовал так: int main(). Все
компилируется и работает. Вопрос - зачем автор усложняет текст программ
и что это за Args'ы такие?
Отправлен: 14.02.2006, 13:58
Вопрос задал: Gogenot (статус: Посетитель)
Всего ответов: 5 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Straight
Здравствуйте, Gogenot!
Это количество переданных аргуметов в командной строке и массив самих аргументов.
Ответ отправил: Straight (статус: 8-ой класс)
Отправлен: 14.02.2006, 14:02 Оценка за ответ: 4
Отвечает: Лучников Юрий Владимирович
Здравствуйте, Gogenot!
Подробное освещение вашего вопроса вы можете просмотреть по адресу http://inf.1september.ru/2000/6/C/9.htm, подраздел 9.2. Параметры командной строки
Успехов!!!
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 14.02.2006, 14:40 Оценка за ответ: 4 Комментарий оценки: Благодорю за ссылочку.
Отвечает: Jadd
Здравствуйте, Gogenot!
Ничего он не усложняет. Просто в программу можно передавать аргументы коммандной строки. Это еще с юникса тянется. Первый аргумент показывает их количество, а второй - массив этих аргументов, где под индексом 0 стоит название самого экзешника. int main() работает, все верно. Да и так будет работать void main(void). Разница в том, что в вашем варианте вы вернете целое значение и не собираетесь работать с аргументами коммандной строки, а в моем варианте я ничего не возвращаю, не планирую юзать аргументы коммандной
строки и, что не маловажно, стек для этих аргументов не резервируется.
Во так вот. Удачи.
--------- Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 14.02.2006, 14:50 Оценка за ответ: 4 Комментарий оценки: Спасибо.
Отвечает: koshi
Здравствуйте, Gogenot!
Это называется параметры коммандной строки. Пусть твой бинарник - proga.exe. Ты можешь запуская программу указывать параметры, которые хочешь передать программе, т.е. какую-то инфо. Например если прога должна работать с каким то файлом, то в качестве параметра коммандной строки можно передать имя файла:
1.)proga.exe "c:Program Filesla-blala.txt" если файл неходится где-то
2.)proga.exe bla.txt если файл находится там же, где и бинарник.
При этом параметр сохраняется где то там в памяти, а указатель на этот параметр в памяти сохраняется в массиве pszArgs. При этом надо учитывать что само имя программы также сохраняется.
Т.о. в рассмотренном мною случае (вариант 2.)) nNumberofArgs = 2, pszArgs[0] = proga.exe, pszArgs[1] = bla.txt. - таким обр-ом можешь работать с этими праметрами из своей программы.
--------- Don't worry by groovy
Ответ отправил: koshi (статус: 3-ий класс)
Отправлен: 14.02.2006, 15:45 Оценка за ответ: 5 Комментарий оценки: Благодорю.
Отвечает: Tundravarg
Здравствуйте, Gogenot!
Примеры запуска консольных команд:
cp file1 file2
cd /home/user
Здась file1 и file2 в команде cp являются аргументами, аргументом является и /home/user в команде cd.
Для организации приёма и обработки тах аргументов (параметров) используются аргументы в функции main. Превый аргумент - количество параметров, второй - массив строк, представляющих собой эти параметры. Обратите внимание на то, что имя программы тоже входит в число аргументов.
Так для примера cp количество параметров будет равно 3 ("cp", "file1", "file2"), а для cd - 2 ("cd" и "/home/user").
Ответ отправил: Tundravarg (статус: 1-ый класс)
Отправлен: 15.02.2006, 03:04 Оценка за ответ: 5 Комментарий оценки: Спасибо.
Вопрос № 35.437
Здравствуйте, эксперты!
Как программно передвинуть курсор в CEdit (VC++ MFC)? Никак не датумкаю как перегрузить OnMouseActivate так чтобы курсор бы появлялся не в месте куда тыкнули а вначале едита (эдит не пустой естественно)... :(
Отправлен: 14.02.2006, 21:14
Вопрос задал: Zitz (статус: 6-ой класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Raptor1
Здравствуйте, Zitz!
Стандартный для CWnd SetCaretPos должен вам помочь, а обрабатывать можно событие получения фокуса.
Ответ отправил: Raptor1 (статус: Студент)
Отправлен: 14.02.2006, 23:24
Вопрос № 35.450
Доброго времени суток уважаемые эксперты!
Недавно попалась мне давольно таки интересная (по крайней мере для меня) задача. Да вот все никак решить не могу! Или я на столько туп или просто думаю не в том направлении! Подскажите пожалуйста если не сложно алгоритм решения данной задачи!
В турнире учавствует четное число команд (с номерами от 1 и до n), в каждом туре проигравшая команда из пары выбывает (причем пары складываются следующим образом, сначала 1 и 2 команда - это первая пара, 3 и 4 - 2 пара и т.д.). Определить, могла ли команда с номером x встретиться с командой с номером y в туре с номером z!
Отправлен: 15.02.2006, 01:30
Вопрос задал: Twist (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: PROD
Здравствуйте, Twist!
по идее определить в каком туре команда можно с помощью:
(x+1)/2=z (здесь целочисленное деление, по правилам Си)
то есть команда №3 будет в туре (3+1)/2=2, а №4 - (4+1)/2=2
короче копай в эту сторону
Ответ отправил: PROD (статус: 3-ий класс)
Отправлен: 15.02.2006, 08:04
Отвечает: Zitz
Здравствуйте, Twist!
Задача матиматическая, в матиматике не селен, но как вариант могу предложить решить данную задачу через множества (первое что пришло на ум), вот примерная схема турнира:
Т.е. в каждом туре сливаются множества, если обе команды в него входят, то и теоретически они могут встретиться. Т.е. на данной схеме во втором туре команды 2 и 4 могут встретиться, а 2 и 5 нет, т.к. в разных множествах... Т.е. на бумажке все сходиться, осталась реализация ;)
--------- Успех неизбежен
Ответ отправил: Zitz (статус: 6-ой класс)
Отправлен: 15.02.2006, 14:06
Вопрос № 35.455
Добрый день.
Работаю на С++ Builder.
Формирую отчет в Excel.
Встасить данные могу, остальные элименты форматирования знаю. Может кто подсказать как програмно можно удалить строку?
Использую OLE функции.
Еще вопрос.
Как можно сформировать письмо в Outlook(Outlook не открывать), Внести данные отправителя, получателя, текст письма и прикрипить файлы. Потом это все отправить.
Спасибо всем за ответ.
Отправлен: 15.02.2006, 06:54
Вопрос задал: AllexZ (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Лучников Юрий Владимирович
Здравствуйте, AllexZ!
Отвечу на 2-ю часть вопроса:
Тут у вас есть 2 пути...
1. Работать на прямую с SMTP сервером
2. Использовать готовый компонент TNMSMTP на вкладке FastNet.
Этот компонент предоставляет все вышеперечисленные возможности.
Успехов!
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 15.02.2006, 16:03 Оценка за ответ: 5 Комментарий оценки: Можно получить более подробноее описание данного компонента, у меня хелпы не работают. Заранее спасибо.