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

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


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

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

Выпуск № 341
от 05.03.2006, 10:45

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


Вопрос № 36343: Здравствуйте уважаемые эксперты. Возникла проблема с Сокетами. Нужно переслать файл. Например notepad.exe. Обычный char текст шлется и все нормально... Читаю файл и посылаю его, сервер чего-то там принимает, но уж больно мало (хотя отдаленно и похоже...
Вопрос № 36351: Привет... Как в консоли (в Windows) сделать невидимым курсор? ...
Вопрос № 36352: Привет... Подскажите дураку... Вначале писал так if (++argv[1]!=NULL) , всё без warnin'гов, но программа не работает...написал так if (*++argv[1]!=NULL), появилось warning C4047: '!=' : 'int ' differs in levels of indirection from '...
Вопрос № 36370: помогите решить(выполнить, используя цикл while и не вводя массивы.4.В задаче число, служащее признаком окончания ввода, не является членом последовательно-сти.В задачах функции из <math.h> не использовать.Исходные данные и результаты типа floa...
Вопрос № 36378: Необходимо сделать подобие вьювера для картинок, вообще минианалог acdsee, точнее совсем не аналог, просто выполняют очень похожие вещи. Столкунулся с проблемой, что кроме собственно тюмбейлов нужно ведь еще и снизу слева выводить изображение выделен...

Вопрос № 36.343
Здравствуйте уважаемые эксперты. Возникла проблема с Сокетами. Нужно переслать файл. Например notepad.exe. Обычный char текст шлется и все нормально... Читаю файл и посылаю его, сервер чего-то там принимает, но уж больно мало (хотя отдаленно и похоже на исходный файл)... Может кто сталкивался, может я что-то принципиально не так делаю... Надеюсь на ваши советы, с уважением, Дмитрий.
Использую синхронные сокеты (с вызывом recv в цикле, потому что так надо)
В приложении коды потоковых функций клиента и севрера.
С уважением, Дмитрий

Приложение:

Отправлен: 27.02.2006, 19:00
Вопрос задал: koshi (статус: 3-ий класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Muad Dib
Здравствуйте, koshi!
Собственно суть проблемы в том что исполняемый файл содержит непечатаемые и спец символы которые нельзя передавать как char-текст. Для того чтобы можно было эти вещи как простую текстовую последовательность передавать было создано base64-кодирование, например.
Ответ отправил: Muad Dib (статус: 5-ый класс)
Отправлен: 27.02.2006, 19:48
Оценка за ответ: 5
Комментарий оценки:
Так и думал, осталось найти инфу по кодированию! Спасибо!


Вопрос № 36.351
Привет...
Как в консоли (в Windows) сделать невидимым курсор?
Отправлен: 27.02.2006, 21:02
Вопрос задал: Denton (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: PROD
Здравствуйте, Denton!
на сколько я помню
ShowCursor(bool Show);
Если параметр true, то указатель покажется, в противном случае исчезнет.
Ответ отправил: PROD (статус: 4-ый класс)
Отправлен: 27.02.2006, 21:17
Оценка за ответ: 4
Комментарий оценки:
Не работает :(

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Denton!

Вставте строчку _setcursortype(_NOCURSOR); в код.

Успехов!
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 28.02.2006, 09:09


Вопрос № 36.352
Привет...
Подскажите дураку...
Вначале писал так if (++argv[1]!=NULL) , всё без warnin'гов, но программа не работает...написал так if (*++argv[1]!=NULL), появилось
warning C4047: '!=' : 'int ' differs in levels of indirection from 'void *'
вроде понятно...но а как быть-то???
К тому моменту argv[1] уже указывал на 2 элемент...++argv[1]...на 3...
Вобщем я делал проверку если 3 символ в строке существует, то...
Как написать правильно?
Отправлен: 27.02.2006, 21:20
Вопрос задал: Denton (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PROD
Здравствуйте, Denton!
код выложи, тогда посмотрим.
++argv[1] увеличивает значение 2го элемента argv,
а *++argv[1] на сколько я понимаю будет брать следующий элемент массива по адресу.
так что лучше выложи исходник, так понятней будет
Ответ отправил: PROD (статус: 4-ый класс)
Отправлен: 27.02.2006, 21:27

Отвечает: X-MAN
Здравствуйте, Denton!
Если вы хотите узнать длину строки, можно сделать так: strlen(argv[1]), а если кол-во аргументов, то они передаются в argc.
Ответ отправил: X-MAN (статус: 3-ий класс)
Отправлен: 27.02.2006, 23:28

Отвечает: Mamont0001
Здравствуйте, Denton!

Например, напишите

if( *(++argv[1])!=NULL )

Видимо, компилятор придирается к синтаксису.

В C++Builder таких наворотов точно хватает.

Приложение:

---------
Сон — это маленькая смерть

Ответ отправил: Mamont0001 (статус: 2-ой класс)
Отправлен: 27.02.2006, 23:30

Отвечает: Muad Dib
Здравствуйте, Denton!
Если argv[]="строка"
argv[2] - это не третий символ в строке?
Ответ отправил: Muad Dib (статус: 5-ый класс)
Отправлен: 28.02.2006, 00:15


Вопрос № 36.370
помогите решить(выполнить, используя цикл while и не вводя массивы.4.В задаче число, служащее признаком окончания ввода, не является членом последовательно-сти.В задачах функции из <math.h> не использовать.Исходные данные и результаты типа float. Используя цикл for, вывести таблицу значений функции f(x) с параметром u с точностью до четырех знаков после десятичной точки в n равноудаленных и равномерно распределенных точках на интервале [a; b]. Обеспечить контроль корректности как исходных, так и промежуточных данных)

Найти сумму отклонений по модулю нечетных чисел последовательности от числа 10. Оконча-ние ввода – сумма больше 50 или кратна 3. q-w-e-s-t@mail.ru Заранее благодарю,спасибо люди добрые
Отправлен: 28.02.2006, 03:37
Вопрос задал: Qwest (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Boriss
Здравствуйте, Qwest!
Что-то не пойму задание :((
Если исходные числа типа float, то при чем тут четность или нечетность?
Если здесь несколько задач, то разделите их.
О какой функции f(x) идет речь? Если о последовательности, то как не храня числа, ПОТОМ их вывести.
Уточнять можно в минифоруме ...
---------
Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор)
Отправлен: 01.03.2006, 12:54


Вопрос № 36.378
Необходимо сделать подобие вьювера для картинок, вообще минианалог acdsee, точнее совсем не аналог, просто выполняют очень похожие вещи. Столкунулся с проблемой, что кроме собственно тюмбейлов нужно ведь еще и снизу слева выводить изображение выделенной картинки с возможностью его увеличить, ну это неважно. Сколько не искал так и не смог найти найти необходимого сообщения. Необходимо именно сообщение о том, что пользователь перевел курсор на какой-то элемент, какой это элемент можно будет определить с помощью GetSelectedItem и GetNextSelectedItem, а мне нужно именно сообщение, о том что был переход.
Пробовал OnItemchanging, OnItemClick, вставлял в них такой код:

void CThumView::On******(NMHDR* pNMHDR, LRESULT* pResult) {
HD_NOTIFY *phdn = (HD_NOTIFY *) pNMHDR;
AfxMessageBox( phdn->pitem->pszText );
}

Чтобы проверить работоспособность. Вообще, никакого эффекта, они даже не вызываются, Run To Cursor проверял.
Смотрел список windows handler более ничего похожего не нашел, на то что мне нужно, поэтому прошу у вас помощи.
Отправлен: 28.02.2006, 08:09
Вопрос задал: RedDevil (статус: 6-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Jadd
Здравствуйте, RedDevil!
Студия какая? Там же можно посмотреть какие сообщения приходят в ListView. Так вот в Вашем случае это LVN_ITEMACTIVATE. Удачи.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 28.02.2006, 09:00
Оценка за ответ: 5
Комментарий оценки:
6-ая студия, там такого в меню нету, пришлось руками добавлять. Правда все равно не совсем то, что нужно. Это сообщение действует тогда, когда два раза щелкнешь по элементу со стилем TWOCLICK, и с задержкой ONECLICK. Впринципе если задержку убрать то будет нормально, но как убрать ее я не знаю.

Отвечает: Zitz
Здравствуйте, RedDevil!

Сообщения о том что уже или будет что-то меняться в листе приходят такие:
LVN_ITEMCHANGED
LVN_ITEMCHANGING
В них можно уже и посмотреть менятеся активный итем или нет... (Он моежет не смениться если пользователь нажал например вниз, а это был последний итем)

Приложение:

---------
Успех неизбежен

Ответ отправил: Zitz (статус: 7-ой класс)
Отправлен: 01.03.2006, 13:31


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

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

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

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

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


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


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

В избранное