|
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: ... typedef struct { char nombre[30]; char direccion[30]; char telefono[15]; float sueldo; ... } Cpersona; ... int main() { Cpersona p[1000]; int inx = 4; ... /* Ejemplo, referirse a un dato especifico de la persona almacenada en la quinta posicion del arreglo: */ printf("%s", p [inx ]. telefono); ...
Saludos. Muchas gracias, voy a revisar sobre estructuras en C y luego edito. Gracias por responder, como puse en el título es lenguaje C, de igual forma lo revisaré.
|
|
|
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 Imports System.Runtime.InteropServices Public Class Form1 Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) If m.Msg = WM_HOTKEY Then Dim id As IntPtr = m.WParam Select Case (id.ToString) Case "100" SendKeys.Send("KEYS TO SEND") End Select End If MyBase.WndProc(m) End Sub Public Const WM_HOTKEY As Integer = &H312 <DllImport("User32.dll")> _ Public Shared Function RegisterHotKey(ByVal hwnd As IntPtr, _ ByVal id As Integer, ByVal fsModifiers As Integer, _ ByVal vk As Integer) As Integer End Function <DllImport("User32.dll")> _ Public Shared Function UnregisterHotKey(ByVal hwnd As IntPtr, _ ByVal id As Integer) As Integer End Function Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing UnregisterHotKey(Me.Handle, 100) End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load RegisterHotKey(Me.Handle, 100, MOD_ALT, Keys.G) End Sub End Class
|
|
|
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. Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean If msg.WParam.ToInt32 = CInt(Keys.F1) Then MsgBox("Tecla F1 pulsada") End If Return MyBase.ProcessCmdKey(msg, keyData) End Function
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
|
|
|
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 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 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 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 Bus 001 Device 004: ID 0cf3:9271 Atheros Communications, Inc. AR9271 802.11n Esta es wlan0: 05:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
Saludos y gracias de antemano!
|
|
|
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. #include<cstdlib> #include<ctime> #include<iostream> #include<iomanip> using namespace std; int f; int* num = new int[f]; bool checkrep(int n, int num[]) { for(int i = 0; i < f; i++) if(n == num[i]) return true; return false; } int main() { cout << "f = "; cin >> f; srand(time(NULL)); int n, i; for(i = 0; i < f; i++) { do n = 1 + rand() % f; while(checkrep(n, num)); num[i] = n; cout << num[i] << " - "; } float prom, sum = 0; int nmayor = num[0]; for(i = 0; i < f; i++) { sum = sum + num[i]; if(nmayor < num[i]) nmayor = num[i]; } prom = sum/f; cout << endl << "El mayor de los numeros es: " << nmayor << endl; cout << "La suma de los numeros es: " << sum << endl; cout << "El promedio de los numeros es: " << setprecision(3) << prom << endl; }
Ahora intentaré validar "f" para que solo se puedan introducir números y en un rango determinado. Saludos.
|
|
|
|
|
|
|