Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Temas - Yaldabaot

#46
Buenas,

He estado haciendo un tipo de monitoreo de impresoras, cuando el usuario imprime la cola de impresión me da las datos.

Pasa que cuando los pido, los datos de nombre, fecha y nombre del documento me dan lo que necesito, pero cuando trato de averiguar cuántas páginas tiene el documento el programa sólo me retorna 1 y en el caso de las páginas totales 0.

El programa lo estoy haciendo con Visual Studio 2010 y con C#.


Es importante aclarar que he probado con word y notepad, los cuáles se generan con más de 1 página.

Les agradecería si me pudieran ayudar con esto.


Código (csharp) [Seleccionar]


System.Collections.ArrayList printJobCollection = new System.Collections.ArrayList();

       //Obtiene los trabajos que contiene en memoria.

       public System.Collections.ArrayList obtenerimpresiones(string PrinterName)
       {

           string PrinterJobs = "SELECT * FROM Win32_PrintJob";
           string hora;

           ManagementObjectSearcher FindPrintJobs = new ManagementObjectSearcher(PrinterJobs);
           ManagementObjectCollection prntJobCollection = FindPrintJobs.Get();
 
           foreach (ManagementObject prntJob in prntJobCollection)
           {


               System.String jobName = prntJob.Properties["Name"].Value.ToString();
               System.String pages = prntJob.Properties["PagesPrinted"].Value.ToString();
               System.String print = prntJob.Properties["DriverName"].Value.ToString();
               System.String totalpages = prntJob.Properties["TotalPages"].Value.ToString();
               
               

               hora = DateTime.Now.ToString();


               char[] JobSplit = new char[1];

               JobSplit[0] = Convert.ToChar(",");

               string prnterName = jobName.Split(JobSplit)[0];
           
               string documentName = "Nombre del documento->" + prntJob.Properties["Document"].Value.ToString() + " Usuario->" + prntJob.Properties["owner"].Value.ToString() + " - Fecha->" + hora + " - Páginas del documento->" + pages + "- Impresora ->" + print + "Total páginas impresas->" + totalpages + "\n";

               if (String.Compare(prnterName, PrinterName, true) == 0)
               {

                   printJobCollection.Add(documentName);
                 

               }


           }


           return printJobCollection;            
           
                     

           }






#47
Hola,

Estoy realizando un limpiador de Excel, y tengo un problema de índices y desbordamientos.

Lo que quiero hacer es eliminar las hojas de un excel, dejando la primer hoja con sus datos, resulta que sólo puedo hacerlo individualmente de esta manera:

CType(xlWorkBook.Sheets(i), Excel.Worksheet).Delete()

Pero cuando intento hacerlo con un ciclo salta esta excepción:

Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))

Estoy utilizando VS 2010, Excel 2007, y este es el código que utilizo para eliminar las hojas. He realizado gran cantidad de intentos. Sinceramente no comprendo el porque del error.

Código (vbnet) [Seleccionar]


Dim contador As Integer = 0

       'Obtiene la cantidad de hojas a borrar
       For Each sheet As Excel.Worksheet In xlWorkBook.Worksheets

           contador = contador + 1
       Next

       'Contador
       MsgBox(contador)



       For k = 0 To contador Step 1

           ' CType(xlApp.ActiveWorkbook.Sheets(i), Excel.Worksheet).Delete()
           'xlWorkBook.Sheets(i).delete()

           If k = 0 Then

               ' k = k + 1
           Else

               CType(xlWorkBook.Sheets(k), Excel.Worksheet).Delete()

               'xlWorkBook.Sheets(k).delete()
               'k = k + 1
               MsgBox(k)
           End If
       Next




No se si es porque se manejen los índices diferente en EXCEL y en VS, agradecería sus consejos.

Con respecto al for he probado varias formas de incrementos y nada tampoco, lo curioso es que se empieza a desbordar después de una cierta cantidad, con cantidades pequeñas funciona bien.

Agradezco de antemano la ayuda.

#48
No dicen nada los medios al respecto, me encantaría jugarlo con esos trailers que he visto

Acá les dejo uno:

http://www.youtube.com/watch?v=NL4ZxDWLwpM
#49
Buenas, bueno pues eso, alguien me podría recomendar algún software libre para administrar impresoras, esto con el fin de reducir costos, saber que imprimen, que tanto hacen, ect. Gracias!.

Tengo algunas referencias, pero son de pago, les agradecería mucho su sugerencia. La idea es verlos por medio de la red, como CZ Printer.
#50
Pues eso, necesito abrirlos para ver si puedo cambiar algún parámetro de una tablet, que necesito quitarle el seguro paternal.

GRACIAS POR LEERME.
#51
Seguridad / Seguridad contra ataques de XSS
13 Agosto 2013, 23:37 PM
Buenas, tengo una serie de dudas con respecto a protección de ataques de XSS, estoy tratando de proteger la web de la empresa en la que trabajo y me he dispuesto a utilizar una serie de pasos, con esto me han surgido dudas y bueno estas son:

1- ¿Qué tanto protegen las expresiones regulares de un ataque XSS?
2- ¿Que puedo usar aparte de las funciones de PHP como strip_tags , htmlentities, stripslashes.?


He puesto también escape_real_string para sanear las entradas, pero hago un test que viene en el mozilla firefox y tengo vubnerabilidas con ";" , "=" y " /".

No se si este es el foro adecuado, espero que lo sea, cabe destacar que estoy utilizando PHP 4 con MYSQL.

Señalo también que con respecto a ataques de inyección no estamos tan mal, me gustaría que me ayudasen; soy nuevo en esto un poco y no se de seguridad. Destaco que no usamos sesiones ni cookies, por tanto no tenemos agujeros ahí, los datos son capturados por medio del POST.

Gracias.




#52
Sugerencias y dudas sobre el Foro / Quejas
31 Mayo 2013, 20:32 PM
Se supone que aquí si puedo postearlo?. Pues nunca me contestan, es mi queja. No planteo preguntas estúpidas, ni pongo a hacer tareas a nadie, parece que muchos o algunos se las tiran de muy listos. Listo, dije lo que me molesta, gracias..

Y no va a todos, igual al que le cae, le cae.
#53
Tengo dos métodos, uno es para llamar mediante un evento un seleccionador de código. Lo que quiero es que cuando se seleccione el item seleccionado se muestre en pantalla, con el código que tengo simplemente lo subraya.

Código (vbnet) [Seleccionar]
Sub posicionarvalor(ByVal valor As String)
       For Each dr As DataGridViewRow In GridCarga.Rows
           If dr.Cells("CodigoProd").Value = valor Then
               dr.Selected = True
       
       End if
       Next
   End Sub



Y este es el code para llamarlo cuando le doy doble clic sobre la caja de texto.
Código (vbnet) [Seleccionar]


Private Sub BuscaCod_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BuscaCod.MouseDoubleClick

       posicionarvalor(BuscaCod.Text)

   End Sub


No he encontrado algún contenido que me sustente. Saludos
#54
Buenos días a todos los integrantes del foro que me leen, tengo un problema muy grave con el Visual Studio 2010, resulta que estaba trabajando con mi proyecto facturador realizado con VB.NET , de repente mi ordenador como está conectado a un servidor colapsó y todo se "crasheó", decidí reiniciar mi ordenador, cuando volví a generar el proyecto para compilador, tuve la desagradable sorpresa (por no decir palabras fuertes) de que mi proyecto cuando le doy compilar (f5) NO HACE NADA, he intentado volverlo a generar, cerrar el programa, reiniciar el ordenador y nada.

Necesito poder compilarlo para sacar una nueva versión y poder salir de este problema, LES AGRADECERÍA demasiado si saben alguna solución.

#55
Buenas tardes a todos los que me leen,

Soy nuevo en el foro, espero aportarles pronto, deseo aprender mucho de ustedes y posteriormente darles conocimientos a los que no sepan. Bueno a lo que vine, tengo un problema muy particular con un DataGridView.

Básicamente el funcionamiento de mi método es importar los valores de una hoja de excel a un DataGridView, por lo que he visto (corrijanme si estoy equivocado) el DatagridView agarra el primer valor de las celdas que obtuvo y por ende interpreta el tipo de dato que obtuvo, es decir si en mi excel la celda A1 = "NUMERO ENTERO", al parecer para el GridView todos los datos de esa columna son enteros. He ahí donde empieza el problema, la columna código de mi hoja de excel es un híbrido dónde habrán datos enteros o texto.

Entonces el DatagridView comienza a ponerme en blanco las columnas que no son el primer dato obtenido. Por ejemplo si el primer dato que obtuvo la hoja es un entero las celdas de excel que no son enteros son puestos en blanco. El problema es específicamente en la columna llamada "Código_Articulo", todo lo demás funciona a la perfección.


Sub Cargar(ByVal dgView As DataGridView, ByVal SLibro As String)

        'HDR=YES : Con encabezado

        Try

        Dim xlApp As New Excel.Application 'Aplicación de excel
        Dim xlWorkBook As Excel.Workbook ' Libro de excel
        Dim xlWorkSheet As Excel.Worksheet ' Hojas
        Dim name As String

        Dim r As Integer = 0
        Dim cs As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                           "Data Source=" & SLibro & ";" & _
                           "Extended Properties=""Excel 8.0;HDR=YES"""

        xlWorkBook = xlApp.Workbooks.Open(SLibro)


        Dim ws As Excel.Worksheet = CType(xlWorkBook.Worksheets.Item(1),     Excel.Worksheet)

        ' Obtenemos el nombre de la hoja.
     

        name = ws.Name
        ws = Nothing

        'Agarra el nombre de la primera hoja

        xlWorkSheet = xlWorkBook.Sheets(name)

        ' se conecta con la hoja sheet 1 
        Dim dAdapter As New OleDbDataAdapter("Select Codigo_Articulo,Descripcion,Cantidad,Precio_de_compra,Total_linea  From [" & name & "$]", cs)
        Dim datos As New DataSet
        'Dim talas As DataTable

        ' agrega los datos 
        dAdapter.Fill(datos)

        With GridCarga
            ' llena el DataGridView 
            '.AutoGenerateColumns = False
            '.AutoGenerateColumns = False
            .DataSource = datos.Tables(0)


            ' DefaultCellStyle: formato currency   
            'para los encabezados 1,2 y 3 del DataGrid 

            '.Columns("Codigo_Articulo").DefaultCellStyle.GetType()
            '.Columns("Descripcion").DefaultCellStyle.Format = "Descripcion"
            '.Columns("Cantidad").DefaultCellStyle.Format = "Cantidad"
            '.Columns("Precio_de_Compra").DefaultCellStyle.Format = "Precio_de_compra"
            '.Columns("Total_Linea").DefaultCellStyle.Format = "Total_linea"


            xlApp.Workbooks.Close()
            xlApp.Quit()
            KillAllExcels()


        End With

        'Muestra la cantidad de filas.
        If GridCarga.Rows.Count > 0 Then
            For r = 0 To GridCarga.Rows.Count - 1
                Me.GridCarga.Rows(r).HeaderCell.Value = (r + 1).ToString()

            Next

        End If

     
         Catch
        MsgBox("El formato de la plantilla cargada no ha sido el correcto, por favor verificarlo.")
         GridCarga.DataSource = Nothing
        NombreA.Text = ""
         End Try

    End Sub



Pude solucionar el problema desde el excel usando la función "Texto" para convertirlos y todos; y posteriormente insertarlo a mi base de datos, mi pregunta es ¿Hay alguna forma de castear los valores?, o

Les adjunto mi código, se que no es muy escueto(espero mejorarlo con el tiempo), desde ya por lo menos gracias de antemano al leerme. ;)