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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Temas
Páginas: 1 2 3 [4]
31  Programación / Programación Visual Basic / Calculadora-Duda en: 17 Julio 2009, 01:08 am
Hola, analizando ayer la calculadora de windows me ha quedado una duda para hacer una implementación en vb.

Pareciera que mi cerebro está algo congelado peor no logro entender la siguiente lógica:

Para realizar las operaciones, uno ingresa un número, escoge la operación, y luego ingresa otro número,..., todo esto N veces. Bien, la calculadora no borra nunca la pantalla entre un número y otro número; lo que yo pienso es que existe una bandera que cambia a un TRUE cuando se escoge una operación, luego cuando se ingresa el próximo número, se analiza si esta bandera está en TRUE, si es así guarda el resultado en una variable, limpia el textbox y uno sigue escribiendo normalmente, ¿esto es correcto?
32  Programación / Programación Visual Basic / Duda obtener ID proceso en: 13 Julio 2009, 19:04 pm
Tengo una función que obtiene los procesos del sistema y luego según uno vaya seleccionando en un textbox coloca: "VB6.exe" "svchost.exe",etc. ¿A partir de ello se puede obtener el PID?
33  Programación / Ejercicios / Pascal-Agenda en: 13 Julio 2009, 04:37 am
Hola aqui les dejo una parte de la agenda que estoy haciendo:
Código
  1. program Untitled;
  2.  
  3. uses
  4.    crt;
  5. type
  6.    Persona=
  7.    record
  8.          Nombre:string[10];
  9.          Telefono:string[10];
  10.    end;
  11. var
  12.   option:integer;
  13.   Friend:Persona;
  14.   Fichero:file of Persona;
  15.   nameFile:string;
  16.   buscado:integer;
  17.   adato:Persona;
  18.  
  19. begin
  20. repeat
  21. //Menu
  22. clrscr;
  23. nameFile:='c:\AGENDA.txt';
  24. writeln('1) Agregar persona');
  25. writeln('2) Buscar persona');
  26. writeln('3) Salir de agenda');
  27. //Validar opcion
  28.          repeat
  29.               writeln('Elige opcion:');
  30.               readln(option);
  31.          until (option>0) and (option<=3);
  32.          case option of
  33.               1:
  34.                 begin
  35.                      writeln('AGREGANDO PERSONA');
  36.                      writeln('INGRESA NOMBRE:');
  37.                      readln(Friend.Nombre);
  38.                      writeln('INGRESA TELEFONO:');
  39.                      readln(Friend.Telefono);
  40.                      Assign(Fichero,nameFile);
  41.                      Reset(Fichero);
  42.                      Write(Fichero,Friend);
  43.                      Close(Fichero);
  44.                 end;
  45.               2:
  46.               begin
  47.                    writeln('BUSCANDO');
  48.                    readln(buscado);
  49.                    Assign(Fichero,nameFile);
  50.                    reset(Fichero);
  51.                    seek( fichero, buscado );
  52.                    read(fichero,adato);
  53.                    writeln('Nombre:',adato.Nombre);
  54.                    writeln('Telefono:',adato.Telefono);
  55.                    close(Fichero);
  56.               end;
  57.               3:writeln('Seleccionaste salir')
  58.          end;
  59.          readln();
  60. until option=3;
  61. end.
Un saludo
34  Programación / Programación Visual Basic / Duda GetCursorPos en: 29 Junio 2009, 03:41 am
Hola... Estoy en un proyecto donde utilizo la función mencionada, con el fin de mostrar en una etiqueta la posición exacta del mouse a medida que se va moviendo. El problema es que lo utilizo de la siguiente manera:

Código
  1. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
  2.    GetCursorPos pt
  3.    Label3.Caption = "X:" & Str$(pt.x) & " Y:" + Str$(pt.y)
  4. End Sub

Ciertas veces, es medio "lenta" la letura y cuando muevo el mouse tarda un segundo y medio en refrescar. Será mejor colocar un timer?
35  Programación / Programación Visual Basic / Linux-Ver procesos(GAMBAS) en: 24 Junio 2009, 01:36 am
Tengo una duda. Quiero comenzar a leer y escribir procesos pero todavía no se muy bien sobre las funciones para editar memoria. Son las mismas que en windows? Me refiero a readprocessmemory,writeprocessmemory? Y con respecto a las ventanas? Ya no puedo utilizar seguramente findwindowsex, como sería en linux?
36  Programación / Programación Visual Basic / Show_Hide_Desktop en: 14 Junio 2009, 19:39 pm
Hola hace unas 2 horas se me dio la idea de hacer un programita para ocultar y mostrar el escritorio.

A algunos seguro les será bienvenido a otros no, pero es sólo para compartir experiencia.

Código
  1. Option Explicit
  2. Private Declare Function SetErrorMode Lib "kernel32" (ByVal wMode As Long) As Long
  3. Private Declare Sub InitCommonControls Lib "Comctl32" ()
  4. Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
  5. Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
  6. Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" ( _
  7.    ByVal hWnd1 As Long, _
  8.    ByVal hWnd2 As Long, _
  9.    ByVal lpsz1 As String, _
  10.    ByVal lpsz2 As String) As Long
  11. Private Declare Function ShowWindow Lib "user32" ( _
  12. ByVal hwnd As Long, _
  13. ByVal nCmdShow As Long) As Long
  14. Private Const SW_SHOW = 5
  15. Private Const SW_HIDE = 0
  16. Private Const NIM_ADD = &H0
  17. Private Const NIM_MODIFY = &H1
  18. Private Const NIM_DELETE = &H2
  19. Private Const NIF_MESSAGE = &H1
  20. Private Const NIF_ICON = &H2
  21. Private Const NIF_TIP = &H4
  22. Private Const WM_LBUTTONDBLCLK = &H203
  23. Private Const WM_LBUTTONDOWN = &H201
  24. Private Const WM_RBUTTONUP = &H205
  25. Private Const KEY_TOGGLED As Integer = &H1
  26. Private Const KEY_PRESSED As Integer = &H1000
  27. Private Type NOTIFYICONDATA
  28.    cbSize As Long
  29.    hwnd As Long
  30.    uId As Long
  31.    uFlags As Long
  32.    ucallbackMessage As Long
  33.    hIcon As Long
  34.    szTip As String * 64
  35. End Type
  36. Dim sysTray As NOTIFYICONDATA
  37.  
  38. Private Sub Command1_Click()
  39.    MsgBox " Hacer Doble click en el ícono para reestaurar el Form", vbInformation, "SH_DEKTOP"
  40.    Call Colocar_Tray(1000)
  41. End Sub
  42.  
  43. Private Sub Command2_Click()
  44.    Call Quitar_Systray
  45. End Sub
  46. Sub Colocar_Tray(Intervalo As Integer)
  47.     With sysTray
  48.        .cbSize = Len(sysTray)
  49.        .hwnd = Me.hwnd
  50.        .uId = 1&
  51.         .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
  52.        .ucallbackMessage = WM_LBUTTONDOWN
  53.        .hIcon = Image1.Picture
  54.    End With
  55.  
  56.    Call Shell_NotifyIcon(NIM_ADD, sysTray)
  57.  
  58.    Me.Hide
  59.    Timer1.Interval = Intervalo
  60. End Sub
  61. Sub Quitar_Systray()
  62.    With sysTray
  63.        .cbSize = Len(sysTray)
  64.        .hwnd = Me.hwnd
  65.        .uId = 1&
  66.    End With
  67.    Call Shell_NotifyIcon(NIM_DELETE, sysTray)
  68. End Sub
  69.  
  70. Private Sub Command3_Click()
  71. End
  72. End Sub
  73.  
  74. Private Sub Form_Initialize()
  75.    Call SetErrorMode(2)
  76.    Call InitCommonControls
  77.    Me.Caption = "SH_DEKTOP"
  78. End Sub
  79.  
  80. Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  81.    Dim msg
  82.    msg = X / Screen.TwipsPerPixelX
  83.    If msg = WM_LBUTTONDBLCLK Then
  84.        mnuMostrar_Click
  85.    ElseIf msg = WM_RBUTTONUP Then
  86.        Me.PopupMenu mnuPopup
  87.    End If
  88. End Sub
  89.  
  90. Private Sub mnuMostrar_Click()
  91.    Timer1.Interval = 0
  92.    Me.Show
  93. End Sub
  94.  
  95. Private Sub mnuSalir_Click()
  96.    Unload Me
  97. End Sub
  98. Private Sub Timer1_Timer()
  99.    sysTray.hIcon = Image1.Picture
  100.    Call Shell_NotifyIcon(NIM_MODIFY, sysTray)
  101. End Sub
  102. Private Sub Form_Load()
  103.    Image1.Visible = False
  104.    Command1.Caption = " Colocar en el systray "
  105.    Command2.Caption = " Quitar del sysTray "
  106.    Command3.Caption = "Salir"
  107.    Timer2.Enabled = True
  108.    Timer2.Interval = 100
  109. End Sub
  110.  
  111. Private Sub Form_Unload(Cancel As Integer)
  112.    Quitar_Systray
  113.    End
  114. End Sub
  115.  
  116. Private Sub Timer2_Timer()
  117. If GetKeyState(vbKeyF10) And KEY_PRESSED Then
  118.    Dim HWND_Escritorio As Long
  119.    On Error Resume Next
  120.    HWND_Escritorio = FindWindowEx(0&, 0&, "Progman", vbNullString)
  121.    Call ShowWindow(HWND_Escritorio, SW_HIDE)
  122. ElseIf GetKeyState(vbKeyF11) And KEY_PRESSED Then
  123.    On Error Resume Next
  124.    HWND_Escritorio = FindWindowEx(0&, 0&, "Progman", vbNullString)
  125.    Call ShowWindow(HWND_Escritorio, SW_SHOW)
  126. End If
  127. End Sub


