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


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: 1 ... 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 [308] 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 ... 436
3071  Programación / Programación Visual Basic / Re: Código QR en: 27 Abril 2018, 16:38 pm
A ver si no confundimos cosas.
La 'tlb' de qr-code está hacha en NET, y se registra con RegASM, pero la 'tlb' stodOLE2, es anterior a NET, no debe ser registrada con RegASM (entre otras cosas no sé si sería posible, porqué no sé de seguro que pueda cambiar).

La cuestión es que en efecto, stdOLE2.tlb, es una librería básica de vb6, contiene entre otras cosas la declaración de las interfaces IStdPicture e IStdFont, necesarias para manejar imágenes y fuentes (textos sobre gráficos en definitiva).

No has aclarado si has usado alguna vez (compilado otros proyectos en ese entorno: win8 64 bits), y quizás el problema sea que no esté bien instalado VS, o que tengas alguna desconfiguración. Así que al menos crea algún otro proyecto que no precise recurrir a librerías externas, añade un control picturebox, y añade un botón para ponerle una imagen en tiempo de ejecución... luego compílalo y usa el programa... si tienes problemas es que has desconfigurado algo... (o nunca antes ha funcionado correctamente VS en ese equipo). Si no tienes problemas, tampoco debieras tenerlos en ese proyecto.

...en definitiva, debe quedar claro, si el problema ha existido siempre (ó nunca lo has comprobado), o si el problema lo has creado tú (aunque sea inadvertidamente) al trastear con este proyecto. Ya que no tiene sentido tratar de encontrar un problema de forma aislada suponiendo algo, si el problema está más atrás o es de mucha más envergadura (que un problema con una ruta o versión o registro de 1 sola librería)...

Ayudaría por tanto saber (responde a las 3):
1 - Has compilado (y ejecutado y probado hasta la saciedad) algún proyecto anteriormente una vez instalado VS6?.
2 - Acabas de instalar VS6 justo para poder operar con este proyecto?.
3 - Puedes crear un proyecto rápido (como el descrito), compilarlo, probarlo y comentar si funciona?

3072  Programación / Programación General / Re: pascal: ";" expected but "ELSE" found pero no lo entiendo en: 27 Abril 2018, 02:54 am
La sentencia 'while', exige una 'repeat', y no una 'else'

...y por favor, cuando pongas código sea del lenguaje que sea, usa las 'etiqeutas GESHI, que aparece en la ventana de redacción del mensaje... eliges el lenguaje adecuado y pegas el código, dentro así resultará más claro y legible.

(las etiquetas también puedes escribirlas a mano... son las siguientes, he añadido un espacio después de '[' para que resulten visibles).

[ code=pascal]
   Tu código aquí dentro...
[ /code]
3073  Programación / Java / Re: ayuda con un arbol binario en: 27 Abril 2018, 02:31 am
0 - El árbol binario que pides, al caso dado, se llama arbol sintáctico.

1 - La función split, no vale, porque corta por los caracteres pedidos, dejando fuera esos caracteres qe son los operadores.
2 - Además, el operador de asignación '=', lo quedas fuera. Lo mismo que a x. 'x' es una variable, que debe ser tratado exactamente igual que si fuera un número.

3 - Toda la operatoria debe ser un bucle, que recorra buscando bytes o caracteres, reconozca numeros/variables/identificadores (como en el siguiente ejemplo) por un lado y operadores por otro. Los paréntesis también son operadores, en este caso de prioridad (se resuelve lo que está dentro  antes de resolver lo de más afuera).
x = (j * k) + 5 - ((n * 7) + cantidad)

4- Debes considerar la prioridad de los operadores, a falta de paréntesis, se deben seguir las reglas de precedencia de operadores,  y la estructura adecuada para mediar con el bucle y el árbol es una pila.

5 - Con un árbol sintáctico, los nodos terminales siempre contienen el operando (número, variable...) y los nodos internos contienen el operador, quedando el operador en medio de los operandos se conoce como notación infija

6 - Tal vez te interese seguir otro modelo. Revisa la notación polaca inversa, donde los 2 operandos quedan juntos antes del operador.

nota: te he marcado en negrita, todo aquello que puedes buscar en google, para profundizar...
3074  Programación / Programación Visual Basic / Re: Código QR en: 27 Abril 2018, 01:16 am
Ya, pero el mensaje de error es claro:
"El sistema no puede encontrar el archivo especificado"...

Mira de intentar esto: Copia el fichero stdole2.tlb a la misma carpeta donde tienes el proyecto e intenta ejecutarlo, compilarlo... y cambia por tanto la ruta a local:
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#stdole2.tlb#OLE Automation
Si ahora te funciona, en efecto el problema es que no le indicas la ruta correcta a la referencia... o no tienes privilegios de acceso.

Si el problema persiste, busca ayuda en google, no serás el primero que tiene un problema de ese tipo: el mensaje de error te muestra el número de error, usa google con dicho número y el texto (mejor en inglés): "could not load file or assembly stdole version 7.0"
3075  Programación / Programación Visual Basic / Re: Código QR en: 26 Abril 2018, 04:04 am
El mensaje de error, señala que falla la librería de tipos StdOLE2 que es de VB6... he dado por supuesto que has compilado más programas  en VB6, y que por tanto
1 - esa librería la tienes en el sistema,
2 - está registrada y
3 - la misma instalación de vb6, te funciona (sea cual sea el S.O. que tengas)...

Luego partiendo de esa base... es que sigo.
Abre con el editor de texto plano de tu preferencia el fichero del proyecto (Project1.vbp)
Esta es la ruta que viene en la línea (por defecto es correcta en los equipos para los que VB6 fue diseñado):
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINDOWS\system32\stdole2.tlb#OLE Automation

Puede estar pasando alguna de las siguientes situaciones:
1- No tengas esa librería
2- La tienes pero no la tienes registrada.
3- La tienes y está registrada, pero la ruta donde yace es otra.
4- Tienes otra vesión, no la versión 2.0 de vb6 (que es la que se precisa).

Hay formas rápidas de comprobarlo...
A - Abre un nuevo proyecto (vacío, sin código), guárdalo, compílalo, y luego abre la carpeta y pon en marcha el ejecutable... si funciona... ve al proyecto, ábrelo con el editor de texto, y mira la línea correspondiente a la referencia de StdOLE2... copia esa línea y remplaza la que tienes en el proyecto QR-Code equivalente, por ésta, y guarda los cambios, ya debiera funcionarte.

Si no te ha funcionado, lo anterior (es decir nunca has compilado antes un proyecto en VB6 en tu equipo actual, con tu S.O. actual)....

B - Abre el registro de windows (regedit)... sitúate (es decir, pincha para seleccionar y posicionar ahí el cursor) en la raíz de la base de datos del registro (Mi PC, my Computer, o lo que sea que ponga según versión e idioma) .
Ahora dale al menú --> Editar --> Buscar  y en la ventana de búsqueda pega: stdole2.tlb  (sin comillas ni espacios).... cuando lo encuentre si despliegas la rama, encontrarás la ruta donde se localiza la librería de tipos...
O bien búscala tu mismo desplegando las ramas (puede que en tu sistema varía, ya que Mocosoft, cambia cosas siempre entre versiones): Mi Pc --> HKey classes root --> Typelib --> HKEY_CLASSES_ROOT\TypeLib\{00020430-0000-0000-C000-000000000046} Despliega la clave... 2.0 --> 0 --> win32 -----> a la derecha vendrá la ruta donde se encuentra registrada. Esa ruta es la que debes poner en el fichero de proyecto QR-Code...

O simplemente abre el proyecto, ve a referencias y busca la ruta manualmente hasta la librería huérfana... tal como te señalé, para la otra.

Esta es la info que tengo de mi librería... (para VB6 uso un XP)... coincide con la info que te muestra...
"stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
3076  Programación / Java / Re: Sumar resultado de arrayList en: 24 Abril 2018, 17:38 pm
No he mirado tú código, solo tu exposición inicial:
Citar
Introduce el codigo de un proveedor : 1

El total facturado del producto 1 es : 10.0€

El total facturado del producto 2 es : 20.0€

El total facturado del proveedor es : 30.0€
Si simplemente te falta la línea en negrita, entonces es que te falta el 'subtotal'...

1 - Cada vez que se facture un producto, actualiza el subtotal.
...facturado producto 1=  imprimir totalProducto  (al caso de ejemplo 10.0)
subtotal += totalproducto

2 - Cuando ya no haya más productos... entregas, imprimes el total:
 total = subtotal
 subtotal = 0     
... facturado proveedor = imprimir total



El subtotal, no tiene porqué ponerse a 0, por el mero hecho de imprimir el total... sino por una operación específica...
Esto es, un cliente compra varios productos, a un proveedor, cuando ya no compra más puede COMPRAR-PAGAR y reclamar el balance, que es cuando se extiende la factura, mientras, lo mejor es actuar con el típico 'carrito de la compra', donde la compra son solo reservas temporales hasta el momento que pulse comprar, y las reservas simplemente es un array (mejor una lista enlzada) donde cada ítem relaciona proveedor, producto y cliente, así al final de la compra, si compró de diferentes proveedores, puede sumar el total de cada proveedor y luego el total de todos los proveedores....

...pero si es un ejercicio, no te compliques tanto.
3077  Programación / Programación General / Re: Programación en android en: 24 Abril 2018, 17:27 pm
Intenta encontrarlo por aquí: https://developer.android.com/index.html


3078  Programación / Programación General / Re: Operación unión de pilas en Pascal en: 24 Abril 2018, 17:17 pm
Perdona, me dejé llevar más por el título...
1 - Informalmente unión, significa reunión... siendo éste caso, todo lo escrito, sería totalmente correcto.

2 - Formalmente, el concepto de Unión 'U', significa "pertecenece a", así: rojo U colores
indica que rojo pertenece al conjunto colores.
En resumen es lo mismo con la salvedad de que no ha de contener elementos repetidos (el conjunto colores, no contiene: verde, azul, rojo, amarillo, blanco, rojo... es decir solo hay una copia de cada uno).

Releyendo que es un ejercicio (posiblemente de un profesor), asumo que será lo segundo.
Aunque la diferencia sea un pequeñísimo detalle, el ejercicio se complica y sobretodo requiere muchísimas más operaciones (solamente, por efectuarse con pilas) en ese caso, porque antes de depositar un elemento en la pila destino, debe quedar claro, que no consta ya... siendo una pila implica revisar todo su contenido (cada vez), extraer y volver a meter.

Sea la pila Q = 1,6,9,3,3,3,7,9  // cada n´mero representa un elemento...
y la pila Z = 2,0,7,9,7,4,1,1,5
la pila x =    (vacía)

Código:
buleano = Funcion Contiene(elemento e, pila X)
    pila aux
    elemento p
    buleano existe = FALSE

    Mientras x.Items   // ir sacando uno a uno los ítems de la pila para ver si los contiene.
        p = x.pop
        aux.push p

        Si x = e
             existe = TRUE
             Salir del bucle
        fin si        
    repetir

    mientras aux.Items  // volver a introducir los ítems sacados de la pila destino.
        p = aux.pop
        x.push p
    repetir

    Devolver existe
fin funcion

Aqui se opera estrayendo cada elemento de la pila Origen, y si no consta en destino, se añade.
Código:
Procedimiento UnionPX(pila O, pila X)
    elemento p

    Mientras O.Items
        p = O.Pop
        Si Contiene(p, X) = FALSE
            X.push p
        fin si
    repetir        
fin procedmiento

Finalmente se opera con cada pila solicitada ...
Código:
Procedimiento UnionZQ(pila Z, pila Q, pila X)
    // Si se considera que la pila X está vacía, puede comenzarse por colocar el primer elemento de la pila Z
    X.Push(Z.Pop)
    // Pero si tampoco se sabe si la pila Z, está o no vacía no sería acertado la anterior línea...

    UnionPX(Z, X)
    UnionPX(Q, X)
Fin procedmiento

Es laborioso, por cuanto la pila X, con cada ítem debe ser revisada entera y cuantos más se añaden más larga serán las siguientes revisiones...

la pila X, por tanto contendrá finalmente: x = 1,6,9,3,7,2,0,4,5  
3079  Programación / Programación General / Re: Operación unión de pilas en Pascal en: 24 Abril 2018, 00:35 am
Yo te oriento, luego pones de tu parte y lo trasladas a código (además Pascal lo tengo muy oxidado).

Es fácil que los estudiantes confundan pilas con colas. Así que cuanto antes encuentre uno una manera de disnguirlas mejor.
Con una cola, como su nombre indica, podemos fijarnos en la cola del cine... el último que llega se pone a la cola y espera hasta que el toque.
En un pila, es como 'apilar' libros en el suelo... pones uno encima de otro, luego el último en 'llegar' es el primero en salir... los de habla inglesa como les molan tanto las abreviaturas las llaman por eso FILO y FIFO respectivamente (que parece el mote de profes de mates), First In, First Out y First In, Last Out
Igualmente alguien pudo pensarlo al revés y llamarlas
Last In, Last Out (LILO) y Last In, First Out (LIFO)...  :laugh: :laugh: :laugh:

Bueno, pués si tienes dos pilas, imagina dos montones de libros, cómo pasarías un 'montón' al otro?

Código:
Procedmiento Amontonar(pila origen p1, pila destino p2)
    Mientras p1.Items  // Quedán libros en el montón1?, si sí, entonces...
        r = p1.pop  // Toma un libro del montón1 y ponlo en tu mano
            // Toma: no cualquiera, sino el que está arriba del todo.
        p2.push r   // deposita en el monton2, el libro que tienes en la mano.
            // Deposita: no en cualquier parte, si no encima del todo.
    Repetir
fin procedmiento


Bien, el ejercicio previo fue fácil, pués el que te piden es repetir lo mismo primero con una pila y luego con la otra...
Código:
Procedimiento Amontonar2Pilas(pila Z, pila Q, pila X)
    Amontonar (Z, X)
    Amontnar (Q, X)
fin procedimiento

Quizás la pila X esté vacía y deba crearse dentro del propio procedmiento y luego ser devuelto... eso ya es sazonar al gusto...


p.d.:
Realmente de este modo se mueven muchos elementos. Si se trata de que el estudiante practique vale, pero no es eficiente.
Cuando se trata de ser eficiente, si dos pilas íntegramente pasan a formar parte de otra, hay que mirar si la propia pila dispone de métodos propios, para enlazar el principio de un montón con el final del otro, así la unión de 2 pilas, solo supone operar con dos nodos. Clocando el primer nodo de una pila detrás del último de la otra pila...
3080  Foros Generales / Noticias / Re: Coinbase cierra la cuenta de Wikileaks y pierde sus criptomonedas en: 23 Abril 2018, 20:02 pm
Si, jajaja... lo único que me ha sorprendido del 'petro' es su nombre.
Me ha extrañado que no se llamara, "MaduroCoin", "HugoCoin", o "BolivarCoin".

...esperemos que a la vuelta de 10 años, no esté presidiendo el "cantón republicano Bolivariano de Venezulea", un chinito al que le adeuda no se cuantos miles de millones de petros, que les lleve a invadir y apoderarse del país.
Páginas: 1 ... 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 [308] 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 ... 436
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines