|
1
|
Programación / Programación General / Matrix de Pantalla
|
en: 9 Abril 2018, 23:16 pm
|
Hola a tod@s!! espero que todos anden bien por aqui, me gustaria que me den algun consejo acerca de algo que quiero crear les cuento mi necesidad a ver si me dan ese consejo.
tengo una pantalla de 320 X 480 (en pixeles todo) tengo un matrix (apuntador de c++) sin tamaño asignado supongamos que estoy usando c++ aunque la implementacion puede ser en otro lenguaje. y tengo una variable que maneja el tamaño de la fuente estare usando TTF aun no se que espacion tengo entre caracteres pero podria ser 2px y lo que me gustaria hacer es que esa matrix se le asignaran las columnas y las filas por la cantidad de caracteres especificos dependiendo del tamano de la fuente( se puede omitir el espacio en letras) la verdad ese el problema mas incomodo que he visto me gustaria por favor si es posible unas recomendaciones de ustedes, lo pongo en este foro por que no me gustaria si aparece alguien a limitarme a programadores de c++ o c, lo importante es como se podria implementar el algoritmo, la verdad no tengo nada aun hecho.
Gracias de antemano y disculpen las molestias!!
|
|
|
2
|
Programación / Programación C/C++ / lista enlazada opiniones [CODIGO FUENTE]
|
en: 14 Febrero 2017, 23:07 pm
|
un saludo a todos , ahora mismo me encuentro estudiando estructura de datos y estoy tratando de aprender a crear lista enlazada !! class Link{ struct node{ node *next; int vl; }; node *head; node *curr; node *temp; public: Link(){ head = curr = temp = NULL; } void Add(int d){ node *n = new node; n-> next = NULL; n->vl = d; if( head == NULL) { head = n; } else { curr = head ; while(curr->next){ curr = curr->next; } curr->next = n; curr = n; } } void Delete(int vl){ temp = head; curr = head; node *temp_; if(head != NULL){ if( head->vl == vl ) { if(head->next != NULL) { temp = head->next; temp_ = head; head = temp; delete temp_; temp_ = NULL; return; } } } while(curr != NULL && curr->vl != vl){ temp = curr; curr = curr->next; } if(curr == NULL) return; else{ temp_ = curr; curr = curr->next; temp->next = curr; delete temp_; temp_ = NULL; } } void Print(){ node *temp = head; if(temp != NULL){ while(temp != NULL) { cout << temp->vl <<endl; temp = temp->next; } } } }; int main(){ Link li; li.Add(0); li.Add(1); li.Add(2); li.Add(3); li.Add(4); li.Add(5); li.Add(6); li.Add(7); li.Add(8); li.Add(9); li.Delete(5); li.Delete(0); li.Delete(8); li.Print(); }
me gustaria opiniones. gracias de antemano...
|
|
|
3
|
Programación / Programación C/C++ / array y limite de array sobrepasado...
|
en: 31 Enero 2017, 21:31 pm
|
Buenas a todos !! tengo una duda sobre arreglos !! tengo la siguiente estructura. struct Tra{ char b[8]; char c[32]; }; ... int main(){ Tra tr; memset(&tr, 0x00, sizeof(tr)); strncpy(b, "123456789", 7); strncpy(c, "abecdefeghijklmnopqrstuvywz"); cout << b <<endl; }
salida : >> 123456789abecedefghi.....
me gustaria saber por que pasa eso con el valor de b si solo copio una cantidad especifica de caracteres en b? nota : entiendo que c y c++ no tiene bound check . el problema no es la compilacion ,esto lo edite rapido pero al parecer no entendieron asi que me explicare , como cree esta estructura Tra cree dos variable de tipo array a char , ambas con tamanos diferente , luego instancie un objeto de Tra en main , lo limpie ,luego le puse valores no importa que valor estos solo son ejemplo , luego lo imprimi solo el valor de la primera variable y la salida fue la mezcla de todos los valores de la variable c dentro de b , se que las estructura de array plano son como un super array pero por que salen todos los valore de c en b si solo copie cierta cantidad de char con strncpy?
|
|
|
4
|
Programación / Java / socket, serversocket, interoperacion con otros lenguaje.
|
en: 1 Enero 2017, 21:47 pm
|
Buenas a tod@s feliz inicio de año nuevo... bien, tengo una duda estoy tratando de crear un aplicacion te tipo webserver/server usando socket , serversocket, solamente por que quiero aprender y tambien quisiera saber si este servidor puede interactuar con aplicaciones escritas en otros lenguajes (c++, c.. obvio que si) quisiera entender por pasos y no soy nuevo en java pero para esta aplicacion mis conocimientos de socket son limitados , quisiera entender, quisiera que me recomendaran algun libro y link donde pueda leer acerca de este tema. pero como quiera les quiero mostrar algo sencillo , que quizas todos los que saben de estetema en el foro saben. package ConexionCliente; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.PrintWriter; import java.net.Socket; public class SocketCliente{ ///BufferedOutputStream bout = null; ///BufferedInputStream bin = null; boolean can = false; public SocketCliente(){ try{ sck = new Socket("localhost", 4444); } { e.printStackTrace(); } } public SocketCliente (String host, int port ){ try { sck = new Socket( host , port ); if(sck != null) System. out. println("Se Conecto con "+sck. getInetAddress(). getHostAddress() ); } { e.printStackTrace(); } System. out. println("SocketCliente"); } System. out. println("receive"); if(sck.isClosed()) { System. out. print("Socket is Close"); return ret; } try { while((t = input.readLine()) != null){ ret += t; } //br.close(); input.close(); e.printStackTrace(); } finally{ System. out. println("receive"); return ret; } } System. out. printf("%s\n", str ); try { if(sck.isClosed()) { System. out. print("Socket is Close"); return; } pw.print(str); pw.flush(); //output = new ObjectOutputStream(sck.getOutputStream()); //output.writeBytes(str); //output.flush(); //output.close(); // TODO Auto-generated catch block e.printStackTrace(); } finally{ } } public void Close(){ if(!sck.isClosed()) { try { sck.close(); // TODO Auto-generated catch block e.printStackTrace(); } } } }
este codigo es de Main public class Main { public static void main (String[] args ) { //try{ //Socket s = new Socket(InetAddress.getByName("stackoverflow.com"), 80); //PrintWriter pw = new PrintWriter(s.getOutputStream()); //pw.print("GET / HTTP/1.1\r\nHost: stackoverflow.com\r\n\r\n"); /// pw.print("Host: stackoverflow.com\r\n\r\n"); //pw.flush(); //BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); //String t; //while((t = br.readLine()) != null) System.out.println(t); //br.close(); //}catch(Exception e){ // e.printStackTrace(); //} str = "GET / HTTP/1.1\r\nHost: google.com\r\n\r\n"; /// SocketCliente sck = new SocketCliente("google.com", 80); SocketCliente sck = new SocketCliente("localhost",4444); sck.Send(str); sck.Close();
ahora el codigo del servidor package Server; import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.Reader; import java.io.Writer; import java.net.ServerSocket; import java.net.Socket; import java.util.Date; public class Server implements Runnable{ int puerto; boolean isrun = true; Server (int puerto, String sid ){ this.puerto = puerto; server_id = sid; try{ e.printStackTrace(); } } public void HandleRequest(){ System. out. println("manejando desde el Puerto "+ Integer. toString(puerto )); try{ sock = ssock.accept(); System. out. println("cliente Conectado desde la IP "+sock. getRemoteSocketAddress()); StringBuilder request = new StringBuilder(2048); while (true) { int c = in.read(); if (c == '\r' || c == '\n' || c == -1) break; request.append((char) c); } System. out. printf("%s", request. toString()); out.write(now.toString() +"\r\n"); out.flush(); sock.close(); isrun = false; System. out. println("Cliente desconectado"); e.printStackTrace(); } } @Override public void run() { while(isrun){ System. out. println("Esperando conexion...."); HandleRequest(); } } }
Bueno cada vez que trato de interactuar el servirdor lee solo hasta \n \t el reader no me permite leer una linea completa se queda colgado, me gustaria que me ayudaran por favor post-data la informacion que me respoda no importa esta parte se puede obviar. gracias de antemano por los consejos..
|
|
|
5
|
Programación / Java / Re: Ejemplo real sobre thread
|
en: 13 Diciembre 2016, 19:33 pm
|
Excelente ejemplo . entiendo eso , es igual con los Socket y Base de datos usando JDBC al parecer un hilo va bien con la GUI pero seria igual para otras herramientas ?
y supong que ese thread.start() llama automaticamente this.run cierto? y lo puedo llamar donde yo desee?
|
|
|
6
|
Programación / Java / Ejemplo real sobre thread
|
en: 13 Diciembre 2016, 17:31 pm
|
Buenas a todos de nuevo!!
ahora estoy tratando de enteder los hilos de java , he leido un par de escritos y todos con el mismio esquema de contar numeros hasta 10 y cosas asi ,si es posible alguien me podria mostrar un ejemplo de uso diario de los hilos. gracias de antemano.
|
|
|
7
|
Programación / Java / Re: JPanel no dibuja imagen [inherit]
|
en: 13 Diciembre 2016, 17:30 pm
|
import java.awt.Graphics; import java.awt.Image; import java.io.File; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; import javax.imageio.ImageIO; import javax.swing.JLabel; import javax.swing.JPanel; class RockPosPanel extends JPanel{ int x, y,w,h; public RockPosPanel(){ super(null); super.setLayout(null); } public RockPosPanel (String str ){ this(); x = 0; y = 0; w = 100; h = 100; url = str; if(str != null) { try { System. out. print("Cargando imagen"); System. out. println("La image es null desde que la cargan"); e.printStackTrace(); } } } public void SetImage (Image im, int x, int y, int w, int h ) { if(im != null) this.x = x; this.y = y; this.w = w; this.h = h; } @Override protected void paintComponent (Graphics g ) { super.paintComponent(g); { if(url !=null) try { // TODO Auto-generated catch block e.printStackTrace(); } System. out. println("La image es null desde que la cargan"); System. out. println("La image es null"); } g. drawImage(Icon,x,y, w, h, this); ///System.out.println("image is null"); } }
ese es el codigo completo , no deberia darte errores.
|
|
|
8
|
Programación / Java / JPanel no dibuja imagen [inherit]
|
en: 9 Diciembre 2016, 14:10 pm
|
buenas a todos !! les cuento mi duda estoy tratando de ponerle un background a mi jpanel pasandole una image preeviamente cargada , cuando trato de dibujar con la funcion heredada de PaintComponent la imagen aparece null , es extrano por que todas las imagenes que pongo las uso en otro componente es mas antes de pasarla verifico de varias formas que no sea nulo pero al final es lo mismo siempre, mas abajo esta el codigo de jpanel public class RockPosPanel extends JPanel{ int x, y,w,h; public RockPosPanel(){ super(null); super.setLayout(null); } public RockPosPanel (String str ){ this(); x = 0; y = 0; w = 100; h = 100; url = str; if(str != null) { try { System. out. print("Cargando imagen"); System. out. println("La image es null desde que la cargan"); e.printStackTrace(); } } } public void SetImage (Image im, int x, int y, int w, int h ) { if(im != null) this.x = x; this.y = y; this.w = w; this.h = h; } @Override protected void paintComponent (Graphics g ) { super.paintComponent(g); { if(url !=null) try { // TODO Auto-generated catch block e.printStackTrace(); } System. out. println("La image es null desde que la cargan"); System. out. println("La image es null"); } if(Icoo) g. drawImage(Icon,x,y, w, h, this); ///System.out.println("image is null"); } }
y cuando pruebo la isntancia de la clase : Cargando imagen la imagen no es null image is null image is null image is null image is null image is null image is null
quizas me falto implementar algo pero la verdad no he encontrado informacion en la red si alguien me diera una recomendacion, seria mas que suficiente. gracias de antemano.
|
|
|
9
|
Programación / Bases de Datos / Re: insertar en varias tablas fk y pk
|
en: 3 Diciembre 2016, 14:01 pm
|
Gracias vere que resulvo y luego comento , ya esto lo habian dicho , la cosa es que como se autoincrementan cada vez que yo cree un cliente el ID Aumentara entonces por default la proxima inserccion en datosCliente aumentara. creo que hay quedo. gracias a todos edit: INSERT INTO cliente (nombre) VALUES(juanito) --si el id value - 1 INSERT INTO datoscliente(direccion) VALUES( calle falsa) ---aqui tambien vale 1
Editbuenas a todos de nuevo decidi seguir con mi aprendisaje pero la verdad no entiendo muy eso de las primary key y las foreign key , he creado unas tablsas me gustaria que las vierna para recibir su consejo, se que estoy violando un par de reglas al normalizar pero creo que es por eso mismo. dejare el codigo sql (usando derby ) pero la logica es lo que me importa realmente quiero entender como podria evitar crear varios campos o como hacer los insert en la tabla de ContratoServicio esta sirve para conectar dos tablas como son cliente , servicio y quizasd modo de pago. bueno mas abajo dejo el codigo espero y agradezco de su ayuda o consejo CREATE TABLE usuarios(idUsuario VARCHAR(32) NOT NULL CONSTRAINT UID_SC UNIQUE, nombreUsuario VARCHAR(45) NOT NULL , claveAcceso VARCHAR(128) NOT NULL, categoria VARCHAR(16) NOT NULL , PRIMARY KEY(idUsuario) activo CHAR NOT NULL CONSTRAINT ch_check CHECK(activo =='a' OR activo == 'n')); --Tabla Servicio CREATE TABLE Servicio (IDServicio INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY CONSTRAINT IDServicio_PK PRIMARY KEY, ClaveBusqueda VARCHAR(16) NOT NULL, DescripcionServicio VARCHAR(128) NOT NULL, precioBase DECIMAL(9,3) NOT NULL CONSTRAINT SPRICE_C CHECK(precioBase > 20), proveedorServicio VARCHAR(32) NOT NULL); CREATE TABLE ModoPagoDigital (IDModoPago INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY CONSTRAINT IDServicio_PK PRIMARY KEY, IDEspecifico VARCHAR NOT NULL CONSTRAINT modo_c UNIQUE, NombreDelSuplidorModoPago); CREATE TABLE ContratoServicio (ClaveBusquedaServicio VARCHAR(16) NOT NULL, idServicio INTEGER NOT NULL, IDUsuario VARCHAR(32)); INSERT INTO usuarios (idUsuario, nombreUsuario, claveAcceso, categoria, activo) VALUES('admin' , 'admin' , '123456@a','admin' , 'a'); INSERT INTO usuarios (idUsuario, nombreUsuario, claveAcceso, categoria, activo) VALUES('empleado' , 'empleado' , '123456@a','empleado','a' ); INSERT INTO usuarios (idUsuario, nombreUsuario, claveAcceso, categoria, activo) VALUES('supervisor' , 'supervisor', '123456@a','empleado','a' ); INSERT INTO usuarios (idUsuario, nombreUsuario, claveAcceso, categoria, activo) VALUES('cliente' , 'cliente' , '123456@a','cliente' ,'a'); INSERT INTO usuarios (idUsuario, nombreUsuario, claveAcceso, categoria, activo) VALUES('prueba' , 'prueba' , '111111' ,'cliente' ,'n'); INSERT INTO Servicio(ClaveBusqueda, DescripcionServicio, precioBase, proveedorServicio) VALUES('Edepagos', 'Este Servicio de electricidad', 32, 'EDESDOM'); INSERT INTO Servicio(ClaveBusqueda, DescripcionServicio, precioBase, proveedorServicio) VALUES('FerromDiario', 'Este Servicio deja a los cliente aprender a distancia tecnicas de programacion', 32, 'FERROMDOM'); INSERT INTO Servicio(ClaveBusqueda, DescripcionServicio, precioBase, proveedorServicio) VALUES('Aguas dominiciana', 'Este Servicio de agua', 32, 'gob. Base`'); INSERT INTO Servicio(ClaveBusqueda, DescripcionServicio, precioBase, proveedorServicio) VALUES('net place', 'Este Servicio de Internet local', 32, 'internet'); INSERT INTO Servicio(ClaveBusqueda, DescripcionServicio, precioBase, proveedorServicio) VALUES('telefonos Rapido', 'cuentas de telefono', 32, 'EDESDOM');
|
|
|
10
|
Programación / Bases de Datos / Re: insertar en varias tablas fk y pk
|
en: 2 Diciembre 2016, 18:10 pm
|
GRACIAS , Es que quizas me ahogo en un vaso de agua pero , dejame tratar de explicarme mejor.
tengo varias tablas , cliente , datosDeCliente , como dije antes DatosDeCliente tiene un FK con el PK de cliente , entonces de una aplicacion (este punto no es importante) trato de ingresar los datosDeCliente como podria hacer el insert si la unica relacion que tengo de Cliente y datosDeCliente es el PK que es autoincremental y no le pongo "la mano" directamente , tengo una idea podria hacer una select top de la tabla cliente pero quisiera su opinion para ver si hay una mejor manera , que pueda ser estandar porque quiero usar el script sql en un dbms pero quiero que resulte un poco sencillo portarlo a otro.
me explique bien?
|
|
|
|
|
|
|