37  Programación / Ejercicios / Algoritmia-Ejercicios introductorios. en: 13 Junio 2009, 23:26 pm
Variables Simples.

Problema 1: Diseñe un diagrama para resolver una ecucación cuadrática.

Problema 2: N! se define como n!=1*2*3*4...*(n-1)*n, diseñe un algoritmo que calcule n! con n>=0.

Problema 3:Dada una lista de N números, desarrollar un algoritmo que permita determinar el más grande.

Problema 4: Diseñe un programa para encontrar el segundo número más grande de N números distintos.

Problema 5: Diseñe un programa que permita descomponer un número N en sus dígitos individualmente.


Problema 6: Dado un número real mostrar la cantidad de dígitos de la parte entera y luego la cantidad que posee la parte decimal.

Problema 7: Dado un número NUM que se encuentra en base B con 1<B<10, mostrar todos los enteros entre 0 y NUM en base B.

Ejemplo: NUM=10 B=2 Mostrar: 0 1 10
              NUM=22 B=3 Mostrar: 0 1 2 10 11 12 20 21 22

Problema 8: Desarrollar un algoritmo para generar los primeros K primeros números primos de la serie Fibonacci.

Ejemplo:

K=6
1 2 3 5 13 89

Problema 9: Diseñar un diagrama que dado un número lo descomponga en sus factores primos, informando la cantidad de veces que dicho factor primo integra el número.


La idea es ir resolviendo los problemas de a poco en distintos lenguajes.

Se permitirán diagramas y pseudocódigo.





38  Foros Generales / Sugerencias y dudas sobre el Foro / Foro-*Ocultar correo? en: 8 Junio 2009, 02:34 am
Como hago para que no aparezca esto?:

39  Programación / Ejercicios / Ejercicios con arrays en: 5 Junio 2009, 00:38 am
Ejercicio: Se posee un mazo de cartas españolas sin comodines, de dicho mazo sacar 1 carta a la vez, hasta obtener 3 números iguales sin importar el palo, indicar la secuencia de cartas obtenidas y la cantidad de cartas ingresadas sobre el proceso.

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int mi_mazo[100],secuencia[100];
  6.  
  7. int main()
  8. {
  9. bool e=0;
  10. int i=0;
  11. int j,k,AUX,n;
  12. while(!e)
  13. {
  14. i++;
  15. cout<<"Ingrese carta: "<<endl;
  16. cin>>mi_mazo[i];
  17. secuencia[i]=mi_mazo[i];
  18. n=i;
  19. for(j=2;j<=n;j++)
  20. {
  21. AUX=mi_mazo[j];
  22. mi_mazo[0]=AUX;
  23. k=j-1;
  24. while(AUX<mi_mazo[k])
  25. {
  26. mi_mazo[k+1]=mi_mazo[k];
  27. k--;
  28. }
  29. mi_mazo[k+1]=AUX;
  30. }
  31. for(j=1;j<=n;j++)
  32. {
  33. if((mi_mazo[j]==mi_mazo[j+1])&&(mi_mazo[j]==mi_mazo[j+2]))
  34. {
  35. e=1;
  36. }
  37. }
  38. }
  39. cout<<"Cantidad de cartas"<<endl;
  40. cout<<"Secuencia"<<endl;
  41. for(i=1;i<=n;i++)
  42. {
  43.    cout<<secuencia[i]<<",";
  44. }
  45. system("PAUSE");
  46. return 1;
  47. }


40  Programación / Programación Visual Basic / Problema eliminacion elementos en: 31 Mayo 2009, 00:48 am
Aver si por aqui me pueden ayudar:

El enunciado consiste en borra los numeros de una lista que posean mayor cantidad de digitos pares que impares.

El problema que tengo es el siguiente:

N=4
array={1,2,3,4}
array con eliminaciones={1,3}


N=10
array={1,2,3,4,5,6,7,8,9,10}
array con eliminaciones={1,3,4,6,7,9}
cuando tendria que ser:
array con eliminaciones={1,3,5,7,9,10}

Y otro error:
array={2,2,5}
array con eliminaciones={2,5}
Es decir cuando existen posiciones iniciales consecutivas, no asi en

array={5,2,2}
array con eliminaciones={5}


Código
  1. Private Sub Form_Load()
  2. cnt_p = 0
  3. cnt_i = 0
  4. Dim lista(100) As Integer
  5. Dim elim(100) As Integer
  6. Label1.Caption = "" 'Array
  7. Label2.Caption = "" 'Array con eliminaciones
  8. Label3.Caption = "" 'Posiciones a eliminar
  9. MsgBox "Inicializacion", vbOKOnly
  10. k = 0
  11. cant = InputBox("Cantidad: ")
  12. N = Val(cant)
  13. For i = 1 To N
  14.    entero = InputBox("Numero: ")
  15.    num = Val(entero)
  16.    lista(i) = num
  17. Next
  18. For i = 1 To N
  19.    Label1.Caption = Label1.Caption & lista(i) & ","
  20. Next
  21. For i = 1 To N
  22.    d_num = lista(i) 'Separo los digitos
  23.    While d_num <> 0
  24.        dig = d_num Mod 10
  25.        If dig Mod 2 = 0 Then 'Compruebo si son multiplos pares
  26.            cnt_p = cnt_p + 1
  27.        End If
  28.        If dig Mod 2 <> 0 Then
  29.            cnt_i = cnt_i + 1
  30.        End If
  31.        d_num = d_num \ 10
  32.    Wend
  33.    If cnt_p > cnt_i Then 'Si la cantidad de digitos pares es mayor a las impares
  34.        k = k + 1
  35.        elim(k) = i 'Array que contiene las posiciones
  36.    End If
  37.    cnt_p = 0
  38.    cnt_i = 0
  39.  
  40. Next
  41. For i = 1 To k
  42.    Label3.Caption = Label3.Caption & elim(i) & ","
  43. Next
  44. For i = 1 To k
  45.    pos = elim(i)
  46.    For j = pos To (N - 1)
  47.        lista(j) = lista(j + 1)
  48.    Next
  49.    N = N - 1
  50. Next
  51. For i = 1 To N
  52.    Label2.Caption = Label2.Caption & lista(i) & ","
  53. Next
  54. End Sub
Páginas: 1 2 3 [4]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines