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ú

Temas - criskapunk

#1
Buenas. Tengo una consulta.

Según tengo entendido previo a la compilación de un programa en C, el compilador llama automáticamente al preprocesador el cual, siguiendo las órdenes definidas en las directivas del preprocesador, modifica el archivo con el código fuente (incluye el contenido de los archivos .h, etc).
Luego viene el momento de la compilación en el cual se traduce todo el programa a código objeto, pero dejando huecos libres. El enlazador es quien completa esos huecos, introduciendo las llamadas a las funciones de biblioteca que existan en el programa.

Mi duda es. Si el preprocesador ya se encargó de introducir el contenido de los archivos de cabecera, por que durante la compilación se dejan esos espacios libres? Es decir, no entiendo que función cumple el linker si las funciones que son llamadas en el programa ya están definidas dentro del mismo.

Un saludo y gracias.
#2
Buenas chicos,

Antes que nada pido disculpas si mi pregunta es demasiado generalizada y sin especificar mucho, ya que de diseño y programación web no entiendo casi nada.

Un amigo quiere realizar una página web para ver videos online y quería ayudarlo, mas que nada para practicar y comenzar a meterme en lo que es desarrollo web.

La duda viene sobre que tendríamos que utilizar para realizar la página. Para la interacción cliente-servidor supongo que se usará PHP o ASP.NET, los lenguajes de consulta a base de datos, etc, pero el problema viene más que nada con el diseño.
El está realizando la página (botones, animación, etc) en FLASH, usando ActionScript.

Mi pregunta es, porque el otro día vi un post acá que Flash ya está obsoleto, y queria preguntarles que sería lo más óptimo en estos momentos para realizar la web? Como dije más arriba, es más que nada para practicar, pero prefiero practicar con tecnologías actuales y no con cosas que ya están siendo discontinuadas.

Disculpen la poca claridad del post :-X
Un saludo y muchas gracias!
#3
Buenas chicos,

Hay una página web con una estructura más o menos como la siguiente:

- Una lista desplegable con varias opciones.
- Dentro de cada una, varias opciones más (enlaces).
- En cada uno de los enlaces, varios links que redirigen a una página para visualizar o descargar un .pdf.




Mi idea es crear un programa que pueda ir abriendo automáticamente cada uno de los enlaces y descargando los archivos, por eso la pregunta:

Que librerías debería usar?
Para poder entrar mecánicamente a los diferentes enlaces, tendría que analizar el código fuente, no? Esto supongo que se podrá realizar mediante expresiones regulares.

Un saludo y muchas gracias.

#4
Programación C/C++ / Visual C++
20 Febrero 2012, 03:06 AM
Buenas, tengo una pregunta muy básica.
Es posible compilar programas de C con Visual Studio? Porque cuando creo un nuevo proyecto de consola me genera un archivo .cpp. Tengo que bajar algún plugin o algo para poder compilarlo o directamente no se puede?

Un saludo.
#5
ASM / [HLA] - Error de comprensión
8 Febrero 2012, 14:32 PM
Buenas,

Tengo una duda bastante boluda, pero prefiero preguntarlo. Estoy leyendo Art of Assembly y cuando habla de valores booleanos dice lo siguiente:

CitarFurthermore, as long you ensure that your boolean variables only contain zero and one, you can use de 80x86 AND, OR, XOR and NOT instructions...

Que las variables booleanas solamente contengan ceros y unos? Según tengo entendido esos son los ÚNICOS valores que pueden tener. Es un error del manual o me estoy equivocando en algo?

Un saludo y disculpas por semejante pregunta.
#6
ASM / Consulta con HLA
20 Enero 2012, 00:37 AM
Buenas,

Estoy leyendo el libro Art of Assembly y me surgió una duda.
Por lo que veo el libro utiliza HLA (High Level Assembly). Quería saber, esto es realmente útil? Después me servirá para pasar a ensamblador puro? Tienen opiniones sobre este lenguaje?

Una última cosa, con que ensamblo el código? Estoy viendo en la página principal de HLA y el link dice Not Found. Alguno tiene los archivos necesarios para la instalación?

Un saludo y gracias.
#7
Multimedia / Pasar cassette a cd.
6 Septiembre 2011, 22:52 PM
Buenas chicos,

En mi casa tengo varios cassettes y los quiero pasar a CD.  Me dijeron que la forma para hacerlo es conectar la salida de audio de la PC a la salida de audio del reproductor (Walkman, etc...) y capturar el audio con algún programa.

Este método en verdad funciona?
Conocen algún programa de este tipo?

Un saludo y gracias.
#8
Bases de Datos / Duda consulta Access
1 Septiembre 2011, 21:42 PM
Buenas chicos,

Tengo una aplicación hecha en Clipper que genera reportes, los cuales tengo que imitar mediante consultas en Access.

Una tabla tiene los siguientes campos: añoalta, añobaja, mesalta, mesbaja . Tengo que devolver el registro en el cual estos campos sean máximos, siendo mesalta y mesbaja dependientes de los otros dos. Es decir primero debo encontrar el registro cuyos campos añoalta y añobaja sean máximos y luego encontrar el registro cuyo mesalta y mesbaj sean los máximos para los años ya obtenidos.

Estuve probando usando la función Max(), pero no me funciona ya que los meses deben ser dependientes del año.

Un saludo.
#9
Electrónica / Introducción a los PIC's
31 Agosto 2011, 22:57 PM
Buenas chicos,

Ando interesado en comenzar con el uso de microcontroladores PIC, aprender como programarlos, etc.
Me podrían recomendar algún libro, manual, etc que empiece desde lo básico?
Que PIC sería el mas idóneo para empezar?
Es necesario tener algún conocimiento o idea previa de algún tema particular? Tengo conocimientos básicos en electrónica analógica y digital, pero, lo vuelvo a remarcar, básicos :P

Un saludo y espero me puedan ayudar.
#10
Buenas chicos, después de la aprobación de Nov, les traigo este post :P


Reglas: (Más que nada algunas recomendaciones para poder mantener el orden en el hilo).


  • Los retos se dividirán en tres niveles (Fácil - Medio - Difícil).
  • Podrá haber simultáneamente un máximo de UN reto de cada dificultad.
  • Cada reto tendrá una duración máxima de 12 horas. Pasado ese tiempo, si no se resuelve, se podrá publicar uno nuevo.
  • Una vez que el autor del reto de por válida una respuesta, deberá publicar la propia solución al desafío.
  • Se podrán publicar soluciones alternativas a retos antiguos, no hay problema con eso, la idea es practicar.

Acá les dejo el primero, si quieren pueden usar una plantilla similar a la siguiente:

Dificultad: 2 - Medio.
Reto: Realizar una expresión regular que valide nombres. Los mismos podrán ser simples o compuestos (Una o dos palabras). Unicamente podrán contener letras y las letras mayúsculas podrán aparecer sólo al principio de las palabras.

Cuando llego a casa publico la respuesta, que ya terminó mi horario laboral xD.

Un saludo y espero que les guste! :D
#11
Buenas!

El problema es asi:
Tengo que comparar el esquema de dos bases de datos en Acces usando vb.net y devolver todos los datos/tablas/relaciones, etc que esten presentes en una y no en la otra.

En Access lei que se puede utilizar el documentador, que devuelve la estructura de una base de datos, pero no entiendo como puedo hacer para compararlo :\


Edit:
Encontre esta forma de obtener el nombre de todas las tablas de la base, pero no encuentro todavia como puedo hacer para obtener los campos de cada una. Alguna sugerencia?

Código (vbnet) [Seleccionar]
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim conexion As OleDb.OleDbConnection
        Dim strConexion As String
        Dim tablas(0) As String

        '-- Conexion con la base de datos modelo --
        strConexion = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=C:\base.mdb;Jet OLEDB:Database Password=pass;"
        conexion = New OleDb.OleDbConnection(strConexion)
        conexion.Open()

        '-- Almacena en un vector los nombres de todas las tablas --
        Dim i As Integer = 0
        Dim tabla As DataTable = conexion.GetSchema("TABLES")
        For Each t As DataRow In tabla.Rows
            Dim o As Object = Nothing
            o = t.Item("TABLE_TYPE")
            If (o.ToString.ToUpper = "TABLE") OrElse (o.ToString.ToUpper = "BASE_TABLE") Then
                tablas(i) = t("TABLE_NAME").ToString
                MessageBox.Show(i)
                For Each c As DataColumn In tabla.Columns
                    MessageBox.Show(c.ColumnName)
                Next
                ReDim Preserve tablas(i + 1)
                i += 1
            End If
        Next

        MessageBox.Show(tablas(0))
        conexion.Close()

    End Sub
End Class


Un saludo y gracias.
#12
Buenas chicos,

Estoy leyendo el libro de Deitel y hay un ejercicio que dice:

Citar
Escriba un programa que lea cinco enteros y a continuacion determine e imprima cuales son el mayor y el menor entero del grupo. Utilice solo las tecnicas de programacion qe aprendio en este capitulo.

Lo unico que puedo utilizar es:

  • Funciones scanf() y printf().
  • Operadores aritmeticos, de asignacion, de igualdad y relacionales.
  • Estructura if (NO if-else, NO estructuras anidadas).
  • Variables tipo int.

A mi se me ocurrio esta forma para resolverlo:


#include <stdio.h>

main()
{
int a, b, c, d, e;
int min, max;

printf("Ingrese el primer numero: ");
scanf("%d", &a);
min = a;
max = a;
printf("Ingrese el segundo numero: ");
scanf("%d", &b);
if (b < min)
min = b;
if (b > max)
max = b;
printf("Ingrese el tercer numero: ");
scanf("%d", &c);
if (c < min)
min = c;
if (c > max)
max = c;
printf("Ingrese el cuarto numero: ");
scanf("%d", &d);
if (d < min)
min = d;
if (d > max)
max = d;
printf("Ingrese el quinto numero: ");
scanf("%d", &e);
if (e < min)
min = e;
if (e > max)
max = e;

printf("El numero menor es: %d\n", min);
printf("El numero mayor es: %d\n", max);

return 0;

}


Edito:
Aca lo modifique un poco, para poder ingresar todos los numeros al principio, pero al fin y al cabo lo hace de la misma forma :P

#include <stdio.h>

main()
{
int a, b, c, d, e;
int min, max;

printf("Ingrese 5 numeros: ");
scanf("%d %d %d %d %d", &a, &b, &c, &d, &e);
min = a;
max = a;
if (b < min)
min = b;
if (b > max)
max = b;
if (c < min)
min = c;
if (c > max)
max = c;
if (d < min)
min = d;
if (d > max)
max = d;
if (e < min)
min = e;
if (e > max)
max = e;
printf("El numero menor es: %d\n", min);
printf("El numero mayor es: %d\n", max);

return 0;
}


Se les ocurre alguna otra?

Un saludo y gracias :D

#13
Buenas!

scanf() permite imprimir una string? Tengo el siguiente codigo:

#include <stdio.h>

main()
{
/* Ingresa un numero de 4 digitos de la forma XXXX y lo devuelve como X X X X */

int num;

printf("Ingrese un numero de cuatro digitos:\n");
scanf("%d", &num);
printf("%d %d %d %d", num / 1000, (num / 100) % 10, (num / 10) % 10, num % 10);

return 0;
}


Lo que hace es pedir un numero, ejemplo 1234 y devolverlo de la forma 1 2 3 4.

Cambie el codigo y probe con esta linea:

scanf("Ingrese un numero de cuatro digitos: %d", %num);

Cuando lo ejecuto no me aparece el mensaje y si ingreso, por ejemplo, el numero 1234 me devuelve 4202 5 0 0. No es posible imprimir texto con esta funcion? (Lo pregunto porque creo haber leido en un libro que descargue hace poco). Si no es posible, no deberia dar error de sintaxis?

Un saludo y perdon por estas dudas tan basicas  :)
#14
Buenas chicos,

Tengo una tabla y quiero hacer un bulk insert para pasarle los valores de un .txt a dicha tabla. Tengo el siguiente codigo:

Código (sql) [Seleccionar]
BULK INSERT usuarios
FROM 'C:\Documents and Settings\cnombre\Escritorio\regs.txt'
WITH (
               FIELDTERMINATOR=',',
ROWTERMINATOR ='\n'
)


Y me tira el siguiente error:

CitarNo se puede abrir. Código de error del sistema operativo: 3(El sistema no puede hallar la ruta especificada.).

La ruta del archivo esta bien y el archivo existe, a que se puede deber?

EDIT:
Ya esta solucionado! El problema era que el archivo que tiene los datos debe si o si estar en el servidor. Cambie la ruta y funciona perfectamente.

Un saludo :D
#15
Bases de Datos / Duda T-Sql
14 Junio 2011, 17:02 PM
Buenas chicos,

Estoy haciendo unas practicas con sql server y me surgio una duda.

Tengo dos tablas, la primera llamada usuario con dos campos (id_nombre y nombre) y la segunda llamada edades con campos id_nombre y edad.

Quiero hacer una consulta usando ambas tablas, de manera que me devuelva el nombre y edad de las personas cuya edad sea igual a 20.

Tengo los siguientes codigos:

Código (sql) [Seleccionar]
select usuario.nombre, edades.edad from usuario, edades where edades.edad = 20

Ese me devuelve TODOS los registros (con el campo edad con valor 20, aunque en la tabla original no fuese asi) y me repite todos los registros 3 veces. Podrian explicarme por que hace eso?

Si utilizo el siguiente codigo me da el mismo resultado que el anterior, solo que no lo repite:

Código (sql) [Seleccionar]
select distinct usuario.nombre, edades.edad from usuario, edades where edades.edad = 20

Del libro que estoy leyendo saque lo siguiente:

Código (sql) [Seleccionar]
select usuario.nombre, edades.edad from usuario, edades where edades.edad = 20 and usuario.id_nombre = edades.id_nombre

Podrian explicarme cual es la funcion de la condicion que viene despues del and? Y por que no es necesario el distinct?

Un saludo y gracias! :D
#16
Redes / Configurar router
5 Abril 2011, 20:06 PM
Buenas chicos, tengo una consulta.

Tengo dos pc's conectadas en red a través de un router NogaNet TEI6608. Tenía los dos equipos conectados a internet sin ningún problema hasta que tuve que cambiar el módem. Desde ese momento ya no pude volver a tener ambas pc's conectadas y quería saber como puedo hacer para configurarlo.
Estuve viendo de entrar a la configuracion del router pero no comprendo que es lo que tengo que modificar :-\ El módem es un ZTE ZXDSL 831 Series.

Perdón por no poner demasiados detalles pero estoy muy perdido.

Un saludo y gracias de antemano.
#17
Programación C/C++ / Duda sobre linker
23 Marzo 2011, 17:31 PM
Buenas chicos!

Comencé a leer el libro Cómo programar en C/C++ de Deitel y me surgió una duda.

En el mismo dice que el compilador lo que hace es generar el código objeto dejando el espacio para las llamadas a las funciones de la biblioteca, de lo cual se encarga el linker.
Sin embargo, después dice que los archivos de cabecera contienen información que ayuda al compilador para saber si las llamadas a las funciones se hicieron de manera correcta.

Entonces, quién se encarga de comprobar si las llamadas a las funciones se hicieron correctamente? Quizás me estoy confundiendo y en el segundo caso está hablando de compilador refiriéndose a las dos fases (Compilación y enlazado).

Un saludo y perdón por tan idiota pregunta :-X
#18
Buenas chicos, tengo una consulta, espero que no moleste por acá.

Estoy viendo funciones trigonométricas y me surgió una duda con respecto al círculo unitario. (Imagen).

Teniendo la circunferencia de radio uno, el punto terminal determinado por un número real t, se obtiene moviéndonos por la circunferencia a partir del punto (0;1) en sentido horario si t es negativo, y en sentido antihorario si t es positivo.

Ahora mi problema está en como obtengo las coordenadas de los ejes x e y a partir del punto terminal. Por ejemplo, para t = pi/4. El procedimiento que tengo en el libro es el siguiente:



De lo cual obtengo que la coordenada en x es +- 1/sqrt(2) (Solamente considero el valor positivo dado que el punto t se encuentra en el primer cuadrante). Y como la distancia de pi/4 es igual tanto a (0;1) como a (1;0) ambas coordenadas tienen el mismo valor. Por lo que nos queda que el punto terminal es:



Ahora, alguien podría explicarme como hago para calcular las coordenas de cualquier otro punto terminal? Por ejemplo pi/6.

Espero haberme explicado bien :P

Un saludo y gracias

#19
Buenas chicos,

Estoy leyendo un poco sobre el .NET Framework antes de meterme de lleno en C# y me surgio una duda.

Segun entiendo, todos los lenguajes .NET al compilar no lo hacen a codigo maquina sino a Lenguaje Intermedio el cual despues es ejecutado por el CLR. Pero cuando se "re-compila" utiliza un compilador (:P) JIT que va traduciendo linea por linea al codigo nativo del procesador. Esta ultima forma de trabajar, no es como lo hacen los lenguajes interpretados?

Esa es mi pregunta, C# es un lenguaje compilado-interpretado?

Un saludo y gracias ;)
#20
Buenas chicos,

Estoy empezando a leer algo sobre POO en C# y me surgio una duda. En el manual habla sobre el cliente de una clase. Me podrian explicar a que se refiere?

Un saludo y gracias :)
#21
Scripting / Valores incorrectos [python]
15 Octubre 2010, 22:29 PM
Buenas chicos,

Estaba resolviendo este ejercicio y me surgió un problema:

CitarDada una cantidad de dinero, indicar como repartir el vuelto de manera que se utilice la menor cantidad de monedas.

Acá mi código:

Código (python) [Seleccionar]
b = (100, 50, 20, 10, 5, 2, 1, .5, .25, .1, .05)

v = float(raw_input("Ingrese vuelto: "))
i = 0
j = 0
l = len(b)

while i != l:
   while v - b[i] >= 0:
       v -= b[i]
       j += 1
   if j != 0:
       print j, " billetes/monedas de ", b[i]
       print "El valor restante es: ", v    # Esta unicamente para comprobar los resultados
   j = 0
   i += 1


La salida del script utlizando como valor 1807.35 es:


18  billetes/monedas de  100
El valor restante es:  7.35
1  billetes/monedas de  5
El valor restante es:  2.35
1  billetes/monedas de  2
El valor restante es:  0.35
1  billetes/monedas de  0.25
El valor restante es:  0.0999999999999
1  billetes/monedas de  0.05
El valor restante es:  0.0499999999999


Por qué después de hacer la resta 0.35-0.25 devuelve 0.09 y no 0.1? :-\

Un saludo y gracias ;)

#22
Scripting / IDE para Python
3 Octubre 2010, 03:00 AM
Buenas chicos,

Hace unos dias comence de nuevo con Python (A ver si ahora aprendo algo ;D) y quisiera que me den alguna recomendacion sobre un buen IDE. La version que utilizo es la 2.7 y estoy bajo Windows.

Un saludo y gracias ;)
#23
.NET (C#, VB.NET, ASP) / Recomendacion libro
9 Septiembre 2010, 13:22 PM
Buenas chicos,

Hace poco que estoy aprendiendo programacion y queria saber si me pudieran recomendar algun libro sobre vb.net (En papel, ya que se me complica leer mucho de la pc).

Estuve viendo algunos y de lo mejor que encontre fue "Microsoft Visual Basic .net - Curso de Programacion" de Javier Ceballos. Alguno tiene idea si este manual esta bien para comenzar? O podrian recomendarme algun otro?

Un saludo y gracias ;)
#24
Buenas chicos,

Hace poco que estoy leyendo los manuales de Cracking desde cero de Ricardo Narvaja y me surgio una duda.

CitarPOPA equivale a: pop DI, SI, BP, SP, BX, DX, CX, AX (los valores recuperados correspondientes a ESP y SP, no se colocan en los registros sino que se descartan).

Alguien podria explicarme lo que esta subrayado? No termino de entender lo que se descartan.

Un saludo y gracias ;)
#25
ASM / Duda debug - MS-DOS
15 Agosto 2010, 02:59 AM
Buenas chicos, tengo una duda.

Estoy leyendo un manual sobre ensamblador, donde hago lo siguiente (Usando debug de ms-dos)

Código (asm) [Seleccionar]
mov ax, 0002
mov bx, 0004
add ax, bx
int 20


El problema lo tengo cuando uso el comando r para ver el valor de los registros, que me devuelve:

AX=0000 BX=0000

Cuando (segun entiendo) deberia devolverme ax=0006 bx=0004.
El mismo problema tengo al ejecutar rax o rbx para ver el valor de los registros por separado. Sin embargo, si utilizo el comando g (Junto con la direccion de memoria donde esta int 20), puedo ver el valor correctamente.

Que estoy haciendo mal?

Un saludo y gracias ;)
#26
Buenas chicos, aca les traigo una pequeña noticia por si a alguien le interesa.

Si creen que va en otro lado, muevanlo nomas ;D

La gente de PyAr, a partir del sabado proximo, comienza con un ciclo de charlas abiertas sobre Python. Los temas son bastante abarcativos, llendo desde un nivel principiante hasta temas muy avanzados.

La entrada es libre y gratuita y se brindan en La Tribu, Lambaré 873, Buenos Aires.

Aca les dejo algo mas de informacion:

La web del lugar donde se realiza el evento
Python Argentina
Cronograma completo

Espero poder ir a todas, me resulta muy interesante :D En cuanto tenga algo mas de informacion la publico.

Un saludo ;)


#27
Windows / Manejo del registro
15 Julio 2010, 15:37 PM
Buenas chicos,

Buscando una forma de bloquear/desbloquar el cambio de la pagina de inicio con IE, me encontre con lo siguiente:

CitarDentro de la clave:

HKEY_CURRENT_USER\Software\Policies\Microsoft

Crear las siguientes claves: Internet Explorer\Control Panel. Dentro de esta ultima crear un valor dword y en informacion del valor colocar 0 o 1 para desbloquear y bloquear respectivamente.


Hasta ahi todo correcto, lo pude realizar sin ningun problema.

Mi duda viene sobre como saber que habia que crear las claves Internet Explorer\Control Panel y el dword? Si dichas claves ya estuviesen no seria tanto problema, pero al no ser asi, como saber que nombre ponerle a las claves? De alguna parte de nuestro equipo se obtiene esa informacion?

Espero que me hayan podido comprender :P

Un saludo y gracias ;)