none
Imprimir un ticket de acuerdo a la hora del dia c# RRS feed

  • Pregunta

  • ¡Buen día! tengo el siguiente problema, tengo mi impresora de tickets, funciona correctamente pero quiero saber si existe alguna manera para que imprima si es desayuno o comida. Habia pensado en un if para establecer rango de hora en formato de 24hrs y si es menor a 12 que imprima que es desayuno y si es mayor imprima comida pero no se si esto sea posible, este es el codigo del boton imprimir:

            private void btnRegImp_Click(object sender, EventArgs e)
            {
                printDocument1 = new PrintDocument();
                PrinterSettings ps = new PrinterSettings();
                printDocument1.PrinterSettings = ps;
                printDocument1.PrintPage += Imprimir;
                printDocument1.Print();
    
            }

    Y aqui la funcion Imprimir:

    private void Imprimir(object sender, PrintPageEventArgs e) { Font font = new Font("Arial", 10, FontStyle.Regular, GraphicsUnit.Point); int width = 500; int y = 5;

    AQUI PONDRIA EL IF if () { e.Graphics.DrawString("Fecha:" + DateTime.Now.ToString(), font, Brushes.Black, new Rectangle(0, y += 40, width, 20)); e.Graphics.DrawString(txtNom.Text, font, Brushes.Black, new Rectangle(0, y += 30, width, 20)); e.Graphics.DrawString("DESAYUNO", font, Brushes.Black, new Rectangle(110, y += 100, width, 20)); e.Graphics.DrawString("COMENSAL", font, Brushes.Black, new Rectangle(110, y += 100, width, 20)); e.Graphics.DrawString("Fecha:" + DateTime.Now.ToString(), font, Brushes.Black, new Rectangle(0, y += 40, width, 20)); e.Graphics.DrawString(txtNom.Text, font, Brushes.Black, new Rectangle(0, y += 30, width, 20)); e.Graphics.DrawString("DESAYUNO", font, Brushes.Black, new Rectangle(110, y += 100, width, 20)); e.Graphics.DrawString("COMEDOR", font, Brushes.Black, new Rectangle(110, y += 30, width, 20)); } else { e.Graphics.DrawString("Fecha:" + DateTime.Now.ToString(), font, Brushes.Black, new Rectangle(0, y += 40, width, 20)); e.Graphics.DrawString(txtNom.Text, font, Brushes.Black, new Rectangle(0, y += 30, width, 20)); e.Graphics.DrawString("COMIDA", font, Brushes.Black, new Rectangle(110, y += 100, width, 20)); e.Graphics.DrawString("COMENSAL", font, Brushes.Black, new Rectangle(110, y += 100, width, 20)); e.Graphics.DrawString("Fecha:" + DateTime.Now.ToString(), font, Brushes.Black, new Rectangle(0, y += 40, width, 20)); e.Graphics.DrawString(txtNom.Text, font, Brushes.Black, new Rectangle(0, y += 30, width, 20)); e.Graphics.DrawString("COMIDA", font, Brushes.Black, new Rectangle(110, y += 100, width, 20)); e.Graphics.DrawString("COMEDOR", font, Brushes.Black, new Rectangle(110, y += 30, width, 20)); } }




    • Editado sistemashz martes, 4 de agosto de 2020 15:10
    martes, 4 de agosto de 2020 15:10

Respuestas

Todas las respuestas

  • Es correcto que pongas el if, pero limita el alcance de este, es decir no tiene caso que vuelvas a imprimir todo el comprobante, solo cambia la lineal que requieras cambiar, eso hace mas sencillo el mantenimiento en el futuro.

    Ing. Carlos Monroy

    martes, 4 de agosto de 2020 15:13
  • Gracias por la respuesta, pero aqui mi duda es como podria aplicar ese if para poner que imprima si es desayuno o comida de acuerdo a la hora del dia. En el if se tiene que establecer ese rango de hora pero no se como hacerlo, he investigado pero no encuentro nada concreto. 
    martes, 4 de agosto de 2020 15:22
  • Hola. has logrado algo hasta el momento?

    Saludos

    miércoles, 5 de agosto de 2020 20:26
    Moderador