|
Mostrar Temas
|
Páginas: [1] 2
|
1
|
Programación / .NET (C#, VB.NET, ASP) / titlebar personalizada y botones del sistema
|
en: 30 Mayo 2012, 18:56 pm
|
estoy haciendo un ui en csharp y estoi tratando de poner un barra mas personalizada de titulo. quisiera saber si puedo mover el grupo de botones del sistema, minimizar maximizar y cerrrar, si pueden ser movidos a otra parte del form. como puede hacerse , ya que lo que quiero es hacer una barra personalizada.
|
|
|
2
|
Programación / Programación Visual Basic / apagado de pc en vb
|
en: 7 Marzo 2012, 05:33 am
|
estoy trtando de hacer andar una funcion de apagado de pc pero por alguna razon no funciona, lo quiero hacer en vb6 , lo depure con msg box porque no se todavia como depurar con vb (empece hace unos dias XD) y necesito hacer andar esta funcion. se trta de reiniciar la pc cuando apreto un button mi depuracion me dijo que el la ejecucion cae en el primer message que dice "UNO" y sale, pero por que si en c anda bien esto? agradeceria que me solucionen el funcionamiento de esto chicos Private Sub Command2_Click()
Dim MsgRet As Integer MsgRet = MsgBox("Desea apagar su pc?", 36, MB_OK)
If MsgRet = 6 Then
Dim OsInfo As OSVERSIONINFO OsInfo.dwOSVersionInfoSize = Len(OSVERSIONINFO)
If OsInfo.dwPlatformId = VER_PLATFORM_WIN32_NT Then
Dim hToken As Long Dim tkp As TOKEN_PRIVILEGES If Not OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, VarPtr(hToken)) Then Call MsgBox("UNO", 36, MB_OK) End End If 'Call MsgBox("DOS", 36, MB_OK) Dim tmpLuid As LUID Call LookupPrivilegeValue(0, SE_SHUTDOWN_NAME, tmpLuid) tkp.Privileges(0).vLuid = tmpLuid tkp.PrivilegeCount = 1 tkp.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED Call AdjustTokenPrivileges(hToken, 0, tkp, 0, ByVal 0&, ByVal 0&)
If Not GetLastError() = ERROR_SUCCESS Then End End If 'Call MsgBox("TRES", 36, MB_OK) If ExitWindowsEx(EWX_POWEROFF Or EWX_FORCE, 0) = 0 Then End If End If End End If
End Sub
|
|
|
3
|
Programación / Programación Visual Basic / cast parametro null
|
en: 5 Marzo 2012, 08:04 am
|
en c esto es AdjustTokenPrivileges(hToken, 0, tkp, 0, (TOKEN_PRIVILEGES) 0, 0) necesito en vb como hacerlo, osea esta linea es el problema con el parametro 5 Call AdjustTokenPrivileges(hToken, 0, tkp, 0, 0, 0) :/
|
|
|
4
|
Programación / Programación C/C++ / algunma mejor idea para la edad?
|
en: 9 Febrero 2012, 20:27 pm
|
este codigo da la edad aproximada, quisiera si me pueden ayudar a hacer qeu este codigo sea perfecto agradezco su interes bool esbisiesto(int a) { bool bisiesto=false; if(a%4==0) bisiesto=true; if((a%100==0) && (a%400!=0)) bisiesto=false; return bisiesto; }
unsigned int CalcularEdad(Fecha birthdate) { int AnioActual, AA, MesActual, MM, DiaActual, DD; int año, Mes, Dia;
int MonthDays[2][12] = { //{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, //{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {31, 28, 30, 31, 30, 31, 31, 31, 30, 31, 30, 31}, {31, 29, 30, 31, 30, 31, 31, 31, 30, 31, 30, 31}, }; SYSTEMTIME time; GetLocalTime(&time); AA=birthdate.getAnyo(); MM=birthdate.getMes(); DD=birthdate.getDya(); AnioActual=time.wYear; MesActual=time.wMonth; DiaActual=time.wDay; año = AA-AnioActual; if( MesActual <= MM ) { Mes = MM - MesActual; } else { Mes = MM+12-MesActual; año = año -1; } if( DiaActual <= DD ) { Dia = DD - DiaActual; } else { Dia=DD+MonthDays[esbisiesto(AA)][MM-1]-DiaActual; Mes = Mes -1; } if( Mes < 0 ) { año = año - 1; Mes = 12 + Mes; } unsigned int Arreglo=año*-1; //Result = Format('Años: %.0f, Meses: %.0f, Dias: %.0f', [año, Mes, Dia]); return Arreglo; }
el codigo fue sacado de u n codigo de visual basic en google y lo modifique pero necesito hacerlo andar bien :|
|
|
|
5
|
Programación / Programación C/C++ / matrices con notasion de pnteros
|
en: 1 Diciembre 2011, 19:20 pm
|
un programa bascico de una matriz quiero hacer por ejemplo de 5x5 pero no con notasion de indice sino con notasion de puntero,
void f_matriz(int m[][5]) { }
int main() { int m[5][5]; f_matriz(m);
return 0; }
esa funcion de matriz deberia cargar 5 numeros y mostrarlos pero usando no la de indices, como puedo hacer porque nunca probe esta notasion con matrices
|
|
|
6
|
Programación / Programación C/C++ / duda con macro con if else if else
|
en: 23 Septiembre 2011, 15:08 pm
|
quiero hacer una macro asi, pero no se como hacerla realmente #define FOPEN(a,b) if(a==1) b=fopen("asd1.dat","ab"); / else if(a==2) b=fopen(""asd2.dat,"ab"); el problema es que no se bien las reglas para crear macros asi complejas necesitaria ayuda
|
|
|
7
|
Programación / Programación C/C++ / ingreso de texto en GLUT
|
en: 11 Septiembre 2011, 20:14 pm
|
hola estoy haciendo un programa de loguin pero ahora he decicido pasarlo a GLUT, usando esta libreria de opengl. el primer problema que encontre es el ingreso de texto, porque cuando lo hago desde modo consola uso obviamente cin.getline para el ingreso de nombre de usuario y constraseña, pero en glut solo se como hacer salidas de texto, pero no entradas, es decir como puedo hacer ... muestro algo de lo que tengo hasta ahora es solo ejemplos de codigo de glut, pero lo que necesito no lo tengo, osea el ingreso de texto. http://www.daniweb.com/software-development/cpp/threads/366395void output(int x, int y, char *string) { int len, i;
glRasterPos2f(x, y); len = (int) strlen(string); for (i = 0; i < len; i++) { glutBitmapCharacter(font, string[i]); } }
MAX_LEN = 20; #include <conio.h> void display(void) { glClear(GL_COLOR_BUFFER_BIT); output(0, 24, "Welcome to MyProgram"); output(100, 100, message); output(50, 145, "Ingrese nombre de usuario");
char password[20]; int count; count = 0; do { unsigned char input = getch(); unsigned char* ptr; if(input == 13) { break; }
output(50, 175, "*");
ptr = &input; password[count] = *ptr; count++;
}while(count < MAX_LEN);
output(50, 200, "Ingrese contrasenia"); glutSwapBuffers(); }
como se ve luego de que pide el ingreso del nombre, yo trate de hacer que los caracteres ingresados, se pasen a '*' como son los sistemas de loguin. pero esto colapsa el programa. alguna idea ?
|
|
|
8
|
Programación / Programación C/C++ / duda doble puntero char a matriz de char
|
en: 4 Septiembre 2011, 19:59 pm
|
yo se que este tema fue discutido pero todavia no entiendo porque esto que compilamdo bien, no funciona. no se porque el compilador no reconoce mi declaracion char **mVector = (char**)malloc(sizeof(char)*(filas*columnas));
como si fuera una matriz, mas bien lo reconoce como un vector de vectores, pero como creo entonces una matriz de char dinamicamente? int main(int argc, char *argv[]) { int filas=7; int columnas=16; char **mVector = (char**)malloc(sizeof(char)*(filas*columnas)); //memset(mVector, 0, sizeof(char)*(filas*columnas)); for(int r=0;r<7;r++) for(int s=0; s<16;s++) mVector[r][s]=0;
for(int rr=0;rr<7;rr++) for(int ss=0; ss<16;ss++) cout << mVector[rr][ss]<<endl;//ERROR al leer!!!!!!!!
free(mVector);
system("pause"); return 0; }
http://foro.elhacker.net/programacion_cc/martiz_de_char_doble_puntero-t333527.0.htmlen mi anterior tema me dijeron que debia reservar memoria primero para los vectores supongamos que son 7 en mi caso, y despues sus longitudes osea 16, pero me confunde esta forma de hacerlo, no hay una mas directa asi como en el codigo mostrado ? >> esto fue solucionado asi pero como ya digo, no se porque debe hacerse asi por partes y no todo junto (osea multiplicando filas por columas lo cual da la dimension). ... void main() { int filas=7; int columnas=16; //char** mVector = (char**)malloc(sizeof(char)*(filas*columnas)); char** mVector = (char**)malloc(sizeof(char*)*(filas*columnas)); for(int read=0;read<filas;read++){ mVector[read] = (char*)malloc(sizeof(char)*columnas); }
//memset(mVector, 0, sizeof(char)*(filas*columnas)); for(int r=0;r<7;r++) for(int s=0; s<16;s++) mVector[r][s]='X';
for(int rr=0;rr<7;rr++) for(int ss=0; ss<16;ss++) cout << rr << ":" << ss << " " << mVector[rr][ss]<<endl; free(mVector); system("pause"); }
si alguien fuera amable de decirme porque o por deduccion contraria, que es lo que ahce esto entonces char** mVector = (char**)malloc(sizeof(char)*(filas*columnas));
porque ami forma de apreciarlo esto calcula la dimension total ...
|
|
|
9
|
Programación / ASM / getch propia para no usar getch de conio
|
en: 22 Agosto 2011, 01:30 am
|
este es un requerimiento, necesito esta funcion getch andando por favor, la parte principal esta en este lenguage que no entiendo, y encima lo debo estudiar ironicamente para mi uni, parecen 3 lineas pero no se que hacen y no anda, me tira error cuando la trato de usar. alguno puede arreglar esta funcion se lo agracederia unsigned char GETCH(void) { unsigned char key;
_asm {
start: mov ah,0 int 0x16 cmp al,0 je start ; don't process special keys mov key,al }
return key; }
|
|
|
10
|
Programación / Programación C/C++ / contraseña disimulada con *
|
en: 22 Agosto 2011, 01:23 am
|
hola q tal, este ejemplo lo saque de google, es sobre algo que estaba haciendo, estaba tratando de ocultar el ingreso de una clave por medio de convertir lo que se teclea en * (osea hasteriscos) no compila en codeblocks, pero compila en visual studio. lo que necesito que me ayuden es en la parte de _asm porque es una forma de evitar el uso de getch de conio y usar esamblador sino corresponde diganme que muevo el tema a el foro de ASM lo que pasa que tira error en esa parte #include <windows.h> #include <stdio.h>
typedef unsigned char tiny;
tiny GETCH(void);
int main(void) { tiny input; tiny *ptr; char password[20]; int count; system("cls"); // too lazy not to cheat here count = 0; printf("enter your password: "); do { input = GETCH(); if(input == '\xD') break; // enter pressed? putc('*', stdout); ptr = &input; password[count] = *ptr; count++; }while(count < 20); password[count++] = '\0'; // terminate the string printf("\nyour password: %s\n", password);
return 0; }
tiny GETCH(void) { tiny key;
_asm {
start: mov ah,0 int 0x16 cmp al,0 je start ; don't process special keys mov key,al }
return key; }
|
|
|
|
|
|
|