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 - Ogramar

Páginas: 1 ... 77 78 79 80 81 [82] 83 84 85 86 87 ... 100
1621
¿Puedes indicar alguna página web o alguna imagen donde se vea lo que quieres hacer, y también cuáles son los datos de partida para intentar hacerlo con esos datos?

Salu2

1622
Aprender a programar desde cero / Re:Duda en curso de PHP CU00821B
« en: 19 de Septiembre 2014, 20:29 »
Hola, simplemente tienes que concatener las comas al mismo tiempo que concatenas las cadenas, es decir, tú has escrito

$cad7 =  $cad1 . $cad3 . $cad6;

Y concatenando las comas sería:

$cad7 =  $cad1 .', '. $cad3 .', '. $cad6;

Con lo cual ya tienes las comas intercaladas

Salu2!

1623
Hola, yo te voy a dar una opinión. Hay tres gestores de contenidos basados en php y mysql que son los tres sistemas líderes: Joomla, WordPress y Drupal. Todos permiten gestionar un portal "generalista" aunque también tienen extensiones para aplicaciones especiales como comercio electrónico, foros, etc. Sin embargo cuando se trata de un portal dedicado en exclusiva a un aspecto concreto como el comercio electrónico, lo más normal es optar por un sistema especializado como Prestashop ó Magento. La profesionalidad de todos estos sistemas es similar, es decir, no se puede decir que WordPress sea más profesional que Drupal por ejemplo. Todos tienen sus ventajas y sus inconvenientes. Es como Toyota y Renault: son marcas que fabrican cosas parecidas y cada uno trata de anunciarse como lo mejor. En todos estos sistemas dispones de software que te permite ampliar el sistema base, pero tanto esto como el mantenimiento de un sitio requieren de conocimiento. Al ser software abierto, estos sistemas no tienen limitaciones: puedes crear (o encargar a un profesional) que te prepare lo que tú quieras (siempre que sea programable). Por ello pienso que no sería útil cambiar de sistema a no ser que te enseñen algo muy específico que haga uno y no haga el otro, y que además sea costoso de preparar o encargar.

Y ya que estamos después de haber visto tu portal te hago una pregunta, ¿cómo has conseguido los auspiciantes del sitio?

Salu2

1624
No has indicado el lenguaje con que tienes que hacerlo, pero como citas ArrayList supongo que es java.

Aquí tienes un programa parecido: https://www.aprenderaprogramar.com/foros/index.php?topic=756.0

saludos!

1625
Pues me alegro que al final hayas podido conseguirlo  :D

Sobre si es mejor tener los datos en una base de datos o en un archivo Excel no hay una respuesta sino que depende de cuáles sean tus objetivos. Por ejemplo, si el archivo excel lo vas a manejar tú sola y lo vas a tener en tu ordenador, puedes trabajar con el archivo excel. En cambio si quisieras que varios usuarios se conecten y hagan cambios en los datos al mismo tiempo posiblemente te será mejor que sea una base de datos quien gestione todo eso.

A la hora de programar la dificultad será similar, la cuestión a plantearte es qué necesidades tienes. Si es un programa para usarlo tú y no va a contener demasiados datos un archivo excel te puede resultar suficiente. Si es un programa para usar mucha gente y que va a contener muchos datos mejor una base de datos.

Saludos!

1626
No parece que ese sea el problema aunque tampoco estoy seguro, los datos los estás recuperando bien si dices que te los muestra por pantalla, daría igual que los recuperes de una base de datos o de un archivo excel...

Otra alternativa, tratar de usar y filtrar por binding source:

Código: [Seleccionar]
Imports System.Data
Imports System.Data.OleDb
'Imports System.Data.SqlClient

Public Class Form1
    Private Property stConexion As String
    Private dv As New DataView
   
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Try
            Dim stConexion As String = ("Provider=Microsoft.ACE.OLEDB.12.0; Data Source= 'C:\Users\Packard Bell\Desktop\Tole2.xlsx';  Extended Properties=""Excel 12.0;Xml;HDR=YES;IMEX=2"";") 'este es el codigo que funciona para office 2007 y 2010
            Dim cnConex As New OleDbConnection(stConexion)
            Dim Cmd As New OleDbCommand("Select * From [Hoja1$]", cnConex)
            Dim Ds As New DataSet
            Dim Da As New OleDbDataAdapter
           
            Dim dt As New DataTable
            Dim dv As New DataView

            Dim bs As BindingSource

            cnConex.Open()
            Cmd.Connection = cnConex
            Da.SelectCommand = Cmd
            Da.Fill(Ds)
            dv.Table = Ds.Tables(0)
            Me.DataGridView1.Columns.Clear()
           
bs = new BindingSource();
bs.DataSource = dv;
Me.dataGridView.DataSource = bs;
            'Me.DataGridView1.Columns(2).HeaderText = "TIPO"


        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")


        End Try
    End Sub


    Private dt As DataTable
   
    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
       
        bs.Filter = "CLASE = ComboBox1.SelectedValue";
    End Sub

End Class

1627
Puede ser que esté filtrando pero no refrescando la vista. ¿Cambia algo si escribes esto? (Añadirle Me.DataGridView1.DataSource = dv para intentar que refresque)

Código: [Seleccionar]
   Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        dv.RowFilter = String.Format("CLASE Like '%{0}%'", ComboBox1.SelectedValue)
       Me.DataGridView1.DataSource = dv
    End Sub

1628
He visto que me equivoqué y dv estaba dos veces, prueba quitando una de ellas  o declarándolo de distintas maneras (con public, private, con dim, etc.):

    Public dv As DataView
    Private Property stConexion As String
    Private dv As New DataView

1629
Prueba con esta idea a ver si funciona:

Código: [Seleccionar]
Imports System.Data
Imports System.Data.OleDb
'Imports System.Data.SqlClient



Public Class Form1
    Public dv As DataView
    Private Property stConexion As String
    Private dv As New DataView
   
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            Dim stConexion As String = ("Provider=Microsoft.ACE.OLEDB.12.0; Data Source= 'C:\Users\Packard Bell\Desktop\Tole2.xlsx';  Extended Properties=""Excel 12.0;Xml;HDR=YES;IMEX=2"";") 'este es el codigo que funciona para office 2007 y 2010
            Dim cnConex As New OleDbConnection(stConexion)
            Dim Cmd As New OleDbCommand("Select * From [Hoja1$]", cnConex)
            Dim Ds As New DataSet
            Dim Da As New OleDbDataAdapter
           
            Dim dt As New DataTable
           

            Dim bs As BindingSource = BindingSource1

            cnConex.Open()
            Cmd.Connection = cnConex
            Da.SelectCommand = Cmd
            Da.Fill(Ds)
            dv.Table = Ds.Tables(0)
            Me.DataGridView1.Columns.Clear()
            Me.DataGridView1.DataSource = dv
            'Me.DataGridView1.Columns(2).HeaderText = "TIPO"
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")


        End Try
    End Sub


    Private dt As DataTable
 

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        dv.RowFilter = String.Format("CLASE Like '%{0}%'", ComboBox1.SelectedValue)
    End Sub

End Class

Como verás en ves de crear un nuevo DataView y tener dos, lo que he hecho es poner un único dataview como atributo de clase (con visibilidad en toda la clase) y después que el filtrado se haga sobre este propio DataView sin tener que crear otro  ::)

1630
Para comprobar por partes, ¿si eliminas el código de Private Sub ComboBox1_SelectedIndexChanged te carga bien los datos o tienes algún error?


1631
Puede (no es seguro) estar relacionado con que el DataTable dt está declarado pero no inicializado, es decir que al escribir Private dt As DataTable no se esté creando el objeto

Al tratar de usarlo aquí sería cuando te tira el error: Dim dv As DataView = dt.DefaultView

Intenta inicializarlo como hacen en este código de ejemplo

Código: [Seleccionar]
Dim Table1 As DataTable
Table1 = New DataTable("TableName")

Dim column1 As DataColumn = New DataColumn("Column1")
column1.DataType = System.Type.GetType("System.String")

Dim column2 As DataColumn = New DataColumn("Column2")
column2.DataType = System.Type.GetType("System.Int32")
Dim column3 As DataColumn = New DataColumn("Column2")
column3.DataType = System.Type.GetType("System.Int32")

Table1.Columns.Add(column1)
Table1.Columns.Add(column2)
Table1.Columns.Add(column3)


Dim Row1 As DataRow
Row1 = Table1.NewRow()

Row1.Items("Column1") = "Item1"
Row1.Items("Column2") = 44
Row1.Items("Column3") = 99

Table1.Rows.Add(Row1)

' Hacer lo mismo para otras filas

Saludos

1632
Hola, sobre la pregunta anterior lo mejor es que respondas donde estaba la pregunta anterior, así quien te respondió sabrá que lo leíste y está bien al menos dar las gracias por la ayuda... Porque a lo mejor quien te respondió no lee este post ni sabe a qué te refieres con "la pregunta anterior"  ::)

Sobre leer la información de un código de barras no estoy seguro de cómo hacerlo directamente con php, puedes hacerlo con JavaScript y enviar la información al servidor como si fueran los datos de un formulario.

Código JavaScript:

Código: [Seleccionar]
/*
 *    Copyright (c) 2010 Tobias Schneider
 *    This script is freely distributable under the terms of the MIT license.
 */

(function(){
    var UPC_SET = {
        "3211": '0',
        "2221": '1',
        "2122": '2',
        "1411": '3',
        "1132": '4',
        "1231": '5',
        "1114": '6',
        "1312": '7',
        "1213": '8',
        "3112": '9'
    };
   
    getBarcodeFromImage = function(imgOrId){
        var doc = document,
            img = "object" == typeof imgOrId ? imgOrId : doc.getElementById(imgOrId),
            canvas = doc.createElement("canvas"),
            ctx = canvas.getContext("2d"),
            width = img.width,
            height = img.height,
            spoints = [1, 9, 2, 8, 3, 7, 4, 6, 5],
            numLines = spoints.length,
            slineStep = height / (numLines + 1);
        canvas.width = width;
        canvas.height = height;
        ctx.drawImage(img, 0, 0);
        while(numLines--){
            console.log(spoints[numLines]);
            var pxLine = ctx.getImageData(0, slineStep * spoints[numLines], width, 2).data,
                sum = [],
                min = 0,
                max = 0;
            for(var row = 0; row < 2; row++){
                for(var col = 0; col < width; col++){
                    var i = ((row * width) + col) * 4,
                        g = ((pxLine[i] * 3) + (pxLine[i + 1] * 4) + (pxLine[i + 2] * 2)) / 9,
                        s = sum[col];
                    pxLine[i] = pxLine[i + 1] = pxLine[i + 2] = g;
                    sum[col] = g + (undefined == s ? 0 : s);
                }
            }
            for(var i = 0; i < width; i++){
                var s = sum[i] = sum[i] / 2;
                if(s < min){ min = s; }
                if(s > max){ max = s; }
            }
            var pivot = min + ((max - min) / 2),
                bmp = [];
            for(var col = 0; col < width; col++){
                var matches = 0;
                for(var row = 0; row < 2; row++){
                    if(pxLine[((row * width) + col) * 4] > pivot){ matches++; }
                }
                bmp.push(matches > 1);
            }
            var curr = bmp[0],
                count = 1,
                lines = [];
            for(var col = 0; col < width; col++){
                if(bmp[col] == curr){ count++; }
                else{
                    lines.push(count);
                    count = 1;
                    curr = bmp[col];
                }
            }
            var code = '',
                bar = ~~((lines[1] + lines[2] + lines[3]) / 3),
                u = UPC_SET;
            for(var i = 1, l = lines.length; i < l; i++){
                if(code.length < 6){ var group = lines.slice(i * 4, (i * 4) + 4); }
                else{ var group = lines.slice((i * 4 ) + 5, (i * 4) + 9); }
                var digits = [
                    Math.round(group[0] / bar),
                    Math.round(group[1] / bar),
                    Math.round(group[2] / bar),
                    Math.round(group[3] / bar)
                ];
                code += u[digits.join('')] || u[digits.reverse().join('')] || 'X';
                if(12 == code.length){ return code; break; }
            }
            if(-1 == code.indexOf('X')){ return code || false; }
        }
        return false;
    }
})();

Ejemplo de cómo funciona: http://tobeytailor.s3.amazonaws.com/get_barcode_from_image/index.html

El código HTML:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
  <head>
    <title>Barcode recognition with JavaScript</title>
    <script type="text/javascript" src="get_barcode_from_image.js"></script>
  </head>
  <body>
    <img id="barcode" src="barcode.jpg"/>
    <br/>
    <button onclick="alert(getBarcodeFromImage('barcode'))">Scan</button>
  </body>
</html>

Saludos

1633
Sí, lo que te comentaba es que tú por ejemplo tienes el valor de cédula que te viene porque ha llegado a través de un formulario, y ese valor lo almacenas en una variable denominada $cedula

Pero tú has escrito:

$registros_BD = mysql_query("SELECT WHERE $cedula=cedula FROM alumnos", $link_BD);

Y esto tiene una sintaxis incorrecta que te generará un error.

La sintaxis correcta sería:

$registros_BD = mysql_query("SELECT * FROM alumnos WHERE cedula='".$cedula."'", $link_BD);

También te comentaba que en el código has puesto muchas dudas o preguntas y lo recomendable para que podamos responderte es que simplifiques las preguntas de modo que no incluyan muchas dudas sino sólo una, de modo que la persona que quiera ayudar respondiendo pueda centrarse en resolver un problema concreto sin tener que revisar un archivo entero con diferentes problemas.

También indicarte que estás usando instrucciones no recomendadas en el código. Aquí puedes ver la recomendación (usar sintaxis mysqli): http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=612:php-consultas-mysql-mysqliconnect-selectdb-query-fetcharray-freeresult-close-ejemplos-cu00841b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193

Saludos

1634
Hola Jose, te recomiendo que vayas por partes, es decir, que no trates de hacer inserciones, búsquedas, etc. todo al mismo tiempo, sino que primero resuelvas una cosa y cuando la tengas funcionando correctamente pases a la siguiente. Incluso así será más fácil ayudarte desde los foros.

En el código que has puesto hay errores en las sentencias de consulta. Por ejemplo en esta línea:

$registros_BD = mysql_query("SELECT WHERE $cedula=cedula FROM alumnos", $link_BD);

SELECT WHERE $cedula=cedula FROM alumnos no es una sintaxis correcta, por lo que el programa generará un error, o al menos no te dará los resultados deseados.

La sintaxis para estas consultas es de tipo:

$result = mysqli_query($link, "SELECT * FROM alumnos WHERE nombre='Pedro'"); si quisiéramos buscar al alumno de nombre Pedro.

Si el dato del nombre lo tenemos en una variable la sintaxis sería así:

$nombre = 'Pedro';
$result = mysqli_query($link, "SELECT * FROM alumnos WHERE nombre='".$nombre."'");

Si prestas atención verás que hay una mezcla entre comillas simples tipo ' con comillas dobles tipo "

Esto es un poco lioso porque el simple hecho de que falten o sobren unas comillas da lugar a un error. Hay que prestar mucha atención e ir con mucho detenimiento, hay que distinguir lo que son nombres de campos (columnas) de variables, etc.

Una vez tengas bien definida la consulta, puedes extraer los datos que desees tal y como se explica aquí: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=612:php-consultas-mysql-mysqliconnect-selectdb-query-fetcharray-freeresult-close-ejemplos-cu00841b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193

Salu2


1636
Hola, cosas básicas que tienes que decidir y que no has indicado es si tienes que usar un lenguaje de programación concreto o si puedes elegir tú el lenguaje a emplear. Si vas a usar Visual Basic este curso te puede resultar de ayuda: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61

Otra cosa que no has dicho es si tienes que almacenar la información, o si el programa simplemente debe funcionar con los datos que se le introduzcan mientras estés ejecutándolo. Si tienes que almacenar información tendrías que pensar si lo vas a hacer a través de una base de datos o a través de archivos.

Si vas a utilizar programación orientada a objetos se supone que sabrás cómo trabajar con este tipo de programación, si no aquí podrás aclarar conceptos: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Viendo el enunciado del programa las clases las organizaría así:


CLASE CLIENTE

Atributos: Nombre, Direccion, Telefono (Strings)

Métodos: getNombre, getDireccion, getTelefono, setNombre, setDireccion, setTelefono


CLASE PROCESO

Atributos: String identificador, String nombre, Boolean viabilidad, Abogado abogado, EnumeradoSit situacion, Single montoPleito, Single BeneficioPleito, String motivoPerdidaProceso

Métodos: getters y setters de los atributos, calcularBeneficioPleito


CLASE ABOGADO

Atributos: String nombre, String numeroColegiado, Integer casosPerdidosEnUltimoAño, boolean RetiradoDeCompañía

Métodos: getters y setters de los atributos



CLASE ENUMERADOSIT

Clase donde se definan los diferentes estados posibles para un proceso: enEstudioPreliminar, aceptado, tramitandose, terminadoPreliminarmente, terminadoDefinitivo.


A medida que crees código vete probándolo, puedes pegarlo en el foro pulsando el botón # del editor y luego pegándolo entre las etiquetas [ code ] ... [ / code ] que te aparecerán, o si es muy largo ponerlo como archivo adjunto pulsando en "Opciones adicionales".

Salu2

1637
Para no liarnos, vamos a dejar los temas que ya habían sido abiertos y para nuevas consultas abre nuevos temas, tratando de mantener que en cada tema se hable de una única cosa. Por ejemplo si quisieras hablar sobre cómo eliminar comentarios y saltos de línea, abre un tema denominado "eliminar comentarios y saltos de línea texto java" o similar, y ahí pegar el código relacionado con ese tema que tengas.

Salu2

1638
Hola de nuevo, no entiendo si lo que estás intentando hacer es un programa o dos programas. En este post hablabas de eliminar comentarios y creo que eso sí lo has logrado, ahora no sé si te refieres al otro post o a este post. Si es sobre el otro post, escribe la respuesta en el otro post. Si es sobre este post, escribe la respuesta en este post. Si has creado dos post sobre un mismo tema dímelo para fusionarlos y que no haya duplicidades. Si quieres tratar sobre una cosa nueva, crea un nuevo tema. Hay muchos posts y muchas preguntas y si no se explica bien y se va con orden se vuelve todo caótico...

1639
Hola, ¿pudiste resolver el programa para eliminar los saltos de línea sin expresiones regulares?

Para esto que propones puedes probar con este código:

Código: [Seleccionar]
import java.util.Scanner;

public class EntradaTeclado
{
    public static void main(String[] args)
    {
        String cadenaLimpia="";
        boolean addChar = true;
        System.out.println("Introduzca la Palabra ");
        String palabra="";
        Scanner escaneo=new Scanner(System.in);
        palabra=escaneo.nextLine();
        System.out.println("");
        for(int i=0; i<palabra.length(); i++)
        {
            if ((i+2)<palabra.length() && palabra.substring(i,i+2).equals("/*")){
                //System.out.println("Detectado cadena /*");
                addChar = false;            }

            if (i>3 && palabra.substring(i-2,i).equals("*/")){
                //System.out.println("Detectado cadena /*");
                addChar = true;            }
            if (addChar==true) {   
                cadenaLimpia= cadenaLimpia+ palabra.substring(i,i+1);
            }
        }
        System.out.println("La cadena limpia es: " + cadenaLimpia);
    }

}//cierre clase

Salu2!

1640
Hola, tal y como lo has planteado con nextLine únicamente te permite entrar una línea de texto, creo que sería mejor que lo plantees como en este código:

Código: [Seleccionar]
import java.util.*; 

public class Input 

    public static void main(String[ ] args) 
    { 
        Scanner in = new Scanner(System.in); 
        List<String> list = new ArrayList<String>( ); 
        String line = null; 
        System.out.println("Enter some strings !"); 

        while ((line = in.nextLine( )).length( ) > 0)   
        {     
            list.add(line); 
        } 

    }//main ends 

}

De esta manera puedes escribir varias líneas y para terminar de escribir basta con pulsar dos veces enter.

También podrías cambiarlo para que en vez de así termine cuando sea una línea que contiene un $.

A partir de aquí ya tienes un array de Strings y por tanto cada elemento del array es una línea introducida, ya tienes contadas el número de líneas... por lo que creo que lo puedes hacer sin expresiones regulares, simplemente concatenando y con replace.

Salu2!

Páginas: 1 ... 77 78 79 80 81 [82] 83 84 85 86 87 ... 100

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".