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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Operacion con Double me falla la exactitud en: 13 Diciembre 2011, 19:52 pm
lo que pasa es que he estado buscando porque no me da exacto esto, nunca entra en la condicion, no se que debo hacer para que X me de 0.456, el resultado de X despues de esa operacion es de 0.4560000000000030695446184836328029632568359375

Código:
#include <iostream>
using namespace std;
int main(){
    double x=123.456;
    x-=123;
    if (x==0.456){cout<<"Iguales";}
    
}
2  Programación / Programación C/C++ / Ayuda con C++, Ejercicio Simple [Soy Novato] en: 30 Septiembre 2010, 08:22 am
Buen dia/noche foreros, pues la verdad yo he programado en vb y pues siempre me ha interesado c++, y finalmente hoy he decido empezar, me descargue el codebloks, devc++ y un tuto, y todo bien conforme a la lectura, pero un ejercicio propuesto q tenia el libro lo pegue en el dev y no quiso correr, me arrojaba unos warnings y no se q mas (no estoy familiarizado), este es el code:
Código
  1. #include <iostream.h>; // librería para uso de cout
  2. int main() // función principal
  3. {
  4. int i = 1; // variable para bucles
  5. bool sumar = true; // Siguiente operación es sumar o restar
  6. bool terminado = false; // Se ha alcanzado la condición de fin
  7. do { // Hacer
  8. cout << i; // muestra el valor en pantalla
  9. terminado = (i == 23); // Actualiza condición de fin
  10. if(terminado) cout << "."; else cout << ", "; // Puntuación,
  11. separadores
  12. if(sumar) i += 4; else i -= 2; // Calcula siguiente elemento
  13. sumar = !sumar; // Cambia la siguiente operación
  14. } while(!terminado); // ... mientras no se termine
  15. cout << endl; // Cambio de línea


pero buscando en otros codes q vi externos vi q usaban <iostream> sin h
y que hacian uso del namespace, asi que tratando de hacer mi primer code hice esto:
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.    int i, num, j, r;
  8.    cout<<"Ingrese el numero de filas:" << endl;
  9.    cin >>num;
  10.    for (i=0;i++<num;)
  11.    {
  12.        for (j=0; j++<i*2;)
  13.        {
  14.            if (j>i)
  15.            {
  16.               r=i-(j-i);
  17.               if (r>0) cout<< r;  
  18.            }
  19.            else cout<<j;
  20.        }
  21.        cout<<endl;
  22.    }
  23.    system("PAUSE");
  24.    return 0;
  25. }
  26.  
  27.  
  28.  
que  vendria siendo el triangulo de pascal
pero lo q me frusta es que pase mucho tiempo tratando de averiguar por q no corria el programa sin el uso de namespace ademas de las cabeceras q no tenian h,
se que esto es una novatada para todos pero necesito su orientacion!!, otra cosa q quiero senalar es que poniendo ese code q hice en codeblocks no funciona,  es mas ni compila ni nada, cosa q no me agrada porq me gusta mas su entorno
q me recomiendan otro tuto de c++ por q el q tengo no quiere jalar algunas cosas. Gracias!!
Agradeceria cualquier explicacion y de como arreglar el codeblocks.
Mil disculpas por esta novatada!!
3  Comunicaciones / Redes / Bajar videos de youtube de forma manual? en: 30 Julio 2010, 08:19 am
Hola, bueno estaba queriendo bajar videos de manera manual...  :rolleyes:
y estaba buscando en internet pero con todos los tuto q me topaba ya no andaban.
Asi que se me ocurrió checar a ver si en los archivos Temporales de Internet estaban videos, resulta q si, solo se queda el ultimo visto en el iexplorer, y en sus propiedades  vi q la direccion de la q provenia era esta
Código:
http://v20.lscache8.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor%2Coc%3AU0dXRVRUT19FSkNNN19MTlND&algorithm=throttle-factor&itag=34&ipbits=0&burst=40&sver=3&expire=1280491200&key=yt1&signature=0EEA89CECC5FDA82C847AFFABE2CDE8FDA206A22.978050663BFCF6E8F8B3F07F5A458D81D0F2BFDB&factor=1.25&id=c0719b8752ab2bce&

asi q copie y pegué en el iexplorer ese link y listo me daba un paquete de descarga, y pense q talvez estaba esa misma direccion en el code fuente, efectivamente...pero aqui viene mi conflicto.
despues lo cheque en el Opera y me decia que el servidor, o sea youtube, habia rechazado la solicitud, por que?
puedo descargar solo teniendo el link ese? cosa q en opera ni firefox funcionó, pienso como que te logguea y despues te deja. pero realmente no se, a si que si me pueden  hechar una mano se los agradecería, aparentemente debe de funcionar ya que el AtubeCatcher utiliza esta clase de links para bajar los videos... De antemano gracias!!

PD: no se si esto esté en el foro correcto ;D
4  Sistemas Operativos / GNU/Linux / Como quitar derechos y atributos a archivos en ubuntu server? en: 29 Mayo 2010, 05:01 am
Ayuda soy nuevo en ubuntu server (desde terminal)

(bueno ya quedo arreglado, pueden borrar el post)
5  Programación / Programación Visual Basic / Crear archivos Defectuoso? en: 28 Mayo 2010, 17:45 pm
buenas...
esto es algo que siempre he querido hacer, como crear un archivo defectuoso como por ejm hace el nod32 cuando se crea un autorun que no se puede eliminar y que no se puede acceder, asi tambien lo hacia un programa que se llamaba FlashDesinfector
6  Programación / Programación Visual Basic / Como Conectarme al Wifi en: 20 Marzo 2010, 00:18 am
bueno lo que pasa que por mi casa hay varias conexiones infinitum y pues tengo un programia que saca las posibles respuestas de el modem, a veces son 200 posibles claves, pero yo necesito saber de que manera conectarme a travez de apis o cualquier otro medio, para poner la contrasena y que se trate de conectar automaticamente.
Espero se entienda esto
7  Programación / Programación Visual Basic / StringToBase Function [Source] en: 16 Febrero 2010, 04:02 am
bueno, este code lo hize el 14 de febrero(domingo), no mas porque si (no tenia nada que hacer, estoy solo como perro, jaja).
la funcion convierte el Texto a la base en la que se especifica (2 para binario, 16 para hexadecima, Etc), le puse un limite de base (35) porque se acabaron las letras del abecedario y no me parecio ponerles los valores despues de la 'Z'. El code quiza se puede optimizar, pero no he tenido tiempo de checkarlo (por las tareas, el servicio social, etc).
Código:
'Autor: Xmbeat (JHCC)
'e-mail: xmbeat:-com, xmbeat@yahoo.com
'Fecha: 14 de Febrero del 2010
'Descripcion: Algoritmo para convertir el valor de la tabla _
 asii/ansi (255) a otro sistema de base y viceversa
'You can distribute the code freely without eliminating these commentaries
'0x35 = 232W0W3G363C0W1Q152T36373G0W2R352U0W2A2R3A3B2V160W3B2Y2V350D0A0W0W1W2R33330W2D3C2T320W150Y273G0W1X302T320Y190W2J363C160D0A1Y333A2V0D0A0W0W1W2R33330W2E2Y2R35323A0W152036390W2C2V2R2U0W3B2Y2V0W2T3634342V353B3A160D0A1Y352U0W232W


'StringToBase Function:
'Strings: Cadena de texto la cual se desea toString/detoString
'toString: Valor Booleano, cuando es seteado a True Convierte el Texto a la Base, _
            Cuando esta en False se hace lo opuesto
'Base: Valor Byte que indica la base de conversion, si la base  tiene mas de 1 digito _
        se convierte en Alfanumerico. Los valores para Base deben ser mayor que 1 y _
        menor a 36 (solo se usa el Abecedario (A-Z) para alfanumerico)
Private Function StringToBase(Strings As String, Optional toString As Boolean = False, _
Optional Base As Byte = 2) As String
Dim I           As Long
Dim NS          As String
Dim TS          As String
Dim CT          As Integer
Dim E           As Integer
Dim Limit       As Integer
Dim Rest        As Integer
Dim toBase      As Integer
On Error GoTo fallo
If Base > 35 Then Err.Raise 6, , "La Base no puede ser mayor a 35"
If Base < 2 Then Err.Raise 6, , "La Base no puede ser menor a 2"
Rest = 256
Do Until Rest <= 1
    Limit = Limit + 1
    Rest = Rest \ Base
Loop
For I = 1 To Len(Strings) Step IIf(toString = True, Limit, 1)
    NS = ""
    CT = IIf(toString, 0, Asc(Mid(Strings, I, 1)))
    For E = 1 To Limit
        If toString Then
            If Len(Mid(Strings, I)) < Limit Then Exit For
            NS = Mid(Mid(Strings, I, Limit), Limit + 1 - E, 1)
            If IsNumeric(NS) = False Then NS = CStr(Asc(NS) - 55)
            CT = CT + Val(NS) * Base ^ (E - 1)
        Else
            toBase = CT Mod Base
            If toBase < 10 Then
                NS = CStr(toBase) & NS
            Else
                NS = Chr$(55 + toBase) & NS
            End If
            
            CT = CT \ Base
        End If
    Next
    TS = TS & IIf(toString, Chr(CT), NS)
