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

Программирование. Форум !!!

За 2004-11-18

Вызов функции в VC 7

Здравствуйте!

Есть проект MFC - SDI, есть созданный в ручную класс myClass, не
являющийся ни чьим наследником. Из функции этого класса myClass хочу
вызвать функцию Invalidate() (или любую другую функцию!) класса
СMyprogramView следующим образом:

СMyprogramView::Invalidate();

и получаю сообщение об ошибке:

error C2352: illegal call of non-static member function

Явно что-то делаю не так. Заранее спасибо за ответ!

Сергей

Номер выпуска : 3797
Возраст листа : 423 (дней)
Количество подписчиков : 502
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/267071
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

   2004-11-18 21:59:22 (#267071)

Re: Работа со строкой

Hello Денис,

Thursday, November 18, 2004, 1:57:30 PM, you wrote:

Д> Доброго времени суток, все!

Д> Строку типа C:\Program Files\FlashGet\ надо преобразовать к виду:
Д> C:\Program Files\, а ее к C:\ . Т.е. как бы сделать переход на предыдущую
Д> директорию. Посоветуйте, пожалуйста, как это можно сделать.

Наверно просто идти по строке справа налево, пока не встретим '\'. Или
я не понял проблему?
В cpp это будет выглядеть примерно так:

/********************/

char s[25] = "C:\Program Files\FlashGet\";
int len = strlen(s);
if (s[len] == '\') {
s[len] = '\0'; // Случай, если последний символ - '\'
len--;
}
while (len >= 0) {
if (s[len] == '\') {
s[len+1] = '\0';
break;
}
len--;
}

/********************/

   2004-11-18 21:54:17 (#267069)

Re: Работа со строкой

Здравствуйте !

> Д> Строку типа C:\Program Files\FlashGet\ надо преобразовать к виду:
> Д> C:\Program Files\, а ее к C:\ . Т.е. как бы сделать
> переход на предыдущую
> Д> директорию. Посоветуйте, пожалуйста, как это можно сделать.

Ну... Есть группа API функций именуемых в MSDN "Path Functions".
Конкретно см. PathFindNextComponent.
Но тут надо учесть, что:

Windows NT/2000: Requires Windows 2000 (or Windows NT 4.0 with Internet
Explorer 4.0 or later).
Windows 95/98/Me: Requires Windows 98 (or Windows 95 with Internet
Explorer 4.0 or later).

--
С уважением, Вахтуров Виктор.

Номер выпуска : 3795
Возраст листа : 423 (дней)
Количество подписчиков : 502
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/267058
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

   2004-11-18 21:40:39 (#267058)

Re: Работа со строкой

On Thu, 18 Nov 2004 20:02:48 +0600
janalex <janal***@n*****.ru> wrote:

> Если в Delphi то проще всего так
> var S:String;
> begin
> s:='C:\Program Files\FlashGet\';
Нужно ещё удалить последний символ.
> s:=ExtraktFilePath(S); // в S содержится C:\Program Files\
> end;

Номер выпуска : 3794
Возраст листа : 423 (дней)
Количество подписчиков : 502
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/267016
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

   "B." 2004-11-18 20:56:46 (#267016)

куда щелкнул юзверь?

Доброрго всем!
есть Image в него загружена картинка с цветными облястями и черными
границами, в качестве примера:

image1.Canvas.Brush.Color:=clRed;
image1.Canvas.Ellipse(rect(10,10,50,50));
image1.Canvas.Brush.Color:=clGreen;
image1.Canvas.Rectangle(rect(10,70,50,110));

надо узнать щелкнул ли юзверь по элипсу или квадрату, к цвету привязку
делать не стоит т.к. он может меняется.
Реально области намного сложнее.

Заранее всем спасибо

prog_alex76 mailto:prog_alex***@m*****.ru

Номер выпуска : 3793
Возраст листа : 423 (дней)
Количество подписчиков : 502
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/266983
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

   2004-11-18 20:43:05 (#266983)

Re: Работа со строкой

Здравствуйте, Денис.

Вы писали 18 ноября 2004 г., 17:57:30:

Д> Доброго времени суток, все!

Д> Строку типа C:\Program Files\FlashGet\ надо преобразовать к виду:
Д> C:\Program Files\, а ее к C:\ . Т.е. как бы сделать переход на предыдущую
Д> директорию. Посоветуйте, пожалуйста, как это можно сделать.

Если в Delphi то проще всего так
var S:String;
begin
s:='C:\Program Files\FlashGet\';
s:=ExtraktFilePath(S); // в S содержится C:\Program Files\
end;

   2004-11-18 17:08:36 (#266917)

Работа со строкой

Доброго времени суток, все!

Строку типа C:\Program Files\FlashGet\ надо преобразовать к виду:
C:\Program Files\, а ее к C:\ . Т.е. как бы сделать переход на предыдущую
директорию. Посоветуйте, пожалуйста, как это можно сделать.

   Денис 2004-11-18 14:59:07 (#266812)