elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7 8
31  Programación / Programación C/C++ / Re: [C] Funciones para manejar procesos en: 7 Octubre 2011, 14:50 pm
puede ser que NEW y DELETE llaman por debajo a malloc y free, me parecio haber visto eso en el depurador ....

muy weno el codes pero ponele free , mas si haces mallocs dentro de un bucle con lo cual se asigna memoria continuamente y nunca se libera y el proceso se agranda mucho, aparte cuando cerras el proceso se prduce una excepcion y el sistema operativo lo debe liberar me parece  :xD
32  Programación / Programación C/C++ / Re: Programa para leer lineas de un archivo en c++ y guardarlas en orden alfabetico en: 5 Octubre 2011, 03:12 am
while-fread + strcmp + for*cant_registros + fwrite  ::)
33  Programación / Programación C/C++ / Re: Ayuda con codigo en c++, problema con strcmp en: 5 Octubre 2011, 01:57 am
claro cuando declaras un puntero char debes asignarle inmediatamente alguna cadena y un cero terminante ej:

char *cadena = "asdasdasd\0";

sino queda como un puntero NULL y no puede usarse. sino te conviene declarar un vector de char algo como esto

char vector[128] = {0};

y lo inicialisas con cero de esa manera.

cuando asignas desde un puntero char a un char debes hacerlo como si se tratara de un vector de char, usando notasion de corchetes asi

cadena[posicion] = char

no se si me explico, y las funciones de cadena solo trabajan con cadenas terminadas en cero como bien se dijo..  aunque algunas reasignan el cero terminante ::)

34  Programación / Programación C/C++ / Re: leer cadena de editbox en: 5 Octubre 2011, 01:51 am
el problema estaba en el parametro que le pasaba a sendmessage, no devia pasarle el manejador del dialogo sino el manejador del editbox  ::)
ahora ando la cosa

35  Programación / Programación C/C++ / leer cadena de editbox en: 5 Octubre 2011, 00:03 am
estoy tratando de leer el contenido que se ingresa a un editbox el cual esta en un dialogbox secundario .... encontre este codigo en visual basic que no entiendo muy bien pero trate de pasarlo a c o de entender al menos lo que hace, pero no entiendo como hacer esto aun

Código:
Public Function GetTextBoxLine(hWnd As Long) As String
 'INPUT: hWnd = Handle to text box
 'OUTPUT: Text of specified TextBox Control

 Dim lngLineCount As Long
 Dim lngLineNumber As Long
 Dim lngRet As Long
 Dim lngLen As Long
 Dim lngFirstCharPos As Long
 Dim bytBuffer() As Byte
 Dim strAns As String

 'get number of lines
 lngLineCount = SendMessage(hWnd, EM_GETLINECOUNT, 0, 0&)

 For lngLineNumber = 0 To lngLineCount - 1
 'first character position of the line
 lngFirstCharPos = SendMessage(hWnd, EM_LINEINDEX, lngLineNumber, 0&)

 'length of line
 lngLen = SendMessage(hWnd, EM_LINELENGTH, lngFirstCharPos, 0&)

 ReDim bytBuffer(lngLen) As Byte

 bytBuffer(0) = lngLen

 'text of line saved to bytBuffer
 lngRet = SendMessage(hWnd, EM_GETLINE, lngLineNumber, bytBuffer(0))

 If lngRet Then
 strAns = strAns & Left$(StrConv(bytBuffer, vbUnicode), lngLen)
 End If
 Next

 GetTextBoxLine = strAns
 End Function


asi esta mi aproximacion de codigo pero no es asi me parece

Código:
long lngFirstCharPos = SendMessage(hWnd, EM_LINEINDEX, 0, 0);
int lngLen = SendMessage(hWnd, EM_LINELENGTH, lngFirstCharPos, 0);
chBuffer1[0] = lngLen;
long lngRet = SendMessage(hWnd, EM_GETLINE, 0, chBuffer1);


antes lo habia hecho asi pero tampoco recivia nada

Código:

char chBuffer1[MAX_PATH];//={0};
int t1=SendDlgItemMessage(hWnd, IDC_ART1, EM_GETLINE, 0, (LPARAM)(LPSTR)chBuffer1);//LB_GETSTRING

char asd[12];

sprintf(asd, "%d", t1);

MessageBox(hWnd,chBuffer1,asd,0);

agradezo su ayuda  :)
36  Programación / Programación C/C++ / Re: detectar item de lista con doble click y obtener id de elemento en: 4 Octubre 2011, 22:23 pm
Código:
case IDC_LIST2:
switch(HIWORD(wParam))
{
//case LBN_SELCHANGE:
case LBN_DBLCLK:
{
int dwSel = SendDlgItemMessage(hDlg, IDC_LIST2, LB_GETCURSEL, 0, 0);

int num = dwSel;
   char num_str[255];
   itoa(num,num_str,10);

if(dwSel != LB_ERR)
{
MessageBox(hDlg,num_str,"Final Lab2",0);
}

asi funciona, pero asi estaria bien? osea reemplazando el LBN_SELCHANGE por el LBN_DBLCLK, o hay otra forma mas profesional  :rolleyes:

pregunto porque se dan los dos casos, y es como que el GETCURSEL estaria suponiendo que se hizo una seleccion pero, en realidad se hizo dentro del mensaje de DBLCLK
37  Programación / Programación C/C++ / Re: detectar item de lista con doble click y obtener id de elemento en: 4 Octubre 2011, 22:16 pm
lo que si  que cuando hago click en un elemento se activa LBN_SELCHANGE , pero yo quisiera al hacer doble click asi puedo simular una seleccion de un elemento de la lista y luego hacer algo al respecto, por ejemplo "cargar articulo" que abra otro dialog para cargar un artivulo
en conclusion como activar con doble click XD

38  Programación / Programación C/C++ / Re: detectar item de lista con doble click y obtener id de elemento en: 4 Octubre 2011, 22:06 pm
ai si gracias  ::)

Código:
case IDC_LIST2:
switch(HIWORD(wParam))
{
case LBN_SELCHANGE:
{
int dwSel = SendDlgItemMessage(hDlg, IDC_LIST2, LB_GETCURSEL, 0, 0);

int num = dwSel;
        char num_str[255];
        itoa(num,num_str,10);

if(dwSel != LB_ERR)
{
MessageBox(0,num_str,"TP2",0);
}


si conoces una mejor forma avisame XD


39  Programación / Programación C/C++ / detectar item de lista con doble click y obtener id de elemento en: 4 Octubre 2011, 21:37 pm


Uploaded with ImageShack.us

esta en la parte de maindialog
Código:
case IDC_LIST2:
switch(HIWORD(wParam))
{
case LBN_SELCHANGE:
{
                                }
                        }

de esta forma detecta si hubo seleccion de items, pero yo quisiera saber de que item se trata, osea necesitaria una ID de elemento o algo que me diga cual elemento se ha seleccionado..

40  Programación / Programación C/C++ / un dialogo dentro de otro en: 4 Octubre 2011, 19:33 pm
hola estoy creando un programa que consta de un dialogbox y tiene dos listbox y algunos botones, lo que quisiera hacer es que al presionar uno de los botones se abra otra ventana de dialogo... mi pregunta seria que funcion debo usar o dialogbox o createdialog y si lo puedo hacer
en la parte adonde detecto la presion del boton7 en el caso de mi codigo, en verdad no se bien adonde hacerlo  :-[
tambien me serviria si alguien tiene algun codigo de ejemplo adonde ya usen dialogos que se abren dentro de otro existente (seria como decir dialogo padre y dialogos hijos), es que no encontre ningun ejemplo y soy iniciado en esto.. solo uso c , es decir no uso mfc  :xD

Código:
INT_PTR CALLBACK DialogProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
   case WM_COMMAND:
      switch(LOWORD(wParam))
      {
               case IDC_BUTTON7:
{
                         if(  gbCaso == 1 )
                         {

                                /* Puedo crear el dialog box en este lugar al presionarse el boton ? */
                         }
              }
      }
}

en el WinMain

Código:
//creo el dailogo principal
hDlg = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_DIALOG1), 0, (DLGPROC)DialogProc, 0);


EI: juntando mensajes.

XD  era algo facil pense que era mas complicado, con createdialog y luego algo como esto, gracias google  :P

if(g_hSD_d1 != NULL)
{
    ShowWindow(g_hSD_d1, SW_SHOW);
}


y luego se libera desde su propio callback
Páginas: 1 2 3 [4] 5 6 7 8
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines