• Viernes 26 de Abril de 2024, 23:49

Mostrar Mensajes

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


Mensajes - martin campos quintero

Páginas: 1 [2] 3 4 5
26
Visual Basic 6.0 e inferiores / [Código Fuente] Muy bonito :D
« en: Sábado 31 de Diciembre de 2005, 01:40 »
Hola amigo, está bueno tu código. Una sugerencia nomás, hazle como en yahoo, que los cuadritos donde se puede poner la ficha aparezcan solo cuando el ratón les pase por encima, pienso que sería más atractivo así, y además manda un mensaje de que el juego quedó cerrado cuando ya no se pueda continuar más.

Saludos. Me gustó el dominó :D

Podrias modificarlo para que se pudiera jugar en red :D

27
Visual Basic 6.0 e inferiores / Controlar Impresora
« en: Jueves 29 de Diciembre de 2005, 22:47 »
Hola a todos, espero me puedan ayudar con esto.

Estoy buscando código para controlar la impresora, es decir, cuando se mande a imprimir que la aplicación detecte eso  y que detenga la impresión, y cheque parámetros por ejemplo, si el usuario tiene saldo entonces que continúe la impresión del trabajo o lo acepte en la cola de impresión, en caso contrario que deseche el trabajo.

Yo ya pude hacer que aborte, pause y continúe el trabajo actual de la impresora, pero quiero poder abortar un trabajo en específico, por ejemplo uno que esté en la cola de impresión.

Espero que alguien sepa. Gracias de antemano

28
Visual Basic 6.0 e inferiores / Pregunta Sobre Visual Basic Con Excel
« en: Martes 20 de Diciembre de 2005, 02:12 »
Hola, tengo un problemita y necesito me ayuden.

El problema es que me pidieron que mi aplicación pase datos a excel a un archivo que ya existe (tiene una estructura definida).

Los datos a las celdas de excel ya los mando desde mi aplicación, pero el problema es que ese archivo tiene un cuadro de texto "Cuadro de texto 265"
Y no se como mandar o modificar los datos que tiene ese cuadro de texto.

Si pueden ayudarme se los agradeceria bastante.

De antemano gracias

29
Java / Re: Condición En Java
« en: Viernes 16 de Diciembre de 2005, 10:34 »
Muchas gracias por tu respuesta, me fue de mucha utilidad

30
Java / Re: Realizar Operaciones Con Datos De Base De Datos
« en: Viernes 16 de Diciembre de 2005, 10:33 »
Muchisimas gracias amigo, necesitaba ese dato urgentemente. Muchas gracias por contestar tan rápido :)

31
Java / Realizar Operaciones Con Datos De Base De Datos
« en: Viernes 16 de Diciembre de 2005, 03:17 »
Hola, quisiera me pudieran ayudar en un problemita, espero y puedan.

El problema es que extraigo datos de una base de datos, es decir

tabla: motivo_adeudo
Campo: adeudo  (tipo cadena)
Supongamos que tenemos tres registros

adeudo: 100
adeudo: 200
adeudo: 300

En la consulta los almaceno en la variable suma de tipo entero
suma=600

y hago otra consulta a

tabla: abonos
Campo: abono (tipo cadena)

abono: 100
abono: 150

y almaceno la suma en la variable suma2 de tipo entero
suma2=150

y después hago la operación de resta y almaceno el resultado en resultado
resultado=450

Estoy trabajando en modo gráfico SWING

y no puedo almacenar una variable int en un JTextField.

O sea que no puedo mostrar el resultado en modo gráfico sino que lo muestro en la pantalla tipo ms-dos.

Espero me puedan ayudar a realizar esto o que me digan como convertir de int a String.

De antemano gracias :)

32
Visual Basic 6.0 e inferiores / Re: Datos De Visual Basic A Excel
« en: Jueves 15 de Diciembre de 2005, 20:16 »
Gracias por sus respuestas, me fueron de mucha ayuda

33
Java / Re: Condición En Java
« en: Martes 13 de Diciembre de 2005, 13:02 »
Hola, el problema que tengo es que no funciona un código que según yo, debería funcionar, obtengo de la tabla historia_clinica los datos del paciente, y si el dato "4" es igual a "SI", entonces el cb1 (checkbox) se activa a TRUE en caso contrario a FALSE, el problema es que no me reconoce la condición donde verifico si es igual a "SI", tal vez tengo mal la condición, espero que me puedan ayudar

Código: Text
  1.  
  2.  
  3.     try
  4.     {
  5.  
  6.       ResultSet rs = st.executeQuery("SELECT * from historia_clinica where clave_pac = ('"+clave_a_buscar+"')");
  7.      
  8.       System.out.println("Entró");
  9.  
  10.       ResultSetMetaData md = rs.getMetaData();
  11.  
  12.                         if(rs.next()) {
  13.                          
  14.                           System.out.println(clave_a_buscar);
  15.                           historia_clinica hc2 = new historia_clinica();
  16.                           hc2.texto11.setText(rs.getString(3));
  17.                          
  18.                           if(rs.getString(4)=="SI")
  19.                           {
  20.                             System.out.println(rs.getString(4));
  21.                             hc2.cb1.setState(true);
  22.                           }
  23.                           else
  24.                           {
  25.                             System.out.println(rs.getString(4));
  26.                             hc2.cb1.setState(false);
  27.                           }
  28.  
  29.                             rs.close();
  30.                         }
  31.                         else{
  32.                                 rs.close();
  33.                             }
  34.                 }catch(SQLException e){}
  35.  
  36.  
  37.  

34
Visual Basic 6.0 e inferiores / Datos De Visual Basic A Excel
« en: Sábado 10 de Diciembre de 2005, 22:37 »
Hola amigos, espero me puedan ayudar con este problema.

Resulta que tengo que exportar datos desde mi programa hacia excel.

Esto es un archivo de excel que tiene el encabezado ya definido para que se imprima con los datos que le mande.

pienso mandar de 20 registros por impresión


pero lo que me interesa saber es como puedo hacer para mandar los datos a cierto archivo, ejemplo: archivo imprime

y como puedo cambiar el tipo de letra a "negrita" de x celda

y si me pueden ayudar también como imprimir el archivo después de que ya he pasado los datos.

No estoy pidiendo que me hagan la tarea, sino que si me pueden dar información de donde encontrar código como ese, para yo adaptarlo a mi aplicación.

De antemano gracias  ;)

35
Visual Basic 6.0 e inferiores / Re: Sobre Textbox
« en: Viernes 9 de Diciembre de 2005, 06:16 »
SELECCIONA EL TEXTBOX Y VE A LA PROPIEDAD MAXLENGTH  Y PONLE  10

CON ESO TE BASTA PARA HACER LO QUE PLANTEAS.

SALUDOS.

36
Visual Basic 6.0 e inferiores / Re: Obtener Rango De Horas
« en: Martes 22 de Noviembre de 2005, 00:10 »
Disculpa pero no estoy pidiendo que me hagan la tarea, estoy pidiendo ayuda sobre una parte de un sistema que estamos desarrollando de administración de docentes, pero gracias de cualquier modo. Ya pensé en un algoritmo que me puede ser de ayuda.

37
Visual Basic 6.0 e inferiores / Obtener Rango De Horas
« en: Lunes 21 de Noviembre de 2005, 07:07 »
Hola a todos, quisiera que me ayudaran a solucionar un problema que tengo.

El problema es que tengo un rango de horas en dos msflexgrid
Citar

Asignatura                                  Lunes   Martes...

FENÓMENOS DE TRANSPORTE      12-14
DISEÑO DE PROCESOS               10-12



ACTIVIDADES                            Lunes   Martes...

ACTIVIDAD 1                             09-10
ACTIVIDAD 2                             17-20


De esos dos flexgrid tengo que obtener el rango de horas, es decir en un label debe aparecer    LUNES: 09-14 y 17-20

Espero me puedan ayudar a solucionar este problema.

De antemano gracias.

38
Java / Re: Dividir Clase En Clases
« en: Jueves 17 de Noviembre de 2005, 23:41 »
Hola gracias por su ayuda, ya comprobé que si funciona así como me lo plantearon, bueno funciona hasta cierto punto. El problema que nos surgió es que como la conexión con la base de datos la creamos dentro de conectar_a_bd y la asignamos a la variable "con", como podemos hacer para que las otras clases obtengan el valor de "con", bueno en este caso las otras funciones que están en la clase gestion_de_bd. Modificamos el código y nos surgieron varios errores.


Como ya se habran dado cuenta jeje, somos primerizos en java :S.


Les pido un favor, si no seria mucha molestia. Que me ayudaran a corregir lo de este archivo, directorio_pacientes. Lo que pasa es que tenemos que hacer un sistema para dentistas y pues si no sabemos como hacer esto pues estamos fritos jeje. O si es mucha molestia lo de corregir el archivo pues siquiera me den un ejemplo en código fuente donde aparezca esto que necesitamos.


Código modificado y con varios errores :s



Código: Text
  1.  
  2.  
  3. import javax.swing.*;
  4. import java.awt.event.*;
  5. import java.awt.*;
  6. import javax.swing.table.*;
  7.  
  8. //DataBase Packages
  9.  
  10. import java.net.*;
  11. import java.io.*;
  12. import java.sql.*;
  13.  
  14. //Main Class
  15.  
  16. class directorio_pacientes extends JFrame implements ActionListener
  17. {
  18.   private Statement st;
  19.   private Connection con;
  20.  
  21.   //List of Labels
  22.  
  23.   private JLabel lblclave_anterior;
  24.   private JLabel lblclave_paciente;
  25.   private JLabel lblsexo;
  26.   private JLabel lbledad;
  27.   private JLabel lblnombre;
  28.   private JLabel lbldireccion;
  29.   private JLabel lbltelefono;
  30.  
  31.   //List of TextFields
  32.  
  33.   private JTextField txtclave_anterior;
  34.   private JTextField txtclave_paciente;
  35.   private JTextField txtsexo;
  36.   private JTextField txtedad;
  37.   private JTextField txtnombre;
  38.   private JTextField txtdireccion;
  39.   private JTextField txttelefono;
  40.  
  41.   //List of Buttons
  42.  
  43.   private JButton btnSaveAdd;
  44.   private JButton btnSaveEdit;
  45.   private JButton btnSaveDelete;
  46.   private JButton btnAdd;
  47.   private JButton btnEdit;
  48.   private JButton btnDelete;
  49.   private JButton btnExit;
  50.   private JButton btnRefresh;
  51.   private JButton btnCancel;
  52.  
  53.   //List of Panel
  54.  
  55.   private JPanel btnpanel;
  56.   private JPanel panel;
  57.   private JTable table;
  58.  
  59.   //Table
  60.  
  61.   private DefaultTableModel tmodel;
  62.  
  63.   //Container
  64.  
  65.   private Container cpane;
  66.  
  67.   directorio_pacientes(int choice)
  68.   {
  69.     switch(choice)
  70.     {
  71.       case 1:
  72.         //Initial Window
  73.  
  74.         setTitle("DIRECTORIO DE PACIENTES");
  75.         setBounds(1, 200, 800, 230);
  76.         setResizable(false);
  77.  
  78.         //cotainer
  79.  
  80.         cpane = getContentPane();
  81.  
  82.         //components
  83.  
  84.         tmodel = new DefaultTableModel();
  85.         table = new JTable(tmodel);
  86.         SetColHeader();
  87.  
  88.         btnpanel = new JPanel(new GridLayout(1, 5, 5, 0));
  89.         btnAdd = new JButton ("Agregar");
  90.         btnEdit = new JButton ("Modificar");
  91.         btnDelete = new JButton ("Eliminar");
  92.         btnRefresh = new JButton ("Actualizar");
  93.         btnExit = new JButton ("Salir");
  94.  
  95.         btnAdd.addActionListener(this);
  96.         btnEdit.addActionListener(this);
  97.         btnDelete.addActionListener(this);
  98.         btnRefresh.addActionListener(this);
  99.         btnExit.addActionListener(this);
  100.  
  101.         btnpanel.add(btnAdd);
  102.         btnpanel.add(btnEdit);
  103.         btnpanel.add(btnDelete);
  104.         btnpanel.add(btnRefresh);
  105.         btnpanel.add(btnExit);
  106.  
  107.         cpane.add(new JScrollPane(table));
  108.         cpane.add(btnpanel, BorderLayout.SOUTH);
  109.         break;
  110.       case 2:
  111.         //Appending Window
  112.  
  113.         setTitle("Agregado de datos...");
  114.         setBounds(200, 200, 500, 200);
  115.         setResizable(false);
  116.  
  117.         //cotainer
  118.  
  119.         cpane = getContentPane();
  120.         cpane.setLayout(new FlowLayout());
  121.  
  122.         //Components
  123.  
  124.         panel = new JPanel(new GridLayout(8, 1, 5, 0));
  125.  
  126.         lblclave_paciente = new JLabel(" Clave del paciente ");
  127.         lblnombre = new JLabel(" Nombre del paciente ");
  128.         lbldireccion = new JLabel(" Dirección ");
  129.         lbltelefono = new JLabel(" Teléfono ");
  130.         lbledad = new JLabel(" Edad ");
  131.         lblsexo = new JLabel(" Sexo ");
  132.  
  133.         txtclave_paciente = new JTextField(15);
  134.         txtnombre = new JTextField(15);
  135.         txtdireccion = new JTextField(15);
  136.         txttelefono = new JTextField(15);
  137.         txtedad = new JTextField(3);
  138.         txtsexo = new JTextField(1);
  139.  
  140.         panel.add(lblclave_paciente);
  141.         panel.add(txtclave_paciente);
  142.         panel.add(lblnombre);
  143.         panel.add(txtnombre);
  144.         panel.add(txtnombre);
  145.         panel.add(lbldireccion);
  146.         panel.add(txtdireccion);
  147.         panel.add(lbltelefono);
  148.         panel.add(txttelefono);
  149.         panel.add(lbledad);
  150.         panel.add(txtedad);
  151.         panel.add(lblsexo);
  152.         panel.add(txtsexo);
  153.  
  154.         btnpanel = new JPanel(new GridLayout(2, 1, 10, 5));
  155.         btnSaveAdd = new JButton ("Guardar");
  156.         btnCancel = new JButton ("Cancelar");
  157.  
  158.         btnSaveAdd.addActionListener(this);
  159.         btnCancel.addActionListener(this);
  160.  
  161.         btnpanel.add(btnSaveAdd);
  162.         btnpanel.add(btnCancel);
  163.  
  164.         cpane.add(panel);
  165.         cpane.add(btnpanel, BorderLayout.EAST);
  166.         break;
  167.       case 3:
  168.         //Editing window
  169.  
  170.         setTitle("Modificación de datos...");
  171.         setBounds(200, 200, 500, 250);
  172.         setResizable(false);
  173.  
  174.         //cotainer
  175.  
  176.         cpane = getContentPane();
  177.         cpane.setLayout(new FlowLayout());
  178.  
  179.         //Components
  180.  
  181.         panel = new JPanel(new GridLayout(10, 1, 5, 0));
  182.         lblclave_anterior = new JLabel(" Clave anterior del paciente ");
  183.         txtclave_anterior = new JTextField(15);
  184.  
  185.         lblclave_paciente = new JLabel(" Nueva clave del paciente ");
  186.         lblnombre = new JLabel(" Nombre del paciente ");
  187.         lbldireccion = new JLabel(" Dirección ");
  188.         lbltelefono = new JLabel(" Teléfono ");
  189.         lbledad = new JLabel(" Edad ");
  190.         lblsexo = new JLabel(" Sexo ");
  191.  
  192.         txtclave_paciente = new JTextField(15);
  193.         txtnombre = new JTextField(15);
  194.         txtdireccion = new JTextField(15);
  195.         txttelefono = new JTextField(15);
  196.         txtedad = new JTextField(3);
  197.         txtsexo = new JTextField(1);
  198.  
  199.         panel.add(lblclave_anterior);
  200.         panel.add(txtclave_anterior);
  201.         panel.add(lblclave_paciente);
  202.         panel.add(txtclave_paciente);
  203.         panel.add(lblnombre);
  204.         panel.add(txtnombre);
  205.         panel.add(lbldireccion);
  206.         panel.add(txtdireccion);
  207.         panel.add(lbltelefono);
  208.         panel.add(txttelefono);
  209.         panel.add(lbledad);
  210.         panel.add(txtedad);
  211.         panel.add(lblsexo);
  212.         panel.add(txtsexo);
  213.  
  214.         btnpanel = new JPanel(new GridLayout(2, 1, 10, 5));
  215.         btnSaveEdit = new JButton ("Guardar");
  216.         btnCancel = new JButton ("Cancelar");
  217.  
  218.         btnSaveEdit.addActionListener(this);
  219.         btnCancel.addActionListener(this);
  220.  
  221.         btnpanel.add(btnSaveEdit);
  222.         btnpanel.add(btnCancel);
  223.  
  224.         cpane.add(panel);
  225.         cpane.add(btnpanel, BorderLayout.EAST);
  226.         break;
  227.       case 4:
  228.         //Deleting window
  229.  
  230.         setTitle("Eliminando datos...");
  231.         setBounds(200, 200, 300, 125);
  232.         setResizable(false);
  233.  
  234.         //cotainer
  235.  
  236.         cpane = getContentPane();
  237.         cpane.setLayout(new FlowLayout());
  238.  
  239.         //Components
  240.  
  241.         panel = new JPanel(new GridLayout(2, 1, 5, 0));
  242.         lblclave_paciente = new JLabel("Clave del paciente a eliminar ");
  243.         txtclave_paciente = new JTextField(15);
  244.  
  245.         panel.add(lblclave_paciente);
  246.         panel.add(txtclave_paciente);
  247.  
  248.         btnpanel = new JPanel(new GridLayout(2, 1, 10, 5));
  249.         btnSaveDelete = new JButton ("Eliminar");
  250.         btnCancel = new JButton ("Cancelar");
  251.  
  252.         btnSaveDelete.addActionListener(this);
  253.         btnCancel.addActionListener(this);
  254.  
  255.         btnpanel.add(btnSaveDelete);
  256.         btnpanel.add(btnCancel);
  257.  
  258.         cpane.add(panel);
  259.         cpane.add(btnpanel, BorderLayout.EAST);
  260.         break;
  261.     }
  262.     //Window Properties
  263.  
  264.     setDefaultCloseOperation(HIDE_ON_CLOSE);
  265.     setVisible(true);
  266.  
  267.     //conection to DataBase
  268.  
  269.     gestion_de_bd.conectar_a_bd();
  270.   }
  271.  
  272.   public void actionPerformed (ActionEvent ae)
  273.   {
  274.     if (ae.getSource() == btnAdd)
  275.     {
  276.       new directorio_pacientes(2);
  277.     }
  278.     else if (ae.getSource() == btnEdit)
  279.     {
  280.       new directorio_pacientes(3);
  281.     }
  282.     else if (ae.getSource() == btnDelete)
  283.     {
  284.       new directorio_pacientes(4);
  285.     }
  286.     else if (ae.getSource() == btnExit)
  287.     {
  288.       System.exit(0);
  289.     }
  290.     else if (ae.getSource() == btnCancel)
  291.     {
  292.       setVisible(false);
  293.     }
  294.     else if(ae.getSource() == btnSaveAdd)
  295.     {
  296.       gestion_de_bd.agregar_datos(txtclave_paciente.getText(), txtnombre.getText(), txtdireccion.getText(),txtsexo.getText(), txttelefono.getText(),txtedad.getText());
  297.       txtclave_paciente.setText("");
  298.       txtnombre.setText("");
  299.       txtdireccion.setText("");
  300.       txttelefono.setText("");
  301.       txtedad.setText("");
  302.       txtsexo.setText("");
  303.     }
  304.     else if(ae.getSource() == btnSaveEdit)
  305.     {
  306.       gestion_de_bd.modificar_datos(txtclave_paciente.getText(), txtnombre.getText(), txtdireccion.getText(),txttelefono.getText(), txtclave_anterior.getText(),txtedad.getText(), txtsexo.getText());
  307.       txtclave_anterior.setText("");
  308.       txtclave_paciente.setText("");
  309.       txtnombre.setText("");
  310.       txtdireccion.setText("");
  311.       txttelefono.setText("");
  312.     }
  313.     else if(ae.getSource() == btnSaveDelete)
  314.     {
  315.       gestion_de_bd.eliminar_datos(txtclave_paciente.getText());
  316.       txtclave_paciente.setText("");
  317.     }
  318.     else if(ae.getSource() == btnRefresh)
  319.     {
  320.       gestion_de_bd.extraer_datos();
  321.     }
  322.   }
  323.  
  324.   public static void main(String arg[])
  325.   {
  326.     directorio_pacientes c = new directorio_pacientes(1);
  327.     gestion_de_bd.extraer_datos();
  328.     //c.extraer_datos();
  329.   }
  330.  
  331.   private void SetColHeader()
  332.   {
  333.     tmodel.addColumn("Clave del paciente");
  334.     tmodel.addColumn("Nombre");
  335.     tmodel.addColumn("Dirección");
  336.     tmodel.addColumn("Sexo");
  337.     tmodel.addColumn("Teléfono");
  338.     tmodel.addColumn("Edad");
  339.  
  340.   }
  341.  
  342. /*  private void conectar_a_bd ()
  343.   {
  344.     try
  345.     {
  346.       String dsn = "Medi";
  347.  
  348.       //load driver
  349.       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  350.  
  351.       //make connection
  352.       con = DriverManager.getConnection("jdbc:odbc:" + dsn);
  353.  
  354.       //create statement
  355.       st = con.createStatement();
  356.     }
  357.     catch (Exception e) {System.out.println(e);}
  358.   }
  359.  
  360. */
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369. }
  370.  
  371.  
  372. class gestion_de_bd
  373. {
  374.     private Statement st;
  375.   private Connection con;
  376.  
  377.   public static void conectar_a_bd ()
  378.   {
  379.  
  380.     try
  381.     {
  382.       String dsn = "Medi";
  383.  
  384.       //load driver
  385.       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  386.  
  387.       //make connection
  388.       con = DriverManager.getConnection("jdbc:odbc:" + dsn);
  389.  
  390.       //create statement
  391.       st = con.createStatement();
  392.     }
  393.     catch (Exception e) {System.out.println(e);}    
  394.    
  395.   }
  396.  
  397.  
  398.  
  399.   public static void agregar_datos (String clave, String nombre, String direccion, String telefono, String edad, String sexo)
  400.   {
  401.     try
  402.     {
  403.       //prepare statement
  404.       String qry = "Insert into directorio_paciente values (?, ?, ?, ?, ?, ?)";
  405.       System.out.println(clave + "\t"+nombre+ "\t"+direccion+ "\t"+telefono+ "\t"+edad+ "\t"+sexo);
  406.       //System.out.println("Read only "+con.isReadOnly());
  407.       //System.out.println("Closed "+con.isClosed());
  408.  
  409.       PreparedStatement ps = con.prepareStatement(qry);
  410.  
  411.       ps.setString(1, clave);
  412.       ps.setString(2, nombre);
  413.       ps.setString(3, direccion);
  414.       ps.setString(4,telefono);
  415.       ps.setString(5,edad);
  416.       ps.setString(6,sexo);
  417.  
  418.       ps.executeUpdate();
  419.     }
  420.     catch(Exception e) {System.out.println(e + "\t" + e.getMessage());  }
  421.   }
  422.  
  423.  
  424.  
  425.   public static void modificar_datos (String clave, String nombre, String direccion, String telefono, String clave_anterior, String edad, String sexo)
  426.   {
  427.     try
  428.     {
  429.       //prepare statement
  430.       String qry = "Update directorio_paciente set clave = ?, nombre = ?, direccion = ?, sexo = ?, telefono = ?, edad = ? where clave = ?";
  431.       PreparedStatement ps = con.prepareStatement(qry);
  432.  
  433.       ps.setString(1, clave);
  434.       ps.setString(2, nombre);
  435.       ps.setString(3, direccion);
  436.       ps.setString(4, sexo);
  437.       ps.setString(5, telefono);
  438.       ps.setString(6, edad);
  439.      
  440.  
  441.       ps.setString(7, clave_anterior);
  442.  
  443.       ps.executeUpdate();
  444.     }
  445.     catch(Exception e) {System.out.println(e);  }
  446.   }
  447.  
  448.  
  449.   public static void eliminar_datos (String cond)
  450.   {
  451.     try
  452.     {
  453.       //prepare statement
  454.       String qry = "Delete from directorio_paciente where clave = ?";
  455.       PreparedStatement ps = con.prepareStatement(qry);
  456.  
  457.       ps.setString(1, cond);
  458.  
  459.       ps.executeUpdate();
  460.     }
  461.     catch(Exception e) {System.out.println(e);  }
  462.   }
  463.  
  464.  
  465.  
  466.   public static void extraer_datos ()
  467.   {
  468.     try
  469.     {
  470.       int row = tmodel.getRowCount();
  471.       while(row > 0)
  472.       {
  473.         row--;
  474.         tmodel.removeRow(row);
  475.       }
  476.  
  477.       //execute query
  478.       ResultSet rs = st.executeQuery("Select * from directorio_paciente");
  479.  
  480.       //get metadata
  481.       ResultSetMetaData md = rs.getMetaData();
  482.       int colcount = md.getColumnCount();
  483.  
  484.       Object[] data = new Object[colcount];
  485.       //extracting data
  486.  
  487.       while (rs.next())
  488.       {
  489.         for (int i=1; i<=colcount; i++)
  490.         {
  491.           data[i-1] = rs.getString(i);
  492.         }
  493.         tmodel.addRow(data);
  494.       }
  495.     }
  496.     catch(Exception e) {System.out.println(e);  }
  497.   }
  498.  
  499.  
  500. }
  501.  
  502.  
  503.  


Espero me puedan ayudar, porque ya estuvimos varias horas tratando de hacerlo y no pudimos :S

Les adjunto la Base de datos cuyo nombre en "odbc" es medi y también les adjunto el código que hicimos

39
Java / Dividir Clase En Clases
« en: Miércoles 16 de Noviembre de 2005, 09:07 »
Hola amigos, tengo un problema, en la materia ing. de software nos pidieron un sistema para control dental. Nos lo pidieron por versiones y en la primera versión entregamos el directorio de pacientes y el directorio de dentistas.

El caso es que la profesora nos dijo que habiamos hecho la clase muy grande. Que sacaramos varias funciones de la clase y los metieramos como otra clase, el problema es que no sabemos como hacerlo. Les pongo el código de la clase directorio pacientes.


Código: Text
  1.  
  2.  
  3. import javax.swing.*;
  4. import java.awt.event.*;
  5. import java.awt.*;
  6. import javax.swing.table.*;
  7.  
  8. //DataBase Packages
  9.  
  10. import java.net.*;
  11. import java.io.*;
  12. import java.sql.*;
  13.  
  14. //Main Class
  15.  
  16. class directorio_pacientes extends JFrame implements ActionListener
  17. {
  18.   private Statement st;
  19.   private Connection con;
  20.  
  21.   //List of Labels
  22.  
  23.   private JLabel lblclave_anterior;
  24.   private JLabel lblclave_paciente;
  25.   private JLabel lblsexo;
  26.   private JLabel lbledad;
  27.   private JLabel lblnombre;
  28.   private JLabel lbldireccion;
  29.   private JLabel lbltelefono;
  30.  
  31.   //List of TextFields
  32.  
  33.   private JTextField txtclave_anterior;
  34.   private JTextField txtclave_paciente;
  35.   private JTextField txtsexo;
  36.   private JTextField txtedad;
  37.   private JTextField txtnombre;
  38.   private JTextField txtdireccion;
  39.   private JTextField txttelefono;
  40.  
  41.   //List of Buttons
  42.  
  43.   private JButton btnSaveAdd;
  44.   private JButton btnSaveEdit;
  45.   private JButton btnSaveDelete;
  46.   private JButton btnAdd;
  47.   private JButton btnEdit;
  48.   private JButton btnDelete;
  49.   private JButton btnExit;
  50.   private JButton btnRefresh;
  51.   private JButton btnCancel;
  52.  
  53.   //List of Panel
  54.  
  55.   private JPanel btnpanel;
  56.   private JPanel panel;
  57.   private JTable table;
  58.  
  59.   //Table
  60.  
  61.   private DefaultTableModel tmodel;
  62.  
  63.   //Container
  64.  
  65.   private Container cpane;
  66.  
  67.   directorio_pacientes(int choice)
  68.   {
  69.     switch(choice)
  70.     {
  71.       case 1:
  72.         //Initial Window
  73.  
  74.         setTitle("DIRECTORIO DE PACIENTES");
  75.         setBounds(1, 200, 800, 230);
  76.         setResizable(false);
  77.  
  78.         //cotainer
  79.  
  80.         cpane = getContentPane();
  81.  
  82.         //components
  83.  
  84.         tmodel = new DefaultTableModel();
  85.         table = new JTable(tmodel);
  86.         SetColHeader();
  87.  
  88.         btnpanel = new JPanel(new GridLayout(1, 5, 5, 0));
  89.         btnAdd = new JButton ("Agregar");
  90.         btnEdit = new JButton ("Modificar");
  91.         btnDelete = new JButton ("Eliminar");
  92.         btnRefresh = new JButton ("Actualizar");
  93.         btnExit = new JButton ("Salir");
  94.  
  95.         btnAdd.addActionListener(this);
  96.         btnEdit.addActionListener(this);
  97.         btnDelete.addActionListener(this);
  98.         btnRefresh.addActionListener(this);
  99.         btnExit.addActionListener(this);
  100.  
  101.         btnpanel.add(btnAdd);
  102.         btnpanel.add(btnEdit);
  103.         btnpanel.add(btnDelete);
  104.         btnpanel.add(btnRefresh);
  105.         btnpanel.add(btnExit);
  106.  
  107.         cpane.add(new JScrollPane(table));
  108.         cpane.add(btnpanel, BorderLayout.SOUTH);
  109.         break;
  110.       case 2:
  111.         //Appending Window
  112.  
  113.         setTitle("Agregado de datos...");
  114.         setBounds(200, 200, 500, 200);
  115.         setResizable(false);
  116.  
  117.         //cotainer
  118.  
  119.         cpane = getContentPane();
  120.         cpane.setLayout(new FlowLayout());
  121.  
  122.         //Components
  123.  
  124.         panel = new JPanel(new GridLayout(8, 1, 5, 0));
  125.  
  126.         lblclave_paciente = new JLabel(" Clave del paciente ");
  127.         lblnombre = new JLabel(" Nombre del paciente ");
  128.         lbldireccion = new JLabel(" Dirección ");
  129.         lbltelefono = new JLabel(" Teléfono ");
  130.         lbledad = new JLabel(" Edad ");
  131.         lblsexo = new JLabel(" Sexo ");
  132.  
  133.         txtclave_paciente = new JTextField(15);
  134.         txtnombre = new JTextField(15);
  135.         txtdireccion = new JTextField(15);
  136.         txttelefono = new JTextField(15);
  137.         txtedad = new JTextField(3);
  138.         txtsexo = new JTextField(1);
  139.  
  140.         panel.add(lblclave_paciente);
  141.         panel.add(txtclave_paciente);
  142.         panel.add(lblnombre);
  143.         panel.add(txtnombre);
  144.         panel.add(txtnombre);
  145.         panel.add(lbldireccion);
  146.         panel.add(txtdireccion);
  147.         panel.add(lbltelefono);
  148.         panel.add(txttelefono);
  149.         panel.add(lbledad);
  150.         panel.add(txtedad);
  151.         panel.add(lblsexo);
  152.         panel.add(txtsexo);
  153.  
  154.         btnpanel = new JPanel(new GridLayout(2, 1, 10, 5));
  155.         btnSaveAdd = new JButton ("Guardar");
  156.         btnCancel = new JButton ("Cancelar");
  157.  
  158.         btnSaveAdd.addActionListener(this);
  159.         btnCancel.addActionListener(this);
  160.  
  161.         btnpanel.add(btnSaveAdd);
  162.         btnpanel.add(btnCancel);
  163.  
  164.         cpane.add(panel);
  165.         cpane.add(btnpanel, BorderLayout.EAST);
  166.         break;
  167.       case 3:
  168.         //Editing window
  169.  
  170.         setTitle("Modificación de datos...");
  171.         setBounds(200, 200, 500, 250);
  172.         setResizable(false);
  173.  
  174.         //cotainer
  175.  
  176.         cpane = getContentPane();
  177.         cpane.setLayout(new FlowLayout());
  178.  
  179.         //Components
  180.  
  181.         panel = new JPanel(new GridLayout(10, 1, 5, 0));
  182.         lblclave_anterior = new JLabel(" Clave anterior del paciente ");
  183.         txtclave_anterior = new JTextField(15);
  184.  
  185.         lblclave_paciente = new JLabel(" Nueva clave del paciente ");
  186.         lblnombre = new JLabel(" Nombre del paciente ");
  187.         lbldireccion = new JLabel(" Dirección ");
  188.         lbltelefono = new JLabel(" Teléfono ");
  189.         lbledad = new JLabel(" Edad ");
  190.         lblsexo = new JLabel(" Sexo ");
  191.  
  192.         txtclave_paciente = new JTextField(15);
  193.         txtnombre = new JTextField(15);
  194.         txtdireccion = new JTextField(15);
  195.         txttelefono = new JTextField(15);
  196.         txtedad = new JTextField(3);
  197.         txtsexo = new JTextField(1);
  198.  
  199.         panel.add(lblclave_anterior);
  200.         panel.add(txtclave_anterior);
  201.         panel.add(lblclave_paciente);
  202.         panel.add(txtclave_paciente);
  203.         panel.add(lblnombre);
  204.         panel.add(txtnombre);
  205.         panel.add(lbldireccion);
  206.         panel.add(txtdireccion);
  207.         panel.add(lbltelefono);
  208.         panel.add(txttelefono);
  209.         panel.add(lbledad);
  210.         panel.add(txtedad);
  211.         panel.add(lblsexo);
  212.         panel.add(txtsexo);
  213.  
  214.         btnpanel = new JPanel(new GridLayout(2, 1, 10, 5));
  215.         btnSaveEdit = new JButton ("Guardar");
  216.         btnCancel = new JButton ("Cancelar");
  217.  
  218.         btnSaveEdit.addActionListener(this);
  219.         btnCancel.addActionListener(this);
  220.  
  221.         btnpanel.add(btnSaveEdit);
  222.         btnpanel.add(btnCancel);
  223.  
  224.         cpane.add(panel);
  225.         cpane.add(btnpanel, BorderLayout.EAST);
  226.         break;
  227.       case 4:
  228.         //Deleting window
  229.  
  230.         setTitle("Eliminando datos...");
  231.         setBounds(200, 200, 300, 125);
  232.         setResizable(false);
  233.  
  234.         //cotainer
  235.  
  236.         cpane = getContentPane();
  237.         cpane.setLayout(new FlowLayout());
  238.  
  239.         //Components
  240.  
  241.         panel = new JPanel(new GridLayout(2, 1, 5, 0));
  242.         lblclave_paciente = new JLabel("Clave del paciente a eliminar ");
  243.         txtclave_paciente = new JTextField(15);
  244.  
  245.         panel.add(lblclave_paciente);
  246.         panel.add(txtclave_paciente);
  247.  
  248.         btnpanel = new JPanel(new GridLayout(2, 1, 10, 5));
  249.         btnSaveDelete = new JButton ("Eliminar");
  250.         btnCancel = new JButton ("Cancelar");
  251.  
  252.         btnSaveDelete.addActionListener(this);
  253.         btnCancel.addActionListener(this);
  254.  
  255.         btnpanel.add(btnSaveDelete);
  256.         btnpanel.add(btnCancel);
  257.  
  258.         cpane.add(panel);
  259.         cpane.add(btnpanel, BorderLayout.EAST);
  260.         break;
  261.     }
  262.     //Window Properties
  263.  
  264.     setDefaultCloseOperation(HIDE_ON_CLOSE);
  265.     setVisible(true);
  266.  
  267.     //conection to DataBase
  268.  
  269.     conectar_a_bd();
  270.   }
  271.  
  272.   public void actionPerformed (ActionEvent ae)
  273.   {
  274.     if (ae.getSource() == btnAdd)
  275.     {
  276.       new directorio_pacientes(2);
  277.     }
  278.     else if (ae.getSource() == btnEdit)
  279.     {
  280.       new directorio_pacientes(3);
  281.     }
  282.     else if (ae.getSource() == btnDelete)
  283.     {
  284.       new directorio_pacientes(4);
  285.     }
  286.     else if (ae.getSource() == btnExit)
  287.     {
  288.       System.exit(0);
  289.     }
  290.     else if (ae.getSource() == btnCancel)
  291.     {
  292.       setVisible(false);
  293.     }
  294.     else if(ae.getSource() == btnSaveAdd)
  295.     {
  296.       agregar_datos(txtclave_paciente.getText(), txtnombre.getText(), txtdireccion.getText(),txtsexo.getText(), txttelefono.getText(),txtedad.getText());
  297.       txtclave_paciente.setText("");
  298.       txtnombre.setText("");
  299.       txtdireccion.setText("");
  300.       txttelefono.setText("");
  301.       txtedad.setText("");
  302.       txtsexo.setText("");
  303.     }
  304.     else if(ae.getSource() == btnSaveEdit)
  305.     {
  306.       modificar_datos(txtclave_paciente.getText(), txtnombre.getText(), txtdireccion.getText(),txttelefono.getText(), txtclave_anterior.getText(),txtedad.getText(), txtsexo.getText());
  307.       txtclave_anterior.setText("");
  308.       txtclave_paciente.setText("");
  309.       txtnombre.setText("");
  310.       txtdireccion.setText("");
  311.       txttelefono.setText("");
  312.     }
  313.     else if(ae.getSource() == btnSaveDelete)
  314.     {
  315.       eliminar_datos(txtclave_paciente.getText());
  316.       txtclave_paciente.setText("");
  317.     }
  318.     else if(ae.getSource() == btnRefresh)
  319.     {
  320.       extraer_datos();
  321.     }
  322.   }
  323.  
  324.   public static void main(String arg[])
  325.   {
  326.     directorio_pacientes c = new directorio_pacientes(1);
  327.     c.extraer_datos();
  328.   }
  329.  
  330.   private void SetColHeader()
  331.   {
  332.     tmodel.addColumn("Clave del paciente");
  333.     tmodel.addColumn("Nombre");
  334.     tmodel.addColumn("Dirección");
  335.     tmodel.addColumn("Sexo");
  336.     tmodel.addColumn("Teléfono");
  337.     tmodel.addColumn("Edad");
  338.  
  339.   }
  340.  
  341.   private void conectar_a_bd ()
  342.   {
  343.     try
  344.     {
  345.       String dsn = "Medi";
  346.  
  347.       //load driver
  348.       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  349.  
  350.       //make connection
  351.       con = DriverManager.getConnection("jdbc:odbc:" + dsn);
  352.  
  353.       //create statement
  354.       st = con.createStatement();
  355.     }
  356.     catch (Exception e) {System.out.println(e);}
  357.   }
  358.  
  359.   private void agregar_datos (String clave, String nombre, String direccion, String telefono, String edad, String sexo)
  360.   {
  361.     try
  362.     {
  363.       //prepare statement
  364.       String qry = "Insert into directorio_paciente values (?, ?, ?, ?, ?, ?)";
  365.       System.out.println(clave + "\t"+nombre+ "\t"+direccion+ "\t"+telefono+ "\t"+edad+ "\t"+sexo);
  366.       //System.out.println("Read only "+con.isReadOnly());
  367.       //System.out.println("Closed "+con.isClosed());
  368.  
  369.       PreparedStatement ps = con.prepareStatement(qry);
  370.  
  371.       ps.setString(1, clave);
  372.       ps.setString(2, nombre);
  373.       ps.setString(3, direccion);
  374.       ps.setString(4,telefono);
  375.       ps.setString(5,edad);
  376.       ps.setString(6,sexo);
  377.  
  378.       ps.executeUpdate();
  379.     }
  380.     catch(Exception e) {System.out.println(e + "\t" + e.getMessage());  }
  381.   }
  382.  
  383.   private void modificar_datos (String clave, String nombre, String direccion, String telefono, String clave_anterior, String edad, String sexo)
  384.   {
  385.     try
  386.     {
  387.       //prepare statement
  388.       String qry = "Update directorio_paciente set clave = ?, nombre = ?, direccion = ?, sexo = ?, telefono = ?, edad = ? where clave = ?";
  389.       PreparedStatement ps = con.prepareStatement(qry);
  390.  
  391.       ps.setString(1, clave);
  392.       ps.setString(2, nombre);
  393.       ps.setString(3, direccion);
  394.       ps.setString(4, sexo);
  395.       ps.setString(5, telefono);
  396.       ps.setString(6, edad);
  397.      
  398.  
  399.       ps.setString(7, clave_anterior);
  400.  
  401.       ps.executeUpdate();
  402.     }
  403.     catch(Exception e) {System.out.println(e);  }
  404.   }
  405.  
  406.   private void eliminar_datos (String cond)
  407.   {
  408.     try
  409.     {
  410.       //prepare statement
  411.       String qry = "Delete from directorio_paciente where clave = ?";
  412.       PreparedStatement ps = con.prepareStatement(qry);
  413.  
  414.       ps.setString(1, cond);
  415.  
  416.       ps.executeUpdate();
  417.     }
  418.     catch(Exception e) {System.out.println(e);  }
  419.   }
  420.  
  421.   private void extraer_datos ()
  422.   {
  423.     try
  424.     {
  425.       int row = tmodel.getRowCount();
  426.       while(row > 0)
  427.       {
  428.         row--;
  429.         tmodel.removeRow(row);
  430.       }
  431.  
  432.       //execute query
  433.       ResultSet rs = st.executeQuery("Select * from directorio_paciente");
  434.  
  435.       //get metadata
  436.       ResultSetMetaData md = rs.getMetaData();
  437.       int colcount = md.getColumnCount();
  438.  
  439.       Object[] data = new Object[colcount];
  440.       //extracting data
  441.  
  442.       while (rs.next())
  443.       {
  444.         for (int i=1; i<=colcount; i++)
  445.         {
  446.           data[i-1] = rs.getString(i);
  447.         }
  448.         tmodel.addRow(data);
  449.       }
  450.     }
  451.     catch(Exception e) {System.out.println(e);  }
  452.   }
  453. }
  454.  
  455.  
  456.  


Nos dijo que sacaramos de la clase la función conectar_a_bd, agregar_datos, eliminar_datos, modificar_datos. Y que los metieramos a otra clase llamada gestion_de_bd.

Y que también las instrucciones que se encuentran entre los cases(o sea las pantallas)  las llevemos a otra clase.

El problema es que no sabemos como vamos a llamar a las otras clases desde la clase directorio de pacientes.

Si pudieran ayudarnos se los agradeceriamos mucho.

40
Visual Basic 6.0 e inferiores / Re: Jalar Fecha Y Hora Del Servidor
« en: Viernes 11 de Noviembre de 2005, 08:05 »
Si puedes poner la instrucción sql solcito que yo también ando buscando eso, guardo los datos en una bd de access.

Saludos.

41
Visual Basic 6.0 e inferiores / Re: Problemas Con Winsock
« en: Viernes 11 de Noviembre de 2005, 07:57 »
Hola José, ya descubrí el error que tienes.

El error está en la función

Private Sub cmdTodosJuntos_Click()
Call cmdConnect_Click
Call cmdSend_Click
Call cmdClose_Click
End Sub

esa función por alguna razón falla al hacer las llamadas con "Call", así que para que no falle debes ponerlo de la siguiente manera:

Private Sub cmdTodosJuntos_Click()
  cmdConnect_Click
  cmdSend_Click
  cmdClose_Click
End Sub


Tu código en la primera ejecución no falla, pero después que lo ejecutas de nuevo, es donde viene el fallo. Así que si se bloquea y ya no quiere trabajar, entonces crea un nuevo formulario y ahí pásale todo el código con los controles. Entonces haz la modificación que te dije.

Espero te funcione. Saludos.

42
Visual Basic 6.0 e inferiores / Re: Sql En Visual Basic
« en: Miércoles 2 de Noviembre de 2005, 05:58 »
Muchisimas gracias cpmario, me funcionó de maravilla el código. Ahora podré continuar con la aplicación. Saludos.  :D

43
Visual Basic 6.0 e inferiores / Re: De Una Pc, Ahora A Pasarlo A Red
« en: Miércoles 2 de Noviembre de 2005, 01:50 »
Hola, te contesto con lo que se, el exe debe estar en todas las terminales, puedes trabajar realizando la conexión con ODBC y con esto trabajaras tu base de datos como si fuese local, y todos los equipos podrán acceder a ella.

Lo de colocar un link del .exe que está en el servidor estaría bien, siempre y cuando tengas todos los controladores que trae visual basic en cada PC.

44
Visual Basic 6.0 e inferiores / Sql En Visual Basic
« en: Miércoles 2 de Noviembre de 2005, 01:40 »
Hola a todos, tengo un pequeño problema, espero me ayuden a resolverlo.

Resulta que tengo un programa en el cual elimino mediante sql un registro, supongamos que tengo la orden:

elimina * from registro where clave=13

eso funciona de maravilla, pero el problema es cuando quiero poner dos condiciones en where, por ejemplo clave y carrera. eso no sé como hacerlo.

Les pongo el código para que lo puedan apreciar:

Código: Text
  1.  
  2.  
  3. Dim fun
  4. Dim cn As rdoConnection
  5. Dim en As rdoEnvironment
  6. Dim SQL As String
  7. Dim qy As New rdoQuery
  8.  
  9. Set en = rdoEnvironments(0)
  10. Set cn = en.OpenConnection(dsname:="conexion", _
  11.     Prompt:=rdDriverCompleteRequired)
  12.  
  13.  
  14. With qy
  15.    .Name = "BD"
  16.    .SQL = "Select * from docente Where no_tarjeta = ? "
  17.    .RowsetSize = 1
  18.    Set .ActiveConnection = cn
  19. End With
  20.  
  21.  
  22.  SQL = "Delete * From registro Where clave='" & Text1.Text & "' "
  23.        
  24.                  
  25.  cn.Execute SQL
  26.  
  27. cn.Close
  28. en.Close
  29.  
  30. MsgBox "El registro ha sido eliminado con éxito", vbOKOnly, "SAD"
  31.  
  32.  
  33.  

Como hago para añadir en where que elimine el registro solo si clave=text1.text y carrera=text2.text   ?

De antemano muchas gracias

45
Visual Basic 6.0 e inferiores / Base De Datos Remota Con Winsock
« en: Sábado 29 de Octubre de 2005, 23:07 »
Hola amigos, tengo un pequeño problemota.

Les cuento.

Hice un programa de administración de laboratorios del centro de cómputo de mi escuela.

El cual está compuesto por:

- Servidor: Registra automáticamente todos los accesos a cada computadora.
- Cliente para administrador: Manda órdenes al servidor de que apague, desbloquee/bloquee, mande mensajes a todas las pcs por laboratorio.
- Cliente: Bloquea cada computadora para que no pueda ser usada sin registrarse un alumno.

Bueno, el problema está en la aplicación cliente para administradores, porque esa aplicación es la que me muestra los reportes. Es decir esta aplicación se conecta con la aplicación servidor y le pide que le mande todos los registros en determinada fecha. Cuando el servidor recibe esa orden, hace la búsqueda y guarda los datos en un MSflexgrid y después los manda linea por linea a la aplicación cliente para administradores, pero resulta que para que me los mande correctamente debo poner un tiempo de retardo muy grande. Les pongo algo de código:

Código: Text
  1.  
  2.  
  3.   If Left(datos, 15) = "/dame_reporte1:" Then
  4.     tabla.Clear
  5.     z = Len(datos) - 15
  6.     aux = Right(datos, z)
  7.     c = 1
  8.  
  9.       While (Mid(aux, c, 1) <> ",")
  10.         palabra = palabra & Mid(aux, c, 1)
  11.         c = c + 1
  12.       Wend
  13.    
  14.       anio.Text = palabra
  15.    
  16.       palabra = ""
  17.       c = c + 1
  18.    
  19.       While (Mid(aux, c, 1) <> ",")
  20.         palabra = palabra & Mid(aux, c, 1)
  21.         c = c + 1
  22.       Wend
  23.      
  24.       If palabra = "ENERO - JULIO" Then
  25.         semestre.Text = "1"
  26.       End If
  27.       If palabra = "AGOSTO - DICIEMBRE" Then
  28.         semestre.Text = "2"
  29.       End If
  30.    
  31.       palabra = ""
  32.       c = c + 1
  33.    
  34.       While (Mid(aux, c, 1) <> ",")
  35.         palabra = palabra & Mid(aux, c, 1)
  36.         c = c + 1
  37.       Wend
  38.    
  39.       laboratorio.Text = palabra
  40.    
  41.       palabra = ""
  42.       c = c + 1
  43.    
  44.       While (Mid(aux, c, 1) <> ";")
  45.         palabra = palabra & Mid(aux, c, 1)
  46.         c = c + 1
  47.       Wend
  48.      
  49.       carreras.Refresh
  50.       enc = 0
  51.       While Not (carreras.Recordset.EOF) And enc = 0
  52.         If carreras.Recordset.nombre_materia = palabra Then
  53.           enc = 1
  54.           carrera.Text = carreras.Recordset.clave_materia
  55.         End If
  56.         carreras.Recordset.MoveNext
  57.       Wend
  58.    
  59. '  For c = 1 To 30
  60. '    tabla.TextMatrix(c, 2) = ""
  61. '    tabla.TextMatrix(c, 3) = ""
  62. '  Next
  63.  
  64.   Command2_Click  ' guarda los datos en el MSflexgrid llamado tabla
  65.  
  66.   If Winsock1(Index).State = 7 Then
  67.     c = 0
  68.     While c < tabla.Rows
  69.       Winsock1(Index).SendData "/envio_reporte1:" & c & "," & tabla.TextMatrix(c, 0) & "," & tabla.TextMatrix(c, 1) & "," & tabla.TextMatrix(c, 2) & "," & tabla.TextMatrix(c, 3) & ";"
  70.       Delay (2)
  71.       c = c + 1
  72.     Wend
  73.   End If
  74.  
  75.   End If
  76.  
  77.  
  78.  


Como se habrán dado cuenta utilizo el control winsock.

En este código tiene un tiempo (delay) de 2, funciona cuando corro el cliente para administradores en la misma máquina donde está el servidor, pero si lo hago desde otra tengo que poner un tiempo (delay) de 20, el cual tarda una eternidad en mandarme cerca 30 lineas, si no lo hago así, me llegan los datos desordenados.

Espero pudieran decirme como hacer para que en menos tiempo me mande los datos. De antemano gracias por responderme.

46
C/C++ / Re: Busqueda Por Medio De Arboles
« en: Jueves 20 de Octubre de 2005, 02:03 »
Hola, en la sección de código fuente coloqué un fuente que hice sobre árboles binarios, para la búsqueda, puedes utilizar el algoritmo con que recorro todo el árbol, el recorrido que hago es desde el último nodo de la izquierda, hasta la raiz y de ahí hasta el último nodo de la derecha. Utiliza esa parte del código. Hago notar que no lo hice recursivo, ya que no me daba eso de la recursividad jeje. Pero funciona igual que si fuera recursivo. Saludos

47
C/C++ / Re: Modo Gráfico En Windows Xp
« en: Viernes 14 de Octubre de 2005, 00:00 »
O sea que ya ni llorar es bueno? :s

Y no habria una forma de emular que estoy en windows 98 para poder ejecutar mis programas???

Que sabes al respecto sobre la emulación de un sistema operativo?

48
C/C++ / Re: Mover Cursor A Traves De Matrices
« en: Lunes 10 de Octubre de 2005, 21:16 »
Hola Black_Spidey yo hice un programa procesador de texto en c++ en modo gráfico. Y me sucedia lo mismo que a ti, al querer utilizar una tecla como ALT + F4 para cerrar mi programa me daba que el código ascii era igual a otra tecla y tenía problemas con eso ya que se escribia en pantalla la letra con dicho código ascii.

Me puse a investigar eso y descubrí que cuando presionas una tecla de control como puede ser CTRL o ALT o F1 a F12 o INSERT, INICIO, ETC... siempre antes del código ascii me mandaba un "1", lo que yo hacia era interceptar ese "1" que me mandaba y lo guardaba en una variable que tenia el valor de "0" y siempre comparaba si el código ascii es (por ejemplo) = 80 y variable=1 entonces avanzo una linea sino es igual a 1 pues escribia en pantalla la letra con código ascii "80", espero me hayas entendido, checalo. Me imagino que utilizas la función kbhit()

Saludos.

49
C/C++ / Modo Gráfico En Windows Xp
« en: Sábado 8 de Octubre de 2005, 17:57 »
Hola amigos, pues el problema que ahora tengo es el siguiente:

Antes cuando tenia en mi pc windows 98 hice programas en modo gráfico, los cuales publiqué en la sección código fuente, es el de "Combo en c" y "Árboles binarios a la N en c"

Pero resulta que ahora que tengo windows XP SP2, no puedo ejecutar ningún programa en graficos ni aún los que trae borlandc 3.1 de ejemplos. Si pudieran orientarme que debo hacer?

De antemano gracias por su ayuda

50
C/C++ / [Código Fuente] Combo (Lista desplegable) en modo gráfico
« en: Sábado 17 de Septiembre de 2005, 23:04 »
Hola pues este código me sirvió de mucho para impresionar a quien yo creia era el mejor profesor de programación en mi escuela. Se trata de un combo en C++, está en modo gráfico y funciona al darle click con el botón izquierdo del ratón. Lo pueden utilizar para darle una hermosa presentación a sus aplicaciones.

Espero sus comentarios

Autor: Martín Campos Quintero

http://www.sisadmic.tk

Páginas: 1 [2] 3 4 5