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ú

Mensajes - Eleкtro

#4472
Scripting / Re: consulta scripting
21 Septiembre 2015, 15:34 PM
Cita de: gastondelacruz en 21 Septiembre 2015, 15:26 PMmi idea es hacer la tarea con el programador de tareas de windows ya que te permite poner scripts.

¿Pero la aplicación se puede iniciar por linea de comandos de forma automatizada pasándole "X" script?. En caso contrario tus opciones se limitan a desarrollar una Macro, o utilizar un framework de accesibilidad para la automatización de aplicaciones, cómo Microsoft UI Automation (para .Net), siendo esta último opción mucho mejor pero también muy compleja para un iniciado, y muy tedioso para los que no, jaja.

Para desarrollar una macro de forma sencilla puedes usar VBS, AutoIt, o AutoHotkey entre otros lenguajes.

Saludos
#4473
Cita de: el_cantante en 21 Septiembre 2015, 10:49 AMGracias a sus consejos pude resolver el problema.
El código quedo así:

Aunque es satisfactorio resolver un problema, lo cierto es que el código del algoritmo te ha quedado muy feo debido a que estás siguiendo muy, muy malos hábitos de programación, en general le estás dando mil vueltas a un algoritmo sencillo para llevar a cabo una tarea que debería representarse de manera simple.

Lo más destacable negativamente hablando respecto al rendimiento del código que has mostrado, son las múltiples re-asignaciones de variables, puedes utilizar el operador de concatenación (&=) pero seguiría sin ser óptimo para estas circunstancias.

Te sugiero que definas una nueva class/type que usarás cómo una especie de "container" del texto html, en esa class es donde desarrollarás el algoritmo y encapsularias los datos que hagan falta, no me mezcles toda la lógica con la class del Form cómo has hecho, separa los datos.

Te muestro un ejemplo funcional, con los cambios más importantes resaltados:

Código (vbnet,3,4,5,6,7,8,9,10,11,12,42,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75) [Seleccionar]
Public NotInheritable Class GridToHtmlTableExporter

   Private ReadOnly htmlFormat As String =
<a><![CDATA[
<B>Buongiorno, <BR> Queste sono le scadenze per i prossimi {0} giorno/i <BR><BR> </B>

<TABLE cellpadding="1" COLS="1" SIZE="1" border="1" BORDERCOLOR= "black">
{1}
</TABLE>

<BR><BR> Cordiali saluti.
]]></a>.Value

   Public ReadOnly Property Allert As String
       Get
           Return Me.allertB
       End Get
   End Property
   Private ReadOnly allertB As String

   Public ReadOnly Property DataGridView As DataGridView
       Get
           Return Me.dgvB
       End Get
   End Property
   Private ReadOnly dgvB As DataGridView

   Public ReadOnly Property Document As String
       Get
           Return Me.documentB
       End Get
   End Property
   Private ReadOnly documentB As String

   <DebuggerStepThrough>
   <DebuggerHidden>
   Public Sub New(ByVal allert As String,
                  ByVal dgv As DataGridView)

       Me.dgvB = dgv
       Me.allertB = allert
       Me.documentB = String.Format(Me.htmlFormat, allert, Me.ParseGridElements(dgv))

   End Sub

   Public Overrides Function ToString() As String
       Return Me.documentB
   End Function

   Private Function ParseGridElements(ByVal dgv As DataGridView) As String

       Dim sb As New StringBuilder

       For rowIndex As Integer = 0 To (dgv.RowCount - 1)

           If Not (rowIndex = dgv.NewRowIndex) Then

               sb.Append("<TR>")
               sb.AppendLine()

               For colIndex As Integer = 0 To (dgv.ColumnCount - 1)
                   sb.AppendFormat("<TH> {0} </TH>", dgv.Item(colIndex, rowIndex).Value.ToString)
                   sb.AppendLine()
               Next colIndex

               sb.Append("</TR>")
               sb.AppendLine()

           End If

       Next rowIndex

       Return sb.ToString

   End Function

End Class


Lo usarías de la siguiente manera:
Código (vbnet,15,17,18) [Seleccionar]
Public NotInheritable Class Form1 : Inherits Form

   Private Sub Form1_Load() Handles MyBase.Shown

       ' Construyo las filas de un Grid con 5 columnas.
       With Me.DataGridView1
           .Rows.Add({"Row1-Value1", "Row1-Value2", "Row1-Value3", "Row1-Value4", "Row1-Value5"})
           .Rows.Add({"Row2-Value1", "Row2-Value2", "Row2-Value3", "Row2-Value4", "Row2-Value5"})
       End With

   End Sub

   Private Sub Button1_Click() Handles Button1.Click

       Dim htmlExporter As New GridToHtmlTableExporter("allert", Me.DataGridView1)

       ' La propiedad Document contiene el texto final del documento html.
       Console.WriteLine(htmlExporter.Document)

   End Sub

End Class


Resultado de ejecución:
Citar<B>Buongiorno, <BR> Queste sono le scadenze per i prossimi allert giorno/i <BR><BR> </B>

<TABLE cellpadding="1" COLS="1" SIZE="1" border="1" BORDERCOLOR= "black">
<TR>
<TH> Row1-Value1 </TH>
<TH> Row1-Value2 </TH>
<TH> Row1-Value3 </TH>
<TH> Row1-Value4 </TH>
<TH> Row1-Value5 </TH>
</TR>
<TR>
<TH> Row2-Value1 </TH>
<TH> Row2-Value2 </TH>
<TH> Row2-Value3 </TH>
<TH> Row2-Value4 </TH>
<TH> Row2-Value5 </TH>
</TR>
</TABLE>

<BR><BR> Cordiali saluti.

Espero que te sirva de algo el ejemplo :)

Saludos!
#4474
Cita de: MCKSys Argentina en 21 Septiembre 2015, 01:31 AMSólo quiero destacar que saber codear en IL equivale a ASM en x86 o x86-64. Es imperativo en Ing. Inversa, saber cómo funciona IL si vas a atacar programas hechos en .NET. En este caso se podría reemplazar todo con código ya que no hay packer. Pero generalmente no es así.

Por supuesto compañero, sin duda es un buen consejo, yo lo único que pretendía decirle es que si no sabe IL mejor no lo intente por ese camino por que se meterá en un búcle Trial and Error sin salida, el aprendizaje le llevaría meses y esto parece ser un problema esporádico que se puede resolver de la otra forma ya mencionada, la cual, en teoría le costaría menos entendimiento y aprendizaje en comparación, pues parece desenvolverse bien utilizando la sintaxis de VB.Net.

Cita de: MCKSys Argentina en 21 Septiembre 2015, 01:31 AMEl ejecutable lo puedes bajar entrando aqui y haciendo click en el link de la opción 1.

Vaya, gracias por la info, ahora puedo testearlo a ver. :)




EDITO: Confirmo que con la solución que expuse antes parece funcionar correctamente, el mensaje de aviso trial desaparece y lo reconoce cómo registrado.



Aquí tienes la librería parcheada, prueba a ver:
http://www.mediafire.com/download/ip61tll45nt5sr2/PhotoBoothUploadLib.dll

[OFFTOPIC]
Recuerdo que hace tiempo me pidieron un trabajo freelance para controlar el comportamiento de esta app, uf, no la recordaba, ¡esta App tiene la UI más nefasta que he visto jamás!, realmente me asquea de principio a fin, empezando por el diseño.

Pero bueno, cómo se suele decir...



Qué disfrutes tu app gratuita  :laugh:.
[/OFFTOPIC]

Saludos!
#4475
Cita de: 02k0 en 20 Septiembre 2015, 23:57 PMHombre Traté y traté, pero no pudo conseguir en esa ventana que le permite cambiar las Strings.
¿Cómo llegaste a ella?
por favor, muéstrame paso a paso.

El único paso que no mencioné es cómo activar el Reflexil, ve al menú "Tools" y allí verás abajo del todo la opción "Reflexil x.x" (siempre que tengas el plugin instalado claro está), al activarlo te saldrá la ventana esa abajo a la derecha.

Reflexil v2.0 for .Net Reflector AIO

PD: Desde el mismo menú puedes añadir plugins, héchale un vistazo a las opciones.

EDITO: Ahm bueno y... otra cosa que se me olvidaba mencionar, cuando hayas hecho las modificaciones, en la lista de la izquierda le das click derecho a la referencia para abrir el menú, seleccionas la opción "Reflexil -> Save" para guardar los cambios, y luego cargas el archivo parcheado para mostrar los cambios que hiciste.

Saludos
#4476
Cita de: tincopasan en 21 Septiembre 2015, 05:50 AM"ayuda urgente!!!!", sin descripción ni rama, ¿no sería posible eliminarlos directamente? y enviarle al usuario un mensaje con el porque. Lo mismo de los que piden tareas sin mostrar un mínimo avance.

¿Qué te hace pensar que no lo hacemos? :P.

El hecho de eliminar un post por que incumpla una norma como esa sería una medida demasiado estricta incluso para mi xD, no, nadie va a apoyar una eliminación directa, siempre se le avisa al usuario, ya sea publicamente o en privado para darle la oportunidad de que lea las normas del foro y entonces sea consciente de ellas para corrrgir las infracciones que haya cometido, si no lo hace entonces se procede con la sanción conveniente, ya sea eliminar el post, o un baneo, lo que sea.

Personálmente a mi también me molesta bastante ver títulos no descriptivos y sobre todo dudas informáticas ausentes de cualquier tipo de información esencial para poder ofrecerles una ayuda cualificada, cómo por ejemplo:
"Hola no me va va el Windows, me da un error (¿pero saben que?, les explicaré todo el problema menos el error que tengo, seguro que eso no importa para localizar la causa del problema), me ayudan si? grax! adios :)",
pero bueno, no puedes pretender que censuremos a las personas solamente por que no sepan (o no hayan querido) expresarse de forma apropiada o dar la información relevante al formular su pregunta informática.

Saludos!
#4477
Cita de: katwenty en 20 Septiembre 2015, 18:12 PMy en lo de poner esto en el cmd : chkdsk.exe "C:" /F /R /B /X /scan /perf
me dice parametro no valido /scan

Entonces úsalo sin los parámetros "/scan /perf", ya que son exclusivos de Windows 8/8.1/10

Saludos
#4478
Está prohibido revivir temas antiguos.

Por favor, leer la fecha del post antes de responder.

Saludos!
#4479
Cita de: katwenty en 20 Septiembre 2015, 17:13 PMGracias por responder y perdona aqui tienes la imagen XD me da 3 errores 1= Ultraiso: Write error" o tambien  "DVD-R/RW media requires setting mode page to use dao writing"
y este me lo da la mayoría de veces en todos los programas: http://es.tinypic.com/view.php?pic=73ov47&s=8#.Vf7NCtLtmko
Gracias.

Este error te lo debe mostrar antes de la grabación, no durante la grabación:
CitarDVD-R/RW media requires setting mode page to use dao writing
Intenta ser específico, leñe.

Se debe a un problema de drivers S-ATA, yo lo sufrí en el pasado, para (intentar)solucionarlo, si tienes un Intel descarga la última versión del driver Intel SATA Controller AHCI.

Si tienes un AMD, descarga la última versión del AMD Catalyst, pero el que lleva los drivers AHCI, no los drivers de la t.gráfica:
Cita de: http://support.amd.com/en-us/download

De todas formas lo que acabo de mencionar es solamente para solucionar dicho bug que afecta a UltraISO, ese error no tiene que ver nada con el problema real del HDD, pero aun así, deberías actualizar los drivers a ver si hay suerte solo con eso.

Haz un análisis básico del estado del HDD con la herramienta chkdsk de Microsoft, escribe esto en la consola de Windows, y posteriormente reinicia el sistema para que se pueda iniciar el análisis:
chkdsk.exe "C:" /F /R /B /X /scan /perf
Cruza los dedos para que simplemente sea un error reparable causado por "X" sector en mal estado que haya afectado al archivo.iso (tal vez la imagen ISO esté corrupta debido precisamente a eso, o tal vez no y el problema sea muy diferente).

Saludos!
#4480
Cita de: katwenty en 20 Septiembre 2015, 15:51 PMmuchas veces cuando esta a punto de acabar la grabación me sale un mensaje de error

En tropecientos mensajes que has escrito en este hilo...¿todavía no se te ha ocurrido MOSTRAR EL MENSAJE DE ERROR?, ¿cómo esperas que podamos ayudarte?, los problemas informáticos requieren información básica para (intentar)localizar la causa del problema (pf, cómo en todo lo demás en realidad), empieza por especificar el error exacto que te indica el software que utilices para grabar la ISO.

De todas formas, probablemente y sin conocer más datos respecto al problema, por la repetitividad del error que mencionas a mi me parece más bien un conflicto de hardware (que la grabadora va mal, defectuosa, vaya), pero solo es una suposición ya que no has especificado la información necesaria.

Intenta grabar el DVD eligiendo la velocidad mínima, con UltraISO o ImgBurn, me da igual eso, pero a velocidad mínima de grabación, y durante la grabación asegúrate de haber cerrado todos los procesos que haya en segundo plano que no necesites utilizar, y, no uses el PC, es decir, no le des trabajo al disco duro, ya que si es un equipo viejo entonces un exceso de trabajo en el HDD/S.O. se podría ver reflejado en un fallo en la grabación.

Saludos!