Next
StringToBase = TS
Exit Function
fallo:
If Err.Number = 6 Then
    Err.Raise 6, , Err.Description
    Exit Function
End If
Err.Raise 1, , "El Texto no esta codificado con la base " _
            & Base & "  y por lo tanto no se puede DetoString"

End Function

Private Sub Form_Load()
Const Texto As String = "by xmbeat"
Dim Binario As String
Dim Hexa As String
AutoRedraw = True
Binario = StringToBase(Texto)
Hexa = StringToBase(Texto, , 16)
Print Binario
Print Hexa
Print StringToBase(Hexa, True, 16)
End Sub
8  Programación / Programación Visual Basic / Como programar un boton que fue hecho en tiempo de ejecucion? en: 11 Febrero 2010, 02:01 am
es decir que si por ejemplo, usé el API CreateWindowEx o el Controls.Add para crearlo. como puedo darles eventos? o no se puede?
9  Programación / Programación Visual Basic / Efecto minimizar al Systray con drawanimatedrect, Shellnoty... en: 10 Febrero 2010, 04:18 am
bueno, he visto que algunos de aqui usan esto para sus aplicaciones, pero yo solo le agregué un "efecto" mas  ;D para que se vea como el original de otras aplicaciones, como el Ares u otras babosadas....

Código:
'insertar un command button
Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type
Private Type NOTIFYICONDATA
   cbSize As Long
   hwnd As Long
   uID As Long
   uFlags As Long
   uCallbackMessage As Long
   hIcon As Long
   szTip As String * 128
   dwState As Long
   dwStateMask As Long
   szInfo As String * 256
   uTimeout As Long
   szInfoTitle As String * 64
   dwInfoFlags As Long
End Type

Private Const NOTIFYICON_VERSION = 3
Private Const NOTIFYICON_OLDVERSION = 0
  
Private Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2
  
Private Const NIM_SETFOCUS = &H3
Private Const NIM_SETVERSION = &H4
  
Private Const NIF_MESSAGE = &H1
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4
  
Private Const NIF_STATE = &H8
Private Const NIF_INFO = &H10
  
Private Const NIS_HIDDEN = &H1
Private Const NIS_SHAREDICON = &H2
  
Private Const NIIF_NONE = &H0
Private Const NIIF_WARNING = &H2
Private Const NIIF_ERROR = &H3
Private Const NIIF_INFO = &H1
Private Const NIIF_GUID = &H4
  
Private Const WM_MOUSEMOVE = &H200
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const WM_LBUTTONDBLCLK = &H203
Private Const WM_RBUTTONDOWN = &H204
Private Const WM_RBUTTONUP = &H205
Private Const WM_RBUTTONDBLCLK = &H206

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function DrawAnimatedRects Lib "user32" (ByVal hwnd As Long, ByVal idAni As Long, lprcFrom As RECT, lprcTo As RECT) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean

Private Sub MinimizeToTray(Poner As Boolean, Optional Titulo As String, _
Optional Contenido As String, Optional ToolTip As String)
On Error Resume Next
Dim SisIcon As Long
Dim TrW As Long
Dim sRect As RECT
Dim dRect As RECT
Static Systray As NOTIFYICONDATA
With Systray
        .cbSize = Len(Systray)
        .hwnd = Me.hwnd
        .uID = vbNull
        .uFlags = NIF_ICON Or NIF_INFO Or NIF_MESSAGE Or NIF_TIP
        .uCallbackMessage = WM_MOUSEMOVE
        .hIcon = Me.Icon
        .dwStateMask = 0
        .szTip = ToolTip & Chr(0)
        .dwState = &H2
        .dwStateMask = 0
        .szInfo = Contenido & Chr(0)
        .szInfoTitle = Titulo
        .dwInfoFlags = NIIF_INFO
        .uTimeout = 100
  End With
App.TaskVisible = Not (Poner)
SisIcon = FindWindow("Shell_TrayWnd", "") 'ENCONTRAMOS LA BARRA DE TAREAS
TrW = FindWindowEx(SisIcon, ByVal 0&, "TrayNotifyWnd", vbNullString) 'ENCONTRAMOS _
EL AREA DE NOTYCACIONES
GetWindowRect TrW, sRect 'Obtenemos la posicion del AREA
sRect.Right = sRect.Left
sRect.Bottom = sRect.Top
GetWindowRect Me.hwnd, dRect
'Obtenemos la posicion  de nuestro Form
'Otra forma >>|
'SetRect dRect, Me.Left / Screen.TwipsPerPixelX, Me.Top / Screen.TwipsPerPixelY, _
'(Me.Left + Me.Width) / Screen.TwipsPerPixelX, (Me.Top + Me.Height) / Screen.TwipsPerPixelY
If Poner Then
Me.Visible = False
DrawAnimatedRects Me.hwnd, &H3, dRect, sRect
Shell_NotifyIcon NIM_ADD, Systray
Shell_NotifyIcon NIM_MODIFY, Systray
Else
DrawAnimatedRects Me.hwnd, &H3, sRect, dRect
Me.Visible = True
Shell_NotifyIcon NIM_DELETE, Systray
End If
End Sub

Private Sub Command1_Click()
MinimizeToTray True, "Algo por aqui", "Que coño me ves", "Tu mama se la come"
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim Mensaje As Long
On Local Error Resume Next
If (ScaleMode = vbPixels) Then
    Mensaje = X
Else
    Mensaje = X / Screen.TwipsPerPixelX
End If
If Me.Visible = False Then
If Mensaje = WM_LBUTTONDBLCLK Then
MinimizeToTray False
ElseIf Mensaje = WM_RBUTTONDOWN Then
'aqui ponen algun menu que quieren que se muestre
End If
End If
End Sub



el code es seguro que ya lo sepan pero por si no
10  Programación / Programación Visual Basic / Transformacion de un Color A otro sin el uso de API's en: 5 Febrero 2010, 03:50 am
bien este es un code que uso en mis controles de usuario o en forms para hacerlo mas vistoso. publique hace algunos dias esto en el foro de leandro ascierto, y sabiendo que gran parte de usuarios del foro de leandro esta aqui pues lo cuelgo aqui ademas que tenia dos errores minimos y aqui presento la mini actualizacion. el code lo pueden editar para que se pueda hacer el degradado de forma horizontal o circular, alli esta la idea.

Código:
'By xmbeat
'to foro.elhacker.net/programacion VB

Private Function Color(Col As Long) As Integer()
Const B As Long = 65536 'constante que es el resultado de 256 al Cuadrado
Const G As Long = 256
Dim elRGB(2) As Integer
Col = Abs(Col)
'aqui pueden usar el OleTranslateColor para usar los colores del sistema _
pero no lo use para no contradecir el titulo del post
elRGB(2) = Col \ B 'hacemos la operacion inversa de la funcion RGB()
elRGB(1) = (Col Mod B) \ G
elRGB(0) = (Col Mod B) Mod G
Color = elRGB
End Function

Sub Gradient(Formulario As Object, Inicio As OLE_COLOR, Final As OLE_COLOR, Optional Min As Long = 0, Optional _
Max As Long = 256)
With Formulario
.AutoRedraw = True
'min es donde empezará a pintar y Max es donde terminará de hacerlo
Dim I As Integer
Dim Ini() As Integer
Dim Fin() As Integer
Dim Dif As Long
Dim Ant As Long
Dim R As Byte, G As Byte, B As Byte

On Error Resume Next
Ant = .ScaleHeight
.ScaleHeight = 256
Ini = Color(Inicio)
Fin = Color(Final)
Dif = Max - Min

For I = Min To Max
R = Ini(0) + ((Fin(0) - Ini(0)) / Dif) * (I - Min)
G = Ini(1) + ((Fin(1) - Ini(1)) / Dif) * (I - Min)
B = Ini(2) + ((Fin(2) - Ini(2)) / Dif) * (I - Min)
Formulario.Line (0, I)-(.ScaleWidth, I + 1), RGB(R, G, B), BF

Next I

.ScaleHeight = Ant
End With
End Sub



Private Sub Form_Resize()
Const Text0 As String = "By Xmbeat"
Gradient Me, RGB(80, 80, 80), vbBlack, , 100
Gradient Me, vbBlack, RGB(10, 19, 50), 100
Me.FontSize = 24
Me.FontBold = True
Me.CurrentY = (Me.ScaleHeight - Me.TextHeight(Text0)) / 2
Me.CurrentX = (Me.ScaleWidth - Me.TextWidth(Text0)) / 2
Me.ForeColor = vbWhite
Print Text0
End Sub



aqui el link del otro post:
http://www.leandroascierto.com.ar/foro/index.php?topic=150.0
espero la bienvenida a este foro.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines