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

#21
Hola amigos del foro, vengo yo a uds de nuevo luego de numerosos intentos y desesperación, ya que sinceramente ya no se que podré estar haciendo mal.

Estoy haciendo una automatización en VB.NET 2010 en Excel, la cuál consiste en un limpiado de un archivo. Me pidieron unas modificaciones en el programa entonces tuve que cambiarlo bastante pero al final de cuentas el funcionamiento en sí del programa lo hace bien, excepto en un pequeño gran detalle el cuál es que no elimina las filas que yo quiero que elimine, estas para ser eliminadas simplemente tienen que ser un campo vacío, simplemente es eso pero no entiendo porque el programa no lo hace.

Les dejo acá el fragmento del método


Código (vbnet) [Seleccionar]



      'Variables a utilizar

       Dim str_cod As String = String.Empty
       Dim str_xxx As String = String.Empty
       Dim str_sku As String = String.Empty


       Dim xlWorkSheet As Excel.Worksheet = Nothing ' Hojas


       Dim i As Integer = 0 'Contador del ciclo

       Dim xcell As New Object

       xlWorkSheet = xlworkbook.Sheets("Hoja2") 'Hoja que estoy utilizando
       Dim xlrange_col2 As Range = Nothing

        'Progress Bar que utilizo

       pg_proceso_inventario.Minimum = 1
       pg_proceso_inventario.Maximum = filas


       'Este es el rango que recorro de la hoja de excel
       xlrange_col2 = xlWorkSheet.Range("B2:" + "B" + filas) 'Rango filas
     
        i = 2 ' Debe empezar en 2 porque este posee un encabezado

       'Esto es un checkbox consiste en que si quiero quitar o dejar todos. ignorar esto
       If chkDejarTodos.Checked = False Then

           'Ciclo que empiezo a recorrer el rango

           For Each xcell In xlrange_col2

               pg_proceso_inventario.Value = pg_proceso_inventario.Value + 1
               lbl_indice_numero.Text = i.ToString

               'limpiamos las variables

               str_cod = Nothing 'Código1
               str_xxx = Nothing 'Código XXX
               str_sku = Nothing 'Código SKU

               str_cod = Convert.ToString(xlWorkSheet.Cells(i, 1).Value) 'Código1
               str_xxx = Convert.ToString(xlWorkSheet.Cells(i, 2).Value) 'Código XXX
               str_sku = Convert.ToString(xlWorkSheet.Cells(i, 3).Value) 'Código SKU


               'Si el checkbox de familia no está activado procedemos a eliminar todo aquel
                'que no empiece por 77 y está vacío

               If chk_Familia.Checked = False Then

                   If str_cod.StartsWith("77") Then
                       i = i + 1

                   'Acá es el maldito problema, no lo elimina de ninguna forma

                   ElseIf (no_vacio(str_xxx) = False) Then
                       ' xlWorkSheet.Rows(i).delete()
                       With xlWorkSheet
                           .Rows.Item(i).delete()
                       End With

                       'xlWorkSheet.Cells(i, 2).Value = "DEBO ELIMINARME"
                       i = i + 1
                   Else
                       i = i + 1
                   End If

               Else
                   'Si el checkbox está activado
                   If str_cod.StartsWith(str_familia) Then
                       i = i + 1
                   Else
                       xlWorkSheet.Rows(i).Delete()
                       i = i + 1
                   End If
               End If

           Next
       End If

       pg_proceso_inventario.Value = pg_proceso_inventario.Minimum
       xlworkbook.Save()

       lbl_Cant_Produc.Text = devolver_filas(xlapp, xlWorkSheet)

       release_object(xlrange_col2)
       release_object(xlWorkSheet)





Bien les voy a explicar en prosa un poco más el código, consiste en recorrer ese rango desde B2 hasta la cantidad de filas que posee el archivo, cuando el encuentra un código que empieza por 77 el lo ignora si este ya no empieza por 77 entonces verifica que el código 2 (o sea la fila B del rango que estamos recorriendo) sea vacío y si no lo es lo elimina se supone porque en realidad no lo hace....


Bien este es el método que averigua si hay algo


Código (vbnet) [Seleccionar]


Public Function no_vacio(ByVal str As String) As Boolean
       If str.Length > 0 Then
           Return True
       End If
       Return False
   End Function



Inicialmente utilizaba el String.nulloblank o String.nullwhitespace pero el resultado es el mismo y la verdad ya no se que estoy haciendo mal.

Muchas gracias por leerme.







#22
Muchísimas gracias por responder!, de hecho yo estoy de acuerdo contigo, para mi es una babosada(perdón la expresión pero lo siento así) pasarse a office 2016, lo que me dicen es que Microsoft ya no vende las licencias para office 2007 entonces te obliga a comprarte el 2016 y eso me tiene preocupadisimo ya que los connections strings, importaciones y exportaciones están hechas en 2007.

#23
Hola amigos,

Estoy sumamente preocupado, en mi empresa vamos a hacer un licenciamiento de windows y office, actualmente estoy con windows 7 profesional 32 bits, hace unos años realicé varios pequeños sistemas que usamos en la empresa, cuya base de datos es Access 2007, el sistema se habia creado con .net 2010, el problema que me aqueja es la migracion misma, me preocupa que no pueda realizar la migración del sistema ya que estos son con diferentes librerías y esquemas.

Mi consulta es la siguiente:

¿Se puede hacer la migración? Tendré que volverlo a hacer todo?

Son sistemas hechos en 32 bits,  todos con vb 2010 y office 2010.
Se que el framework solo se instala y corre bien pero me preocupa la base de datos.

Gracias
#24
Saludos a los que leen este comentario, postié aca puesto que no se a cuál subforo va esto, antes había un subforo que decía informática y pensé que era el más apropiado, ahora no se a dónde puedo poner esto.

Bueno, necesito un software de escritorio remoto gratuito para la compañía, ya que team viewer es muy caro, ammy pues descartado por los rumores que escuché de su inseguridad, entre otros.

Me encontré uno que se llama zsoporte pero no se si es genuino y seguro ya que con tanto virus y ransomware ya ni se a donde recurrir.

Intenté desarrollarlo pero sólo encontré para rdp. Entonces no se si me pudieran sugerir alguno.

Muchas gracias  por leer.


Aclaro una cosa, el programa no lo estoy pidiendo crackeado.  Hay gratuitos como el Aeroadmin pero ese no me ha servido mucho.

Por ello les pido sugerencias.

Gracias

MOD: No hacer doble post.
#25
PHP / Problema con expresión regular en PHP
20 Julio 2016, 23:55 PM
Hola amigos, les escribo nuevamente para una consulta tonta, pero sinceramente no logro entender cuál es el inconveniente.

Verán, estoy haciendo unas validaciones con PHP, las cuáles se hacen por medio de expresiones regulares, esta en lo particular lo que hace es simplemente permitir espacios y únicamente letras.

Código (php) [Seleccionar]



$nombre = limpiar($_POST["Nombre"]); //Acá obtengo el campo, el método limpiar sanitiza la variable.

$patron3 = "/^[A-Za-z\s]+$/"; //Valida sólo letras y espacios, este es el patrón.


//Valida el nombre, esto está dentro de una function que retorna true o false cuando haya la asociación.

if (preg_match($patron3, $nombre) == true) {return true;} else {
return false;}




Y cuando ejecuta el código me marca lo siguiente:

Warning: preg_match(): Empty regular expression in /miruta/ on line 300.

Sinceramente lo considero una babosada pero la verdad no logro entender, antes de que me digan si el campo está asociado con el POST, evidentemente lo está pues ese campo se inserta correctamente en mi base de datos por lo tanto el campo si está obteniéndose del html correctamente.

¿Tienen idea de que carajos puede ser?.

Muchas gracias.



#26
Gracias Elektro!!!, solucionado!!.
#27
Hola soy yo de nuevo para molestarlos.

Estoy haciendo un editor de texto, resulta que quiero que cuando digito en el richtextbox o el usuario digite en él , en la parte de abajo  sea cualquier tecla se muestre el número de columna y fila ACTUALIZADO en sus respectivos labels del control (control Status Strip) , esto lo subrayo ya que cuando presiona la tecla debo presionarla dos veces para que muestre el dato actualizado, en fin pude lograr hacerlo pero no de la mejor manera, ya que cuando lo realizo se muestra pero algo atrasado, digamos que marco la flechita arriba, abajo, enter pero aveces sigue mostrando la línea anterior y no comprendo por que sinceramente.


Les adjunto mi códido este es el método, donde RH es el richtextbox y TS son los labels del Status Strip.

Código (csharp) [Seleccionar]


private void actualizar_lineas(){

           //Actualiza el número actual de la línea
           int int_line = 0;
           int int_column = 0;

           RH_Editor.DeselectAll();
           int_line = 0;
           TS_Linea.Text = "";
         
           int_line = RH_Editor.GetLineFromCharIndex(RH_Editor.SelectionStart);
           TS_Linea.Text = int_line.ToString();
           Update();

           RH_Editor.DeselectAll();
           int_column = 0;
           TS_Columna.Text = "";

           int_column = RH_Editor.SelectionStart - RH_Editor.GetFirstCharIndexFromLine(int_line);
           TS_Columna.Text = int_column.ToString();
           Update();
         
       
       
       }




Y este es el evento keydown

Código (csharp) [Seleccionar]


 if (e.KeyData == Keys.Left || e.KeyData == Keys.Up || e.KeyData == Keys.Down || e.KeyData == Keys.Right  ){


               TS_Linea.Text = "";
               TS_Columna.Text = "";
               Update();
               actualizar_lineas();

           }

           else{

               TS_Linea.Text = "";
               TS_Columna.Text = "";
               Update();
               actualizar_lineas();

           }




Bien, lo hice así para ver si fuerzo que haga la actualización pero sigue igual, entonces no se que podrá ser.

Les agradecería mucho.
#28
Nadie?, ocupo sus conocimientos compañeros(as) ya que he leído un poco pero no se si estoy mal o no.

Me encantaria saber que es lo que opinan.

#29
Hola amigos, les tengo una consulta, resulta que ocupaba conectarme con MVC3 a Oracle 10g Express Edition con el motor de ASP.NET C#.

Bien, descargo el ODAC correspondiente al 12 C, según leí es compatible con el último release del Express Edition del 10 g y pues pude hacer el modelado(data model entity) correspondiente con el MVC3 pero con un framework mayor al 3.5 agregando un origen de datos desde el ODBC del Windows 7 Professional.

Para realizar un modelado según la persona yo podía hacerlo simplemente con agregarle las referencias del OracleClient a mi proyecto y según él aparecía el data model entity, pero  pimero que nada no aparece en el visual studio 2012 y segundo cuando yo me dispongo a utlizar el framework 3.5 para poder conectarme con las librerias del Oracle Client no dispongo del MVC 3, o sea no aparece.


Bien, mi consulta entonces radica como podía hacer ese modelo con el framework 3.5 y el oracleclient con el mvc3 ? Ya que me parece que eso no es así, pero quiero confirmar con más gente como ustedes que son expertos en el tema.

Ya que la única manera que pude hacer que apareciera fue instalando el ODAC 12 c y así el visual studio me desplegara el Oracle Data Provider.

Otra consulta, que tan cierto es lo del Overhead, el ODP hace mi aplicación más deficiente?

Gracias amigos, sólo es una consulta, no es que quiero desmeritar a nadie.
#30
Hola amigos,

Estoy teniendo problemas al conectar visual studio 2012 C# con Oracle 10g Express Edition, me dicen que el problema que tengo es usar Windows 8 con 64 bits ya que el Oracle es de 32 bits, cuando lo conecto dice que la conexión no ha sido abierta, habrá una forma de corregirlo?, o definitivamente no se puede?.



Si nadie sabe cómo, alguno tiene el link para descargar el oracle 10 g express edition para el windows 8 64 bits, por favor lo necesito mucho y es que me meto a la página de Oracle y ya no hay nada del 10 g, les estaría muy agradecido o sino que me ayuden para poder correrlo con 32 bits en mi windows de 64 bits.



Mod: no hacer dobke post