Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - BlackZeroX

#1241
Estudio Ing en Sistemas Computacionales, tengo planeado:

* Desarrollar varios juegos Online ( algunos MMORPG, en mi tiempo libre ) con algunos conosidos.
* Poner un negocio de "consultoria" como 2da opcion (al termino de mi carrera)
* Como 3ra tener varios sistemas comerciales para negocios ( No solo software si no ya tambien Software+sistemas mecanicos y/o electronicos ).

P.D.: Ofende la imagen de los informaticos... como se aprecia en mi imagen no me paresco en lo absoluto mas que en los lentes, sea cual sea el motivo de los comentarios expresados anterior-mente.

Dulces Lunas!¡.
#1242
.
Si con el ASCII...

P.E.: El siguiente codigo puedes apretar TODO lo que desees del teclado pero solo capta las pulsaciones de numeros del 0 al 9 ( como cadena ), y deja de escribir al oprimir Enter...



#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

char* GetStrKB();

int main() {
    char *cadena = GetStrKB();
    fprintf( stdout , "%s" , cadena );
    free( cadena );
    return 0;
}

char* GetStrKB()
/**
    Obtiene las pulsaciones de entrada con un buffer dinamico.
**/
{
    int     c           = 0;
    char    *str        = NULL;
    size_t  szt_ln      = 0;
    while((c=getchar()) != 10 ) // 10 = {enter}
    {
        if ( c>='0' && c<='9' ) {
            str = (char*)realloc(str,sizeof(char)*(szt_ln+1));  // no es nesesario sizeof(char)... ya que char es 1byte...
            str[szt_ln++] = (char)c;
        } else {
            // QUIZAS haya que crear un Hilo para el Beep...
            Beep ( 500 , 50 );  // Beep ( Frecuencia, Duracion en Milisegundos )
        }
    }
    if ( str!=NULL ) str[szt_ln] = '\0';
    return str;
}

#1243
.
Si no quieres usar while for ni nada similar usa:

http://codepad.org/rbjReElT



#include <setjmp.h>
int main() {
   int _i_jmp;
   jmp_buf _jmpb_buf;

   _i_jmp = setjmp( _jmpb_buf );
  // Mas codigo..., si _i_jmp==0 es que setjmp() a fallado....
   longjmp( _jmpb_buf , 1 );
   return 0;
}



Dulces Lunas!¡.
#1244
.
Dime de lo que presumes y te dire de lo que careces

Creo que se estaban refiriendo a la forma de programar, no a lo has estudiado!¡.

P.D.: No importa quien lo haga, esto no es para hacer un flame, aun que si trae tetris yo contento xD...

Dulces Lunas!¡.
#1245
Cita de: DarkHeir en 29 Junio 2011, 23:54 PM
(estructura un poco parecida pero no es lo mismo...).

Si creas un algoritmo te servira tanto en vB, C/C++, ASM, PHP, Ruby, Perl, etc... solo difieren en como se escriben, lo demas es lo mismo.

Dulces Lunas!¡.
#1246
si lo que quieres hacer es un PARSE matematico usa el buscador por hay publique uno, donde metias expresiones matematicas:

1/(((4+5/8)*8)+(45+1-45-12+0))

y las resolvia, lo malo que ya no se donde esta ese post y me da unpoco de flojera buscarlo.

P.D.: no es buena idea publicar esto en varios sub-foros

Dulces Lunas!¡.
.
#1247
Programación C/C++ / Re: [C]Función SPLIT
29 Junio 2011, 21:12 PM
.
Lamento responder tan tarde.

Con respecto a los '\0' con bytes 0 esta clase SI los toma en cuenta. de hecho por eso la mejore ( relamente fue por que tenia que hacer un trabajo escolar donde tenia que tratar estos bytes y la verdad los strings se quedaban escasos ante esta problematica, ya que usan este '\0' como indicador de fin de cadena ).

Aqui te dejo la liga de la clase...

cls_Byte ( Funciones Binarias ) ByteReplace, ByteSplit, ByteMid, ByteExits...
* Esta puede diferenciar mayusculas de minusculas segun se le indique...
* Se le puede limitar en la Cantidad X a cortar.
* Toma enconsideracion TODOS los bytes dentro de un Rango dado ( segun la longitud ) es decir que tengan lo que tengan lo Tomara en cuenta HASTA EL FINAL.

Dulces Lunas!¡.
.
#1248
un video con sub-español xP mi ingles ( al eschuchar ) es malisimo.

Dulces Lunas!¡.
#1249
.
Seguro leyendo linea a linea el codigo, pero la traduccion JAMAS sera al 100%, aun que sera facil si usas split, e instr().



P.D.: Es el avatar de LeandroA.

Dulces Lunas!¡.
#1250
.
Solo lo ordene y le añadi una funcion...

Código (vb) [Seleccionar]



Option Explicit

Private Const PROCESS_QUERY_INFORMATION As Long = (&H400)
Private Const PROCESS_VM_READ           As Long = (&H10)

Private Const MAX_PATH                  As Long = 260

Enum GetFileStr
     Extensión = 1
     FileName = 2
     Ruta = 4
End Enum

Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Sub CloseHandle Lib "Kernel32" (ByVal hPass As Long)
Private Declare Function GetModuleFileNameExA Lib "PSAPI.DLL" (ByVal hProcess As Long, ByVal hModule As Long, ByVal lpFilename As String, ByVal nSize As Long) As Long

Private Sub Form_Load()
    MsgBox GetPatchInfohwnd(Me.hwnd, FileName + Extensión)
    MsgBox GetPatchInfohwnd(Me.hwnd, Ruta Or Extensión)
    MsgBox GetPatchInfohwnd(Me.hwnd, Ruta Or Extensión Or FileName)
End Sub

' ////////////////////////////////////////////////////////////////
' // http://infrangelux.hostei.com/index.php?option=com_content&view=article&id=17:artgetpatchinfo&catid=2:catprocmanager&Itemid=8
' ////////////////////////////////////////////////////////////////
Public Function GetPatchInfo(ByRef StrRutaFull As String, Optional ByVal Options As GetFileStr = FileName) As String
Dim lng_ptr(1)              As Long
Dim lng_aux                 As Long
     lng_aux = Len(StrRutaFull)
     lng_ptr(0) = InStrRev(StrRutaFull, "\")
     If lng_ptr(0) > 0 Then
         lng_ptr(1) = InStrRev(StrRutaFull, ".")
         If lng_ptr(1) > 0 And Not lng_ptr(0) < lng_ptr(1) Then
             lng_ptr(1) = lng_aux + 1
         End If
         If (Options And Ruta) = Ruta Then
             GetPatchInfo = Mid$(StrRutaFull, 1, lng_ptr(0)) & GetPatchInfo
         End If
         If (Options And FileName) = FileName Then
             If lng_ptr(1) = lng_aux Then
                 lng_aux = lng_aux - lng_ptr(0) - 1
             Else
                 lng_aux = lng_ptr(1) - lng_ptr(0) - 1
             End If
             GetPatchInfo = GetPatchInfo & Mid$(StrRutaFull, lng_ptr(0) + 1, lng_aux)
         End If
         If (Options And Extensión) = Extensión Then
             GetPatchInfo = GetPatchInfo & Mid$(StrRutaFull, lng_ptr(1), lng_ptr(1))
         End If
     End If
End Function

Public Function GetPatchInfohwnd(ByVal hwnd As Long, Optional GetDir As GetFileStr = Ruta) As String
Dim PID     As Long
Dim lProc   As Long
Dim sTmp    As String * MAX_PATH

    If Not (GetWindowThreadProcessId(hwnd, PID) = 0) Then
        lProc = OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_VM_READ, 0, PID)
        If Not (lProc = 0) Then
            GetPatchInfohwnd = GetPatchInfo(Mid$(sTmp, 1, GetModuleFileNameExA(lProc, 0, sTmp, MAX_PATH)), GetDir)
            CloseHandle lProc
        End If
    End If
End Function



Dulces Lunas!¡.