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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: [1] 2 3 4
1  Programación / Programación C/C++ / Problema al compilar con SFML en: 5 Junio 2019, 14:14 pm
Estoy intento usar SFML con el visual studio IDE 2019 y me saltan errores de compilación cuando uso algo de dentro de la libreria. Si la importo y no la usa no me da error, pero en cuando uso algun objeto o metodo no me deja compilar.
Me salta error solo haciendo esto:
Código:
#include<SFML\Graphics.hpp>
#include <time.h>
using namespace sf;


int main()
{
srand(time(0));
RenderWindow app(VideoMode(400, 533), "Game!");
app.setFramerateLimit(60);

return 0;
}

He añadido la carpeta de SFML en las propiedades del proyecto, tanto en el aparto de C++ como en el del Vinculador

Los errores que me salen son:
Código:
Gravedad	Código	Descripción	Proyecto	Archivo	Línea	Estado suprimido
Error LNK2019 sÝmbolo externo "__declspec(dllimport) public: __thiscall sf::String::String(char const *,class std::locale const &)" (__imp_??0String@sf@@QAE@PBDABVlocale@std@@@Z) sin resolver al que se hace referencia en la funci¾n _main Jump C:\Users\user\source\repos\Games\Jump\Jump\main.obj 1

Código:
Gravedad	Código	Descripción	Proyecto	Archivo	Línea	Estado suprimido
Error LNK2019 sÝmbolo externo "__declspec(dllimport) public: __thiscall sf::String::~String(void)" (__imp_??1String@sf@@QAE@XZ) sin resolver al que se hace referencia en la funci¾n _main Jump C:\Users\userl\source\repos\Games\Jump\Jump\main.obj 1

Código:
Gravedad	Código	Descripción	Proyecto	Archivo	Línea	Estado suprimido
Error LNK2019 sÝmbolo externo "__declspec(dllimport) public: __thiscall sf::VideoMode::VideoMode(unsigned int,unsigned int,unsigned int)" (__imp_??0VideoMode@sf@@QAE@III@Z) sin resolver al que se hace referencia en la funci¾n _main Jump C:\Users\user\source\repos\Games\Jump\Jump\main.obj 1

Código:
Gravedad	Código	Descripción	Proyecto	Archivo	Línea	Estado suprimido
Error LNK2019 sÝmbolo externo "__declspec(dllimport) public: void __thiscall sf::Window::setFramerateLimit(unsigned int)" (__imp_?setFramerateLimit@Window@sf@@QAEXI@Z) sin resolver al que se hace referencia en la funci¾n _main Jump C:\Users\user\source\repos\Games\Jump\Jump\main.obj 1

Código:
Gravedad	Código	Descripción	Proyecto	Archivo	Línea	Estado suprimido
Error LNK1120 4 externos sin resolver    Jump C:\Users\juser\source\repos\Games\Jump\Debug\Jump.exe 1
2  Programación / Desarrollo Web / No abre html desde javascript en: 19 Febrero 2019, 16:57 pm
Hola,
el problema que tengo es que no consigo abrir un html desde javascript usando la funcion "cargar". Quiero que se abra el index donde esta el menu y luego se añada debajo la pagina que se pulse en el menu. Para simplificarlo dejo un ejemplo sencillo que tampoco funciona:

HTML
Código:
<!DOCTYPE html>
<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src = "./js/libCapas.js"></script>
    </head>
    <body onload="Cargar('inicio.html','cuerpo')">
        <div>
            <table>
                <tr>
                    <td><a href="#" onclick="Cargar('inicio.html','cuerpo')">Inicio</a></td>
                    <td><a href="#" onclick="Cargar('iniciar_sesion.html','cuerpo')">Iniciar Sesion</a></td>
                   
                </tr>
           
            </table>
        </div>
        <div id="cuerpo"></div>
    </body>
</html>
HTML
Código:
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
    <table>
    <tr>
        <div>TODO write content</div>
        </tr>
     </table>
    </body>
</html>

javascript
Código:
function invokeScript(divid)
{
var scriptObj = divid.getElementsByTagName("SCRIPT");
var len = scriptObj.length;
for(var i=0; i<len; i++)
{
var scriptText = scriptObj[i].text;
var scriptFile = scriptObj[i].src;
var scriptTag = document.createElement("SCRIPT");
if ((scriptFile != null) && (scriptFile != "")){
scriptTag.src = scriptFile;
}
scriptTag.text = scriptText;
if (!document.getElementsByTagName("HEAD")[0]) {
document.createElement("HEAD").appendChild(scriptTag);
}
else {
document.getElementsByTagName("HEAD")[0].appendChild(scriptTag);
}
}
}
                       
function nuevaConexion()
{
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E)
{
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined')
{
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

function Cargar(url, capa)
{
var contenido = document.getElementById(capa);
var conexion = nuevaConexion();
conexion.open("GET", url, true);
conexion.onreadystatechange=function()
{
if(conexion.readyState == 4)
{
contenido.innerHTML = conexion.responseText;
invokeScript(document.getElementById(capa));
}
}
conexion.send(null);                               
}
                                               
function CargarForm(url, capa, valores)
{
var contenido = document.getElementById(capa);
var conexion = nuevaConexion();
conexion.open("POST", url, true);
conexion.onreadystatechange=function()
{
if(conexion.readyState == 4)
{
contenido.innerHTML = conexion.responseText;
invokeScript(document.getElementById(capa));
}
};
conexion.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
conexion.send(valores);
}

function ProcesarForm(formulario, url, capa)
{
var valores="";
for (i=0; i<formulario.elements.length;i++)
{
var nombre = formulario.elements[i].name;
if (nombre!="")
{
if (!((formulario.elements[i].type == "radio") && (!formulario.elements[i].checked)))
{
valores += formulario.elements[i].name + "=";
valores += formulario.elements[i].value + "&";
}
}
}
CargarForm(url, capa, valores);
}

function cargaInicial()
{                           
Cargar('menu.html','menu');
Cargar('inicial.html','capa1');
}


Si alguien me puede decir como consigo cargar el segundo html debajo del primero, usando ese javascript

Gracias.
3  Programación / Programación C/C++ / Ejecutar comando en C++ sin system() en: 9 Febrero 2019, 14:02 pm
Hola, quisiera saber como ejecutar un comando en un terminal sin usar system(), ya que según tengo entendido es una llamada al sistema operativo y no es una buena practica. Quisiera saber como se hace tanto en POSIX como en windows. Como ultima duda, aunque no tenga nada que ver,  me gustaría saber cuantos hilos te permiten los SO usar como máximo o partir de cuantos hilos deje de ser contraproducente. Gracias.
4  Sistemas Operativos / GNU/Linux / Problema al instalar cualquier LINUX en: 28 Enero 2019, 18:27 pm
Hola buenas,
Tengo un problema al instalar el ubuntu desde un usb booteable. Uso rufus para instalar ubuntu 18.04 lts, no me da ningun problema a la hora de instalar (lo he probado tanto en ISO como en DD), cuando arranco el usb todo funciona correctamente hasta que llega la pantalla de elegir la partición (hay veces que ni siquiera llega a mostrarse esa pantalla) porque se queda congelado. Acabo de probar con debian (que ni siquiera ha arrancado, me ha saltado una pantalla negra con un recuadro rojo), con fedora y open suse. No va ninguno, todos se quedan colgados. No entiendo nada. Con todos los ordenadores que he instalado cualquier linux me ha ido a la primera.

El portatil es:

Asus 556UA
Intel i7-6500U
12GB RAM
5  Programación / Programación C/C++ / Re: Error al recuperar datos de fichero de texto con delimitadores en: 24 Enero 2019, 01:35 am
Lo que te pasa es que getline debe recibir un flujo de entrada como primer parámetro(el fichero), el string donde se copia y el carácter delimitador. Por cierto, si dat es un iterador de una lista, recuerda aumentar su posición en cada iteracion cada vez que lees del fichero.
Por ejemplo para un carácter delimitador de una coma seria:

Código:
#include <string>
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
string newNom,newCorreo,newNum;
fstream f("contactos.txt",ios::in);

if(!f.is_open())
cout<<"Error abriendo el fichero"<<endl;
else
while(!f.eof())
{
getline(f,newNom,',');
getline(f,newCorreo,',');
getline(f,newNum,',');
cout<<newNom<<endl;
cout<<newCorreo<<endl;
cout<<newNum<<endl;
}

}

6  Programación / Programación C/C++ / Re: Como intercambiar valores de un iterator en C++ en: 20 Enero 2019, 18:50 pm
Justo, mil gracias!!

Dejo el código para intercambiar iteradores y ordenar con iteradores una lista alfabeticamente por si le sirve a alguien.

Código:
void Agenda::ordenaListas(){
    Contacto auxiliar;
    for(list<Contacto>::iterator it1 = listapal.begin(); it1 != --listapal.end(); it1++)
        for(list<Contacto>::iterator it2 = (++it1)--; it2 != listapal.end(); it2++)
            if(it1->comparar(it2->getNombre()))
{
                auxiliar = *it1;
                *it1 = *it2;
                *it2 = auxiliar;
            }
}

Código:
bool Contacto::comparar(const string& s)
{
int i=0;
while (i<nombre.length()||i<s.length())
if(nombre[i]!=','&& s[i]!=',')
if(nombre[i]!='\0'&&s[i]!='\0')
{

if(s[i]<nombre[i])
return true;
if(s[i]==nombre[i])
i++;
else
return false;
}
}
7  Programación / Programación C/C++ / Re: Como intercambiar valores de un iterator en C++ en: 20 Enero 2019, 18:19 pm
Paso el codigo por un enlace de mega. Siento mucho el estado del codigo, hay mucho comentario pero es por los intentos. El problema se encuentra en la clase Agenda, todos los demas metodos funcionan bien excepto <ordenaListas()>

Citar
8  Programación / Programación C/C++ / Re: Como intercambiar valores de un iterator en C++ en: 20 Enero 2019, 17:57 pm
Vale muchas gracias, es verdad, me he mareado un poco ahí con los iteradores. He probado tu código y sigo con el mismo problema, el resto del programa funciona correctamente pero ya no se si puede que se quede pillado por otra cosa o que...el caso es que cada vez que intenta ordenar se queda congelado hasta que el sistema operativo decide mandarlo a la *****.  >:D
9  Programación / Programación C/C++ / Re: Como intercambiar valores de un iterator en C++ en: 20 Enero 2019, 14:04 pm
En visual studio si me funciona pero prefiero hacerlo sin la lambda, en java hemos visto lambdas pero el estandar que usamos es c++ 11. He cambiado eso de adelantar el iterador jt y he cambiado la condicion del if. Sigue sin funcionar pero ya no se que hacer, supongo que lo dejare sin ordenar o lo pondré todo en una misma clase ( aunque prefería hacerlo en dos).

Código:
for (list<Contacto>::iterator it=listapal.begin();it != listapal.end(); it++)
{
for (list<Contacto>::iterator jt=it;jt!=listapal.end()--; jt++)
{
//jt++;
contI=*it;
contJ=*jt;

if(contI.getNombre().compare(contJ.getNombre())>0)
{

/* *pos=*it;
*it=*jt;
*jt=*pos;*/

pos->setNombre(it->getNombre());
pos->setNumeroTelefono(it->getNumeroTelefono());

it->setNombre(jt->getNombre());
it->setNumeroTelefono(jt->getNumeroTelefono());

jt->setNombre(pos->getNombre());
jt->setNumeroTelefono(pos->getNumeroTelefono());


}
10  Programación / Programación C/C++ / Re: Como intercambiar valores de un iterator en C++ en: 20 Enero 2019, 12:30 pm
No se si es que no lo he entedido mucho pero si hago :
Código:
listapal.sort([](const Contacto& c1, const Contacto& c2) { return c1.nombre <c2.nombre; });

Me da error:
Código:
	[Error] no matching function for call to 'std::list<Contacto>::sort(Agenda::imprimeAgenda()::<lambda(const Contacto&, const Contacto&)>)'

Y si lo hago tal cual lo tienes tu:
Código:
listapal.sort([](const auto& c1, const auto& c2) { return c1.nombre <c2.nombre; });

Me da estos errores:
Código:
	[Error] request for member 'nombre' in 'c1', which is of non-class type 'const int'

Código:
Error] request for member 'nombre' in 'c2', which is of non- type 'const int'

Código:
	[Error] no matching function for call to 'std::list<Contacto>::sort(Agenda::imprimeAgenda()::<lambda(const int&, const int&)>)'

Y eso que he cambiado el atributo nombre a publico(ya se que no debería pero es que con el getNombre() me dice que no existe getNombre()).
Pero es que tu código tampoco me funciona, no entiendo nada. No debe ser tan complicado :-\
Páginas: [1] 2 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines