HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #4381  
Старый 28.11.2009, 10:58
transserg
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме:
1035284

Репутация: 52
Отправить сообщение для transserg с помощью ICQ
По умолчанию

где может быть ошибка
Код:
#define WM_NOTIFYICONMSG (WM_USER + 2);

LRESULT WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
	switch(msg)
	{
		case WM_NOTIFYICONMSG: // первая ошибка и вторая тут
			switch(lParam)  
				{ // тут третья
					case WM_LBUTTONDBLCLK:
						MessageBoxA(NULL, "Двойной щелчок по иконке", "Сообщение от иконки", MB_OK);
						break;
				}			
		default:
			return(DefWindowProc(hWnd, msg, wParam, lParam));
	}
	return 0;	
}
вижел студио ругается на
Код:
Ошибка	2	error C2143: синтаксическая ошибка: отсутствие ":" перед 
Ошибка	3	error C2143: синтаксическая ошибка: отсутствие ";" перед 
Ошибка	4	error C2143: синтаксическая ошибка: отсутствие ";" перед
помоему в синтаксисе все норма или я ошибаюсь?
 
Ответить с цитированием

  #4382  
Старый 28.11.2009, 11:30
zythar
Moderator - Level 7
Регистрация: 16.02.2008
Сообщений: 580
Провел на форуме:
1595333

Репутация: 291


Отправить сообщение для zythar с помощью ICQ
По умолчанию

после define-а ";" ненадо
 
Ответить с цитированием

  #4383  
Старый 28.11.2009, 11:46
transserg
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме:
1035284

Репутация: 52
Отправить сообщение для transserg с помощью ICQ
По умолчанию

Код:
#define WM_NOTIFYICONMSG (WM_USER + 2);
так есть точка запятой если сразу после него ставить то думаю это не правильно да и компилятор ругается на синтаксис тогда в дефайне
 
Ответить с цитированием

  #4384  
Старый 28.11.2009, 13:56
POS_troi
Познавший АНТИЧАТ
Регистрация: 01.12.2006
Сообщений: 1,769
Провел на форуме:
3718311

Репутация: 1118


Отправить сообщение для POS_troi с помощью ICQ
По умолчанию

Код:
#define WM_NOTIFYICONMSG (WM_USER + 2)
В конце определения не должно быть ;
 
Ответить с цитированием

  #4385  
Старый 28.11.2009, 14:50
draliokero
Познающий
Регистрация: 14.03.2009
Сообщений: 86
Провел на форуме:
385811

Репутация: 12
По умолчанию

Как определить всех зарегистрированных пользователей в системе? Нашел функцию, GetUserName, но она определяет только имя текущего пользователя...
 
Ответить с цитированием

  #4386  
Старый 28.11.2009, 15:40
POS_troi
Познавший АНТИЧАТ
Регистрация: 01.12.2006
Сообщений: 1,769
Провел на форуме:
3718311

Репутация: 1118


Отправить сообщение для POS_troi с помощью ICQ
По умолчанию

эту тему на одну страницу назад отлистни

Вернусь к своему вопросу =)

Пытаюсь загрузить картинку из ресурсов программы

Код:
Image ^ image = Bitmap::FromResource(hInstance,"IDB_BITMAP1");
При запуске получаю ошибку

Цитата:
Необработанное исключение типа "System.ArgumentException" произошло в System.Drawing.dll Дополнительные сведения: Недопустимый параметр.
Компилятор не ругается. (среда MSVC2009 SP1)

В чем мой глюк?

P.S. Можно было бы так юзать

Код:
this->BackgroundImage = (cli::safe_cast<System::Drawing::Image^  >(resources->GetObject(L"$this.BackgroundImage")));
Но к сожалению студия постоянно обновляет файл resX =(

--------------------------------------------------------------

Допетрил =))

Вообщем создал файл all.resX и запхал туда все необходимые мне ресурсы, далее классом ResourceManager вытащил и подставил куда нужно

Код:
// + GOOD + //
ResourceManager ^resourceManager = gcnew ResourceManager("Project.all", System::Reflection::Assembly::GetExecutingAssembly());
Project.all - Project - Имя проэкта ака Пространство имен, all - имя файла ресурсов.
Код:
pictureBox1->Image = (Image ^)resourceManager->GetObject("image1");
// - GOOD - //
Если нужно подгрузить текст из ресурсов то так
Код:
label1->Text = resourceManager->GetString("String1");
С файлом rc так и недопетрил, его вообще возможно использовать в VC.NET ?

Последний раз редактировалось POS_troi; 28.11.2009 в 23:16..
 
Ответить с цитированием

  #4387  
Старый 29.11.2009, 05:46
Gray_Wolf
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
Провел на форуме:
1284900

Репутация: 399
По умолчанию

Есть строка
Код:
unsigned char buf[16];
содержащая 32 шестнадцатеричных символа.

Нужно получить строку содержащую ASCII коды этих символов:
если
buf="aaa"
нужно получить
buf2="616161"

основная проблема в том что функция в которой это всё должно происходить на данный момент запускается ~860 000 раз в секунду и "тупое" преобразование может её очень сильно замедлить...

UPD:
помогли в другом месте.
Используется вставка ассемблера:
Код:
inline void HexToAscii(unsigned char *szTo, unsigned char *pFrom, int n)
{
   DWORD szHex[4];
   szHex[0] = '3210';
   szHex[1] = '7654';
   szHex[2] = 'ba98';
   szHex[3] = 'fedc';

   __asm
   {
   pushad

   mov esi,pFrom
   mov edi,szTo
   lea edx,szHex

L1:   movzx eax,byte ptr[esi]
   inc esi

   mov ecx,eax
   and eax,0xF
   shr ecx,4

   movzx ecx,byte ptr[edx+ecx]
   movzx eax,byte ptr[edx+eax]

   shl eax,8
   or eax,ecx

   mov [edi],ax
   add edi,2

   dec n
   jNZ short L1

   popad
   }
}

Последний раз редактировалось Gray_Wolf; 29.11.2009 в 09:13..
 
Ответить с цитированием

  #4388  
Старый 29.11.2009, 15:00
NetSter
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме:
4275992

Репутация: 1188


По умолчанию

у меня такой вопрос
проблема состоит в том что нужно переменную типа FLOAT вывести на экран через dc.TextOut

переменная входит в DLL, обрабатывается и выходит из DLL такого же типа.

код DLL

PHP код:
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <windows.h>
#include <stdio.h>

int calc (float cm)

{
float cm1 cm;

CString t;

t.Format(_T("%f"), cm1);

AfxMessageBox(t);
return 
cm1;


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

PHP код:
      float res;
    
HINSTANCE hDll;
    
hDll=::LoadLibrary("MyDll");
    if (
hDll == NULL
    {
        ::
MessageBox(NULL,"Файл MyDll.dll не найден!","File MyDll.dll not found!",MB_OKMB_ICONSTOP);
    }
    else
    {
    
typedef float (*FUN)(float);
    
FUN func;
    
func=(FUN)::GetProcAddress(hDll"calc");
    
res=(*func)(cm);
    
int resint = (int)res;
    { 
    
BE_RUN=1;
    
COpenWnd *OpenWnd=new COpenWnd(this);
        
OpenWnd -> ShowWindow(SW_SHOWNORMAL);
        
OpenWnd -> UpdateWindow();
        
CClientDC dc(OpenWnd);
        
sprintf(s,"%d",res);
    
dc.SetTextColor(RGB(0,0,255));
    
dc.TextOut35 45"Результат = "); 
        
dc.TextOut(195,45,s,strlen(s));
    }
    ::
FreeLibrary(hDll);
    } 

для типа INT все пашет, а FLOAT не могу вывести в dc.TextOut

кто что думает?
помогите разобраться)
Заранее большое спасибо.

месседж бокс в длл кинул для проверки поступает ли значение туда. все норм.
а вот после в текс выводит бред какой то
где то с типами напутал...

-------------------------------
Проблема решена
https://forum.antichat.ru/showpost.p...postcount=4393

Последний раз редактировалось NetSter; 29.11.2009 в 15:56..
 
Ответить с цитированием

  #4389  
Старый 29.11.2009, 15:17
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

Цитата:
для типа INT все пашет, а FLOAT не могу вывести в dc.TextOut
что значит не можешь вывести?
Код:
sprintf(s,"%f",res);
 
Ответить с цитированием

  #4390  
Старый 29.11.2009, 15:25
NetSter
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме:
4275992

Репутация: 1188


По умолчанию

Цитата:
Сообщение от razb  
что значит не можешь вывести?
Код:
sprintf(s,"%f",res);
тогда вот что получается



я уже пробовал
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Сценарии/CMF/СMS 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