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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: [1] 2 3
1  Programación / Programación C/C++ / Re: [C] Array de String-arrays en: 15 Junio 2013, 18:29 pm
Hola EAX_.

Me parece mas natural organizar los datos de las personas en una estructura y crear un arreglo de estructuras para almacenar la totalidad de personas.

Un ejemplo muy simplificado:
Código
  1. ...
  2. typedef struct {
  3.  char nombre[30];
  4.  char direccion[30];
  5.  char telefono[15];
  6.  float sueldo;
  7.  ...
  8. } Cpersona;
  9.  
  10. ...
  11.  
  12. int main()
  13. {
  14.  Cpersona p[1000];
  15.  int inx = 4;
  16.  ...
  17.  /* Ejemplo, referirse a un dato especifico de la
  18.      persona almacenada en la quinta posicion del arreglo: */
  19.   printf("%s", p[inx].telefono);
  20.  ...
  21.  

Saludos.  :)


Muchas gracias, voy a revisar sobre estructuras en C y luego edito.

¿C o C++?

En C++ tienes la clase vector que te permite eliminar elementos de un array:
http://www.cplusplus.com/reference/vector/vector/

Gracias por responder, como puse en el título es lenguaje C, de igual forma lo revisaré.
2  Programación / Programación C/C++ / [C] Array de String-arrays en: 15 Junio 2013, 04:37 am
Hola,

Estoy intentando hacer una especie de manejador de usuarios, la idea es guardar datos de personas en un array y ese array guardarlo en otro array que contenga a todas las personas. Estos arrays deben ser modificables y tengo que tener la posibilidad de eliminar o modificar un elemento del array.

Todo esto es para ayudar a una persona, no conozco el lenguaje C y se me ha hecho complicado a pesar de que he buscado material en internet.

De antemano, gracias.

EDITO:

Esta es la idea, pero con strings:
http://rapidpurple.com/blog/tutorials/c-tutorials/programming-in-c-array-of-arrays/
3  Programación / .NET (C#, VB.NET, ASP) / Re: [VB.NET] Pegar texto en otra ventana en: 5 Octubre 2012, 03:04 am
Agradezco tu respuesta, gracias a eso pude llegar a algo más acercado a mi realidad. Encontré algo interesante que es la función RegisterHotKey, con eso logré definir un atajo de teclado que fuera de la aplicación aun es posible ejecutarlo y, con eso, puedo hacer alguna acción (como enviar el texto que necesito) Ahora el único problema es que me gustaría que el HotKey fuese una sola tecla.

Si alguien sabe por favor responder.

Saludos

Código
  1. Imports System.Runtime.InteropServices
  2.  
  3. Public Class Form1
  4.    Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
  5.        If m.Msg = WM_HOTKEY Then
  6.            Dim id As IntPtr = m.WParam
  7.            Select Case (id.ToString)
  8.                Case "100"
  9.                    SendKeys.Send("KEYS TO SEND")
  10.            End Select
  11.        End If
  12.        MyBase.WndProc(m)
  13.    End Sub
  14.  
  15.  
  16.    Public Const WM_HOTKEY As Integer = &H312
  17.  
  18.  
  19.    <DllImport("User32.dll")> _
  20.  Public Shared Function RegisterHotKey(ByVal hwnd As IntPtr, _
  21.                      ByVal id As Integer, ByVal fsModifiers As Integer, _
  22.                      ByVal vk As Integer) As Integer
  23.    End Function
  24.  
  25.    <DllImport("User32.dll")> _
  26.    Public Shared Function UnregisterHotKey(ByVal hwnd As IntPtr, _
  27.                        ByVal id As Integer) As Integer
  28.    End Function
  29.  
  30.    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
  31.        UnregisterHotKey(Me.Handle, 100)
  32.    End Sub
  33.  
  34.    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  35.        RegisterHotKey(Me.Handle, 100, MOD_ALT, Keys.G)
  36.    End Sub
  37. End Class
  38.  
4  Programación / .NET (C#, VB.NET, ASP) / Re: [VB.NET] Pegar texto en otra ventana en: 5 Octubre 2012, 00:57 am
Hola, gracias por responder. Tengo una duda. Con esa clase que me das se supone que envías mensajes a una ventana en especifico cierto?

Sabes si hay una forma de que (mientras la ventana no esté activa) siga monitoreando mis teclas y pueda activar un evento?

Me gustaría aprovechar el evento OnKeyPress del formulario para lograr enviar algun texto a nivel PC asi como un CTRL + V mientras mi formulario no está activo.

Con respecto a la clase, estuve tratando de entenderla y no lo logré.

Saludos
5  Programación / .NET (C#, VB.NET, ASP) / [VB.NET] Pegar texto en otra ventana en: 4 Octubre 2012, 00:55 am
Hola comunidad,
    He estado investigando sobre este tema en particular hace unos días y no he encontrado lo que necesito. Lo que quiero hacer es que mi programa envíe la instrucción de pegar (CTRL + V) en otra ventana al momento de que yo utilice un atajo de teclado.

Estuve buscando eventos que podrían ayudarme y al final me encontré con una función que me permitió bindear una tecla y pude enviar por teclado lo que quería pegar.

Código
  1.    Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
  2.        If msg.WParam.ToInt32 = CInt(Keys.F1) Then
  3.            MsgBox("Tecla F1 pulsada")
  4.        End If
  5.      Return MyBase.ProcessCmdKey(msg, keyData)
  6.    End Function
  7.  

Enviaba la cadena que quiero pegar con Sendkeys.Send() pero el problema es que si no tengo activa la ventana de mi aplicación la tecla no es procesada por el programa.

Confío que alguien me podrá dar una ayudadita

Gracias de antemano y saludos
6  Sistemas Operativos / GNU/Linux / Re: [Debian Squeeze] Restaurar adaptador de red en: 29 Enero 2012, 14:55 pm
Solucionado después de un reboot.

Gracias por responder.
7  Sistemas Operativos / GNU/Linux / Re: CAMBIAR DE VERSION en: 29 Enero 2012, 14:51 pm
Hola,
    Mira lo único que encontré para linux está en el ftp oficial de mozilla
pero es la versión 3.6, mira este link.

http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.6/linux-i686/

Saludos.
8  Sistemas Operativos / GNU/Linux / [Debian Squeeze] Restaurar adaptador de red en: 29 Enero 2012, 02:11 am
Hola,
   He estado jugando un poco con los adaptadores de red para intentar darle una IP del modelo 192.168.0.X a mi Windows XP en virtualbox y no pude. Como consecuencia mi adaptador de red wlan0 pareciera que no puede conectarse a internet mediante WICD.

¿Hay alguna forma de "restaurarlo" por defecto? O bueno, si alguien se le ocurre donde puede estar el error les dejo mis datos.

iwconfig
Código:
lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11bgn  ESSID:off/any 
          Mode:Managed  Frequency:2.437 GHz  Access Point: Not-Associated   
          Tx-Power=15 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on
         
pan0      no wireless extensions.

wlan2     IEEE 802.11bgn  ESSID:"tty9" 
          Mode:Managed  Frequency:2.437 GHz  Access Point: 00:15:E9:05:81:84   
          Bit Rate=54 Mb/s   Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=63/70  Signal level=-47 dBm 
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:173   Missed beacon:0

ifconfig -a
Código:
eth0      Link encap:Ethernet  HWaddr e8:11:32:12:dc:9b  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:16

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:14174 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14174 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:6298300 (6.0 MiB)  TX bytes:6298300 (6.0 MiB)

pan0      Link encap:Ethernet  HWaddr b2:53:61:b4:b9:62 
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr 4c:ed:de:ec:3b:c3 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:387691 errors:0 dropped:0 overruns:0 frame:0
          TX packets:285466 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:484055345 (461.6 MiB)  TX bytes:43696143 (41.6 MiB)

wlan2     Link encap:Ethernet  HWaddr d8:5d:4c:8e:56:fc 
          inet addr:192.168.0.199  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::da5d:4cff:fe8e:56fc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:73731 errors:0 dropped:0 overruns:0 frame:0
          TX packets:46272 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:100444476 (95.7 MiB)  TX bytes:5875320 (5.6 MiB)

lsmod | grep -i ath
Código:
lsmod | grep -i ath
ath9k_htc              41720  0
compat_firmware_class     4441  1 ath9k_htc
ath9k                  62974  0
mac80211              183116  2 ath9k_htc,ath9k
ath9k_common            1399  2 ath9k_htc,ath9k
ath9k_hw              307380  3 ath9k_htc,ath9k,ath9k_common
ath                    11186  4 ath9k_htc,ath9k,ath9k_common,ath9k_hw
cfg80211              121811  4 ath9k_htc,ath9k,mac80211,ath
compat                 13272  4 ath9k_htc,ath9k,mac80211,cfg80211
led_class               1757  3 ath9k_htc,ath9k,compat
usbcore                99329  7 ath9k_htc,uvcvideo,compat,usbhid,uhci_hcd,ehci_hcd

Cabe destacar que ahora estoy conectado con mi tarjeta wireless USB.

lsusb | grep -i ath
Código:
Bus 001 Device 004: ID 0cf3:9271 Atheros Communications, Inc. AR9271 802.11n

Esta es wlan0:
Código:
05:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)

Saludos y gracias de antemano!
9  Programación / Programación C/C++ / Re: [C++ Linux] Explicación de codigo [Principiante] en: 28 Enero 2012, 19:39 pm
Ooops, tienes razón. Entonces, estaría correcto ponerlo justo debajo de

Código
  1. cout << "f = ";
  2. cin >> f;

Y no habría problema.

Gracias denuevo (:
10  Programación / Programación C/C++ / Re: [C++ Linux] Explicación de codigo [Principiante] en: 28 Enero 2012, 19:17 pm
Una vez más gracias por sus respuestas. Imaginé que iba a ser algo tan simple como el resto de la división (Acostumbraba llamarlo "lo que sobra").

Bien, creo haber entendido. Por último les dejo nuevamente el código para que lo vean y agradecería que me dijeran si el orden está correcto.

Código
  1. #include<cstdlib>
  2. #include<ctime>
  3. #include<iostream>
  4. #include<iomanip>
  5. using namespace std;
  6.  
  7. int f;
  8. int* num = new int[f];
  9.  
  10. bool checkrep(int n, int num[])
  11. {
  12.    for(int i = 0; i < f; i++)
  13.        if(n == num[i])
  14.            return true;
  15.    return false;
  16. }
  17.  
  18. int main()
  19. {
  20.  
  21. cout << "f = ";
  22. cin >> f;
  23.  
  24.    srand(time(NULL));
  25.    int n, i;
  26.    for(i = 0; i < f; i++)
  27.    {
  28.       do  
  29.        n = 1 + rand() % f;
  30.        while(checkrep(n, num));
  31.        num[i] = n;
  32.        cout << num[i] << " - ";
  33. }
  34.  
  35. float prom, sum = 0;
  36. int nmayor = num[0];
  37.  
  38. for(i = 0; i < f; i++) {
  39.  sum = sum + num[i];
  40.  if(nmayor < num[i])
  41.  nmayor = num[i];
  42. }
  43.  
  44. prom = sum/f;
  45.  
  46.        cout << endl << "El mayor de los numeros es: " << nmayor << endl;
  47.        cout << "La suma de los numeros es: " << sum << endl;
  48. cout << "El promedio de los numeros es: " << setprecision(3) << prom << endl;
  49.  
  50. }
  51.  

Ahora intentaré validar "f" para que solo se puedan introducir números y en un rango determinado.

Saludos.
Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines