Как определить всех зарегистрированных пользователей в системе? Нашел функцию, GetUserName, но она определяет только имя текущего пользователя...
эту тему на одну страницу назад отлистни Вернусь к своему вопросу =) Пытаюсь загрузить картинку из ресурсов программы Code: Image ^ image = Bitmap::FromResource(hInstance,"IDB_BITMAP1"); При запуске получаю ошибку Компилятор не ругается. (среда MSVC2009 SP1) В чем мой глюк? P.S. Можно было бы так юзать Code: this->BackgroundImage = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"$this.BackgroundImage"))); Но к сожалению студия постоянно обновляет файл resX =( -------------------------------------------------------------- Допетрил =)) Вообщем создал файл all.resX и запхал туда все необходимые мне ресурсы, далее классом ResourceManager вытащил и подставил куда нужно Code: // + GOOD + // ResourceManager ^resourceManager = gcnew ResourceManager("Project.all", System::Reflection::Assembly::GetExecutingAssembly()); Project.all - Project - Имя проэкта ака Пространство имен, all - имя файла ресурсов. Code: pictureBox1->Image = (Image ^)resourceManager->GetObject("image1"); // - GOOD - // Если нужно подгрузить текст из ресурсов то так Code: label1->Text = resourceManager->GetString("String1"); С файлом rc так и недопетрил, его вообще возможно использовать в VC.NET ?
Есть строка Code: unsigned char buf[16]; содержащая 32 шестнадцатеричных символа. Нужно получить строку содержащую ASCII коды этих символов: если buf="aaa" нужно получить buf2="616161" основная проблема в том что функция в которой это всё должно происходить на данный момент запускается ~860 000 раз в секунду и "тупое" преобразование может её очень сильно замедлить... UPD: помогли в другом месте. Используется вставка ассемблера: Code: 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 } }
у меня такой вопрос проблема состоит в том что нужно переменную типа 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_OK| MB_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.TextOut( 35 , 45, "Результат = "); dc.TextOut(195,45,s,strlen(s)); } ::FreeLibrary(hDll); } для типа INT все пашет, а FLOAT не могу вывести в dc.TextOut кто что думает? помогите разобраться) Заранее большое спасибо. месседж бокс в длл кинул для проверки поступает ли значение туда. все норм. а вот после в текс выводит бред какой то где то с типами напутал... ------------------------------- Проблема решена https://forum.antichat.ru/showpost.php?p=1722735&postcount=4393
char s[100]; ----------------------------------- проблема решена. сам в шоке как активизировалась робота мозга после того как запостил здесь вопрос. трабла была вот в чем: у нас функция с DLL интовая была PHP: int calc (float cm) { bla bla bla; } а требовали от роботы DLL тип FLOAT PHP: typedef float (*FUN)(float); тоисть сделал из интовой функции - функцию FLOAT в DLL PHP: float calc (float cm) Всем спасибо кто откликнулся !
Code: #include<iostream> #include<math> using namespace std; float SF(float x1, float x2, float x3, float y1, float y2, float y3); float PS(float x1, float x2, float x3, float y1, float y2, float y3); main() { float x1,x2,x3,y1,y2,y3,S,P; cout<<"Vvedite koordinaty x to4ki A"; cin>>x1; cout<<"Vvedite koordinaty y to4ki A"; cin>>y1; cout<<"Vvedite koordinaty x to4ki B"; cin>>x2; cout<<"Vvedite koordinaty y to4ki B"; cin>>y2; cout<<"Vvedite koordinaty x to4ki C"; cin>>x3; cout<<"Vvedite koordinaty y to4ki C"; cin>>y3; S=SF(x1, x2, x3, y1, y2, y3); P=PS(x1, x2, x3, y1, y2, y3); cout<<"Perimetr zadannogo treygol'nika raven"<<P<<"\n "<<"Ploshad' zadannogo treygol'nika ravna"<<S; } int SF (int x1, int x2, int x3, int y1, int y2, int y3) { return ((x1 – x3)·(y2 – y3) – (x2 – x3)·(y1 – y3))/2 } int PS(int x1, int x2, int x3, int y1, int y2, int y3) { return (sqrt(((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1))))+(sqrt(((x3-x2)*(x3-x2))+((y3-y2)*(y3-y2))))+(sqrt(((x1-x3)*(x1-x3))+((y1-y3)*(y1-y3)))) } Пишет в Visual C++ ошибки: Code: krew.cpp(30) : error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа) .\krew.cpp(33) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию .\krew.cpp(34) : error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
поменяй int на float в реализации Code: float SF (float x1, float x2, float x3, float y1, float y2, float y3) { //.... } со второй функцией точно также
Вот так вот Code: void randstr(int leng,char *_out) { if(leng<1025 && leng>0) { char *out=new char[1024]; char *chr; memset(out,NULL,1024); char alphabet[]="QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm"; randomize(); for(int i=0;i<leng;i++) { wsprintf(chr,"%c",alphabet[random(strlen(alphabet))]); strcat(out,chr); randomize(); } strcpy(_out,out); delete []out; } } неработает. Почему randomize(); неуспевает отработать?
доброго времени суток. Начал изучать С++, посоветуйте как наконец выбраться из консоли? Какие библиотеки\модули нужны чтобы например написать простенькое приложение с графикой? p/s гуглил нашел - gtkmm. Стоит ли его применять?
_nic я тоже ниуянепонял.жпг emillord QT(самое приоритетное), winApi, MFC или переходи на с#(winforms) krewger что то я тебе не верю код в студию
Code: #include<iostream> #include<math> using namespace std; float SF(float x1, float x2, float x3, float y1, float y2, float y3); float PS(float x1, float x2, float x3, float y1, float y2, float y3); main() { float x1,x2,x3,y1,y2,y3,S,P; cout<<"Vvedite koordinaty x to4ki A"; cin>>x1; cout<<"Vvedite koordinaty y to4ki A"; cin>>y1; cout<<"Vvedite koordinaty x to4ki B"; cin>>x2; cout<<"Vvedite koordinaty y to4ki B"; cin>>y2; cout<<"Vvedite koordinaty x to4ki C"; cin>>x3; cout<<"Vvedite koordinaty y to4ki C"; cin>>y3; S=SF(x1, x2, x3, y1, y2, y3); P=PS(x1, x2, x3, y1, y2, y3); cout<<"Perimetr zadannogo treygol'nika raven"<<P<<"\n "<<"Ploshad' zadannogo treygol'nika ravna"<<S; } float SF (float x1, float x2, float x3, float y1, float y2, float y3) { return ((x1 – x3)·(y2 – y3) – (x2 – x3)·(y1 – y3))/2 } float PS(float x1, float x2, float x3, float y1, float y2, float y3) { return (sqrt(((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1))))+(sqrt(((x3-x2)*(x3-x2))+((y3-y2)*(y3-y2))))+(sqrt(((x1-x3)*(x1-x3))+((y1-y3)*(y1-y3)))) } Code: krew.cpp(30) : error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа) .\krew.cpp(33) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию .\krew.cpp(34) : error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
вотъ... и пишите в с++ на английском Code: #include<iostream> #include<math.h> using namespace std; float SF(float x1, float x2, float x3, float y1, float y2, float y3); float PS(float x1, float x2, float x3, float y1, float y2, float y3); int main() { float x1,x2,x3,y1,y2,y3,S,P; cout<<"Vvedite koordinaty x to4ki A"; cin>>x1; cout<<"Vvedite koordinaty y to4ki A"; cin>>y1; cout<<"Vvedite koordinaty x to4ki B"; cin>>x2; cout<<"Vvedite koordinaty y to4ki B"; cin>>y2; cout<<"Vvedite koordinaty x to4ki C"; cin>>x3; cout<<"Vvedite koordinaty y to4ki C"; cin>>y3; S=SF(x1, x2, x3, y1, y2, y3); P=PS(x1, x2, x3, y1, y2, y3); cout<<"Perimetr zadannogo treygol'nika raven"<<P<<"\n "<<"Ploshad' zadannogo treygol'nika ravna"<<S; return 0; }; float SF (float x1, float x2, float x3, float y1, float y2, float y3) { return ((x1 - x3)*(y2 - y3) - (x2 - x3)*(y1 - y3))/2.0; }; float PS(float x1, float x2, float x3, float y1, float y2, float y3) { return sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))+sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2))+sqrt(((x1-x3)*(x1-x3))+((y1-y3)*(y1-y3))); }