-
Magnifica explicación en la pagina del Guille donde nos muestran como hacer que un textbox acepte solo números con una función dinámica hecha en visual Basic .net combinado con el Evento KeyPress del textbox
Comentarios (0) | Enlace Permanente
-
Excelente tutorial que me ayudo a comprender como trabajar con fechas con MaskedTextBox de la manera mas simple en Visual Studio, el codigo me funciono de maravilla y lo adapte a mi proyecto incluso aprendi del control ToopTip se los recomiendo.
Comentarios (0) | Enlace Permanente
Modelo Entidad Relacion de Computadoras
Estoy realizando un sistema de inventario de centro de computo por lo cual me di ala tarea de ver cuales son los requisitos, necesidades y datos que necesito almacenar en una base de datos, mi diagrama quedo como lo pueden observar, de acuerdo con la información que me dieron pude construirlo, no es el gran modelo como podrán ver y de hecho es solo una parte, ya que primero necesito dar de alta todas las computadoras de los distintos salones, el diagrama esta hecho en SQL Server 2000 en mi próxima entrega daré la explicación de el porque los campos que puse y sobre todo los tipos de datos que utilice, espero que a alguien le pueda dar una idea de cómo hacer un modelo entidad relación con esto creo que esta muy claro talvez lo difícil seria las tablas llamadas detalle de … ya que esas solo se utilizan para relacionar es todo, dudas a los comentarios
Evitar que se repitan ítems en un ListBox
En una aplicación que estoy realizando me surgió la necesidad de agregar 2 ListBox al Formulario el primero consta de una lista de los programas disponibles o existentes en una Base de Datos y el segundo es para agregar dichos programas por medio de un Botón como ven en la imagen.

Lo que quise hacer en si era que al seleccionar un elemento de la lista de programas disponibles lo agregué en la otra lista de programas instalados, ese no es el problema, el problema es que si por ejemplo que pasaría si el usuario decide agregar 2 veces un mismo programa y si la aplicación no esta preparada para dicho error humano puede fallar el sistema, para ello encontré 2 soluciones, primero empecé por la difícil que era comprobar la existencia de un elemento o item dentro de un Listbox alo cual me hice bolas yo solito y me tarde mucho en pensar como hacerlo, la solución es:
If LstBxListaProgramas.SelectedItem = "" Then
MsgBox("Selecciona un programa primero")
Else
Dim ProgramaSeleccionado As String
ProgramaSeleccionado = CStr(LstBxListaProgramas.SelectedItem.ToString.Trim)
If ChecarItemExiste(ProgramaSeleccionado, "Programas") = True Then
MsgBox("Ya Existe")
Else
LstBxProgramasInstalados.Items.Add(ProgramaSeleccionado)
End If
End If
Dentro del evento BtnAgregarProgramas_Click osea cuando el usuario da click sobre de un boton se pone el codigo de arriba, notese que existe una funcion que llame ChecarItemExiste que recibe 2 parametros la funcion es tan sencilla como lo muestra este codigo:
Public Function ChecarItemExiste(ByVal Item As String, ByVal Lista As String)
Dim Bandera As Boolean
If Lista = "Programas" Then
For Each Elemento As String In LstBxProgramasInstalados.Items
If Elemento = Item Then
Bandera = True
End If
Next Elemento
End If
Return Bandera
End Function
El primer parámetro es el Item que vamos al que vamos a evaluar su existencia en el segundo ListBox osease el LstBxProgramasInstalados el segundo es opcional en si, lo puse porque esa función puede servir para otros listbox y servir como una función general no solo para un ListBox
La segunda opcion y la mas facil por supuesto es obviamente quitar el elemento que se agrego de la lista de programas es decir:
LstBxListaProgramas.Items.Remove(ProgramaSeleccionado)
Agregando esta linea de codigo despues de la instrucción para agregar un nuevo item osea:
LstBxProgramasInstalados.Items.Add(ProgramaSeleccionado)
Con esto eliminamos el item recien agregado de la lista de programas, haciendo imposible que se pueda repetir, cosa que la verdad nunca se me ocurrio, pero bueno se dio el caso en esta ocasión ya que puede haber un momento en que pueda ser una lista estatica en la que no se pueda eliminar un item, eso ya depende del proyecto, espero que le pueda servir a alguien.
Problemas con Miniposts ó Asides
1.- Primer Intento
URL : http://ayudawordpress.com/como-hacer-miniposts-o-asides/
Este primer artículo que me encontré en Google consta de una guía en formato PDF hecha por Fernando en los comentarios se puede apreciar que a muchos les funciono bien y a otros no como es mi caso marcando el siguiente error:
Parse error: syntax error, unexpected T_ENDWHILE in C:\AppServ\www\wp\wp-content\themes\imageless_gray_beauty\index.php on line 45
En la línea 45 tengo : < ?php endwhile; ?> y a lo que entiendo con ese error es que ha de estar mal cerrado el bucle o algo por el estilo aun no estoy muy familiarizado con la sintaxis de php, en los mismos comentarios también pude ver que hay personas que tienen el mismo error pero no mencionaron como solucionarlo L
Por cierto mi tema como pueden verlo en el error es: imageless gray beauty la raro es que el tema de ayudawordpress es el mismo aunque talvez Fernando hizo alguna modificación en el Index aunque se ve igual el código de la guía al mío que raro yo solo modifique el código CSS, y mi categoría de los miniposts en mi caso es la 23
2.- Segundo Intento
URL : http://www.martinaberastegue.com/wordpress/miniposts-asides-en-wordpress.html
Me parecio un excelente articulo, muy buena la explicación, pero desafortunadamente no me funciono tampoco, hice todos los pasos y me marco el siguiente error:
Primero hice el punto numero 5, lo raro fue ver que ahí me indica que entre la línea < ?php if (have_posts()) : ?> y < ?php while (have_posts()) : the_post(); ?> me pide que inserte el código indicado, cosa que difiere ala guía de Fernando.
Marcando el siguiente error: Parse error: syntax error, unexpected ‘=’ in C:\AppServ\www\wp\wp-content\themes\imageless_gray_beauty\index.php on line 13
Cosa que tampoco entendí, después intente poner los miniposts en la sidebar como ahí mismo muestran y nada.
3.- Tercer Intento
URL : http://bocabit.com/tecnologia/informatica/tutorial/tutorial-wordpress-miniposts.php
Hice todo y tampoco funciono marco el siguiente error:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\AppServ\www\wp\wp-content\themes\imageless_gray_beauty\index.php on line 20
En la línea 20 tengo:
< ?php echo wptexturize($post->post_content); echo ”; comments_popup_link(’(0)’, ‘(1)’, ‘(%)’)> < ?php edit_post_link(’(e)’); ?>
¿Qué paso ahí? No se quien sabe.
4.- Cuarto Intento
URL: http://wordpress.org/extend/plugins/sideposts/
Ahora lo intente con un plugin que me pareció fascinante era de hecho lo que yo quería desde un principio poner los miniposts en la barra lateral pero oh! Sorpresa resulta que los insertaba pero problema 1: me cortaba la sidebar es decir lo que seguía después del widget ya no lo mostraba, problema 2: no respetaba el css del widget que venia por default, incluso intento ayudarme el autor del plugin indicándome unos pasos pero de nada sirvió.
5.- Quinto Intento
URL : http://www.anieto2k.com/2008/07/10/montando-mini-posts-en-nuestro-blog/
Al parecer la ultima esperanza que tenia era la de Andres Nieto pero tampoco me funciono creo que no marco error pero no me clasificaba los miniposts con el código que el propuso, que lastima pero ha de ser cosa de mi tema yo creo.
6.- Sexto Intento
URL : http://www.lamateporunyogur.net/archivos/2005/03/07/asides-o-miniblog-en-wordpress/
Por fin gracias ala pagina de la mate por un yogurt pude implementar miniposts en mi blog muchas graciass!!!!
Excelente explicación que usa codigos que mencionan en las otras guias que ya mencione y bueno al fin después de tantos dolores de cabeza pude realizarlo, en otras guias te explican como agregar alguna regla CSS para darles estilos a los miniposts, ahora les muestro como lo hice.
<?php
function stupid_hack($str) {
return preg_replace('|</ul>\s*<ul class="asides">|', '', $str);
}
ob_start('stupid_hack');
?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?> <!--the loop-->
<?php if (in_category(7) && !is_single()) { ?>
<div class="contenido_miniposts">
<div class="fecha_miniposts"> <?php the_time('F j, Y'); ?> </div>
<ul class="asides">
<li id="p<?php the_ID(); ?>">
<?php echo wptexturize($post->post_content); ?>
<hr>
Comentarios <?php comments_popup_link('(0)', '(1)', '(%)'); ?>
|
<?php edit_post_link('(e)'); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>">Enlace Permanente</a>
</li>
</ul>
</div>
<?php } else { ?>
Y en mi codigo CSS :
.contenido_miniposts {
// background: url(http://localhost/images/miniposts.jpg) top left no-repeat;
background-color: #cccccc;
font-family: 'Arial',sans-serif;
font-size: 12px;
padding-top: 5px;
padding-right: 5px;
padding-bottom: 5px;
padding-left: 5px;
}
.fecha_miniposts {
color: #000000;
font-size: 10px;
font-weight: bold;
text-transform: uppercase;
}
.contenido_miniposts li a {
color: #990000;
font-size: 10px;
font-weight: bold;
text-transform: uppercase;
}
.contenido_miniposts li a:link {
color: #5588aa;
text-decoration: underline;
}
.contenido_miniposts li a:hover {
color: #cc6600;
text-decoration: none;
border-bottom: 1px dotted #76a3c3;
}
Conclusion
Como pueden ver es un rollo agregar miniposts a su blog y todo depende de su plantilla instalada, pude haber puesto alguno de estos problemas en foros pero la verdad primero hay que agotar todas las posibilidades que tenemos, y estuve a punto de exponer mi tema el foro pero me gusta hacer las cosas por mi mismo ya cuando de plano no puedo ahora si al foro, saludos espero que a alguien le sirva esta ayuda, cualquier duda a los comentarios.
-
Qué tal esta es una prueba exitosa del tutorial para hacer miniposts en wordpress, despues de varios intentos fallidos este fue el que se logro adaptar a mi tema.
Comentarios (0) | Enlace Permanente
Recibir Datos con DataReader de las Consultas Command
En nuestra entrega anterior vimos como pedir datos al servidor SQL utilizando el control Command de la Clase SqlClient, vimos como este control nos permite enviar peticiones al servidor de datos, indicándole sus parámetros como son la consulta en formato SQL y combinándolo con el lenguaje de programación Visual Basic para obtener resultados deseados mediante condiciones como el WHERE, através de la Conexión que vimos también como se hace.
Pero bueno nos falta 1 paso, ya tenemos la cadena de conexión que nos permite establecer la comunicación entre nuestra aplicación y el servidor SQL, y también ya tenemos el Control para hablarle al servidor para decirle que queremos algunos datos, me refiero al Command, que es donde obtenemos datos, pero ¿y luego? En donde colocamos esos datos, pues buen se requiere de otro Control que guarde los datos que nos regrese el Command a través de un DataReader.
Lo declaramos así:
Dim ReaderClients As SqlClient.SqlDataReader = Nothing
Nuevamente le ponemos un nombre significativo y descriptivo a nuestro objeto, si vamos a tratar con la tabla Clientes pues hay que ponerle algo como en el ejemplo ReaderClientes que nos regresara los datos de los clientes que nosotros hayamos especificado en nuestro command, ósea la consulta SQL.
Se iguala a Nothing al final de la declaración en caso de que no vayas a igualarlo con la consulta en ese instante, como se aprecia en el ejemplo de arriba, ya que el editor visual nos indicaria una advertencia de que todavía no ha sido asignado ningun valor al ReaderClientes, en si no pasa nada si le quitan el nothing J.
Después cuando ya queramos ejecutar la consulta lo que hacemos es lo siguiente
Ponemos primero el Reader y lo igualamos al Command con la propiedad ExecureReader, de la siguiente manera:
ReaderClientes = CommandClients.ExecuteReader
La propiedad ExecuteReader nos permite ejecutar la consulta SQL y el resultado es almacenado en el ReaderClientes
Claro antes y por supuesto de ejecutar el Command y almacenarlo en el Reader, tenemos que abrir la primero la conexión en total nos quedara asi:
ConnLocalServ.Open()
ReaderClientes = CommandClientes.ExecuteReader
TextBoxNombre.Text = ReaderClientes(“Nombre”)
ConnLocalServ.Close()
La Explicación:
Primero abrimos la conexión como mencione anteriormente, luego ejecutamos el Command y los datos obtenidos los almacenamos en el DataReader, posteriormente utilizamos esos datos para mostrarlos en una Caja de Texto por ejemplo, como lo puede ser TextBoxNombre.Text igualándolo al Reader con el parámetro que en este caso será el Campo que deseamos mostrar únicamente, ósea el nombre de la persona.
Por ultimo cerramos la conexión y listo.
Faltan muchos detalles por mencionar, pero iremos avanzando poco a poco conforme vallamos publicando nuevos post.
Petición, Solicitud ó Consulta de Datos SQL Server con Command
Cuando necesitamos hacer una consulta al servidor de bases de datos, necesitamos hacerlo através de un control llamado SqlCommand que proviene de la Clase SqlClient
Y lo declaramos haciendo una instancia de esa clase de la siguiente manera.
Dim CommandClients As New SqlClient.SqlCommand _
("select * from Clientes where RFC = '" & TxBxRFC.Text & " ' ", ConnLocalServ)
El nombre del objeto declarado arriba se llama CommandClients, ¿Por qué? Al igual que las variables tiene que ser un nombre descriptivo, acerca de lo que estemos programando, en este ejemplo en particular, vamos a trabajar con una tabla de Clientes, por eso le puse CommandClients , ¿tiene relación no?.
Los Parametros
Son 2 parametros que de declaran el primero consiste en la consulta que queremos hacer ala tabla y esta se coloca en formato de comandos SQL.
“ Select * from Clientes where RFC = ‘” & TxBxRFC.Text & “ ‘ “
Explicación
- Select * from Clientes -
Este comando nos dice que seleccione todo (*) de la Tabla Clientes
El comodin * asterisco utilizado para indicar que seleccione todos los clientes de (from en ingles) la tabla Clientes, es decir seleccionara todos los registros que hay en esa tabla.
- Where RFC -
Mas sin embargo existe una condición el Where (Donde) nos permite especificar de forma mas concreta los datos que queremos exactamente, en este caso el campo RFC de la tabla Clientes, nos dice que sea igual a algo en este caso tenemos un control caja de texto llamado TxBxRFC con su propiedad .Text indicando el contenido que tenga esa caja de texto, es como si filtrara los datos, dependiendo de la condición.
- Where RFC = ‘ “ & TxBxRFC.Text & “ ‘ -
La parte mas importante esta aquí, la clave de todo esto es no perderse y no confundirse a continuación con esta linea de codigo que aparentemente es compleja.
En la conexión, petición, altas, bajas se requiere la combinación de los lenguajes de programación asi como de SQL, es decir podemos poner instrucciones de codigo de un lenguaje y de otro juntos para lograr nuestro objetivo, en este caso implemento Visual Basic .NET 05 y SQL 2000 como ya lo habia mencionado en nuestro post anterior.
El codigo de SQL va de: select * from Clientes where RFC = ‘ , hasta aquí es SQL ahora apartir de Aquí es Visual Basic: “ & TxBxRFC.Text & “ , y de nuevo SQL: ‘ , para cerrar la cadena.
¿Qué es lo que estamos haciendo aquí?
Bueno primeramente necesitamos igualar el RFC a lo que tengamos escrito en un TextBox en el cual el usuario introduce la clave o RFC y posteriormente lo buscara dando click en un Boton llamado Buscar por ejemplo, bueno pues yo a mi caja de texto TextBox la llame TxBxRFC, para ser discriptivo y tener relación con los datos que estamos trabajando, ahora bien, en el simple control de la caja de texto no se almacenan los datos, para ello se requiere el uso de su Propiedad .Text que es realmente donde se encuentran los datos, bien antes de eso si se dan cuenta se Concatenan con & (amperson) ya que en este lenguaje en especifico asi se concatenan palabras o cadenas.
El RFC ingresado es un tipo de dato String, Texto o Alfanumerico como ustedes lo quieran llamar, es por eso que se pone entre ‘ (apostrofes) y “ (comillas dobles), los apostrofes corresponden al lenguaje del SQL que si te fijas encierran toda la instrucción del lenguaje Visual Basic, y las “ (dobles comillas) son parte de Visual y encierran tambien la concatenacion junto con la caja de texto y su propiedad .text
El otro Parametro
Lo que falta es indicarle la Conexión SQL que estamos utilizando que vimos en el post anterior y esto es la Cadena de Conexión para manipular datos del servidor.
Pero eso no es todo en la proxima entrega tendremos la explicación del control DataReader que es donde se almacenan los datos hechos por el Command, mas adelante lo veremos con un ejemplo y una ilustración hasta pronto.
Introduccion Teoria al Desarrollo de Interfaz
En la ingeniería del software cuando estamos desarrollando un sistema, llega el momento del diseño de la interfaz grafica, y esto es, los colores, botones, cajas de texto etc. Es decir como se vera el sistema a entregar, a todo esto se le llaman elementos de interfaz, que son con los que interactúa el usuario para el cual esta destinado ese sistema.
Hablamos del éxito del sistema cuando el usuario por si mismo dependiendo de sus capacidades intuitivas o los conocimientos computacionales que tenga, es capaz de entenderle a los elementos de la interfaz.
¿Que quiere decir esto?
Pues bien me refiero a que no necesariamente se requiere una interfaz elegante que sea muy profesional y que sobre todo este sobrecargada de elementos que a lo ultimo pueden llegarte a confundir, es decir con un diseño sencillo y bonito es suficiente, claro dependen de las necesidades también, porque puede ser un sistema muy complejo en el cual si se requieran demasiados elementos, en fin creo que queda claro que la interfaz a final de cuentas debe de ser intuitiva para el o los usuarios a los que se les va a entregar el producto.
Para los desarrolladores es interesante todo esto ya que por su propia observación y capacidad de razonamiento se dan cuenta de como están hechos los programas, como organizan sus elementos pudiendo así hacer algo parecido o mejor, adaptándolo a sus necesidades.
¿Como hacer esto posible?
Por supuesto antes tuvimos que haber hecho otras etapas de las cuales esta formada la ingeniería del software, y estas son, análisis de requisitos, esta etapa incluye toda la investigación preliminar que se hace antes de desarrollar algún sistema, es decir, entrevistas con el usuario que nos esta pidiendo que desarrollemos el sistema, ver que procesos se hacen en la empresa, ver lo que hay que automatizar, checar la factibilidad, etc. Todos estos puntos los trataremos en otro articulo.
Hay 3 tipos de factibilidades: la técnica, la económica y la que nos interesa al momento de desarrollar una interfaz es la operacional, ya que en esta es donde se ven aspectos tales como que usuarios utilizaran el sistema, hacia quien esta destinado,¿tienen conocimientos básicos de computación?, talvez habrá que darles algún curso de capacitación, etc. Entonces es en este punto donde nosotros nos damos cuenta de como debemos de hacer el programa, teniendo en cuenta que la persona necesitada siempre nos va a pedir algo fácil, sencillo de usar y bonito.
¿Que colores debemos de usar?
Este es un punto importante también, ala hora de hacer una investigación preliminar para desarrollar el sistema, también es recomendable investigar un poco de historia acerca de la empresa, su misión, visión, objetivos, reglamento y políticas, así nos daremos cuenta que su color predominante será por ejemplo el rojo, y no el verde porque este otro es de la competencia, y por supuesto que no queremos regarla ala hora de elegir el color, se recomienda no abusar mucho de los colores, sea cual sea y sobre todo cuidar mucho su uso si son colores muy fuertes, si son claros creo que no habrá mucho problema, los colores fuertes pueden dañar la vista a largo plazo o a ciertas personas les pueden provocar dolor de cabeza que se yo ataques epilépticos, etc. talvez exagero pero puede darse el caso. Observen los colores que usa Windows o Linux, si se dan cuenta son colores claros y en cierta combinación que hace que no se vean mal, esos detallitos hay que observarlos siempre y en cada una de las aplicaciones que usamos a diario, vean los colores del Messenger, se darán cuenta que siempre son colores suaves y que no molestan nuestra vista.}
Una aplicación Web contra una aplicación de escritorio generalmente son muy diferentes, mas sin embargo siempre utilizan elementos que nosotros ya estamos acostumbrados a usar independientemente del Sistema Operativo que usemos ya que contienen controles o elementos como, cajas de texto, cajas de selección, botones de opciones, botones, iconos, menús, cajas desplegables, cajas de lista, pestañas, etc entre muchos otros mas, que nos hacen mas cómodo trabajar con un ordenador y que rápidamente podamos entender la función que cumple dicho programa, claro que esto se logra através del tiempo que uno lleva ya trabajando con la computadora y adentrándose en el mundo de la programación.
El problema de las interfaces
Cuando diseñamos un programa o alguna pagina Web, surgen problemas tales como incompatibilidades, por ejemplo si creo una aplicación .NET solo se podrá usar en maquinas que tengan instalado el Framework de Microsoft, talvez necesitemos tener instalado java, etc. lo cual deja de ser útil en sistemas operativos como Linux, al menos que ya hayan hecho un simulador para dicha plataforma, en caso de las paginas Web también dependen del explorador, siempre se ha hablado muy mal de Internet Explorer por no seguir un estándar y siempre estar aislado de navegadores como firefox, opera, safari etc. Y hay veces en las que una pagina hecha para firefox no se vera igual en Internet Explorer, problemas como la resolución etc.
Bueno con esto finaliza mi escritura que si bien es humilde iremos ahondando más en el tema con el tiempo.
Cadena de Conexión Visual Basic .NET con SQL Server
Bueno en primera instancia necesitamos tener instalado SQL Server en nuestra maquina, al igual que Visual Studio 2005 también les servirá la versión 2003.
El Código que necesitamos insertar ya sea cuando se carga el formulario en el evento LOAD o en algún botón es el siguiente:
Dim ConnLocalServ As New SqlClient.SqlConnection _
("Packet Size=4096 ;User ID = sa ; Password = xxx ; Data Source = LAPTOP ; Initial Catalog = Tienda ; Persist Security Info = false")
La Explicación :
Dim ConnLocalServ as New SqlClient.SqlConnection
Lo que hacemos aquí es crear una nueva instancia de una clase llamada SqlConnection ala cual le pondremos todos los parámetros necesarios para conectarse al servidor, y estos son:
Packet Size = 4096
Esta opción define el tamaño del paquete en los que se transferirán los datos, y este tamaño se define en bytes, esto quiere decir que cualquier petición que se haga al servidor, y toda esa transferencia de datos se harán por pequeños fragmentos de 4 Megas como lo vemos en el ejemplo es decir: 4096 bytes que es la opción recomendada.
Si por ejemplo en el servidor se están transfiriendo pequeñas cantidades de información de tipo texto o numérico, podemos cambiar este parámetro a un valor menor por ejemplo 512 bytes, con esto ahora la información se trasladara en pequeños paquetitos de 512 bytes lo que significa menos trafico en la red, o de igual manera si se están pasando archivos muy grandes podemos aumentar este valor para conseguir de igual manera menos trafico en la red.
User ID
Cada base de datos necesita un usuario que pueda manipular los datos de la misma y esto se hace en la configuración de cualquier servidor de bases de datos, pues bien en este caso especial, vemos en el ejemplo que tiene User ID = sa ; , sa es el usuario por default de SQL Server cuando lo instalamos normalmente sin modificar ninguna configuración, y con este usuario podremos manipular todas las bases de datos de nuestro servidor, se puede dar de alta algún otro usuario que nosotros queramos, y se pueden poner distintos tipos de privilegios para cada usuario, pues bien como yo en particular no moví nada cuando estaba instalando SQL Server y solo le daba siguiente y siguiente, pues el usuario por default entonces es: sa y es el que indicamos aquí arriba.
Password
La contraseña del usuario sa o de otro usuario en caso de haberlo dado de alta que establecieron en la instalación de SQL.
Data Source
Aquí simplemente se especifica el nombre del servidor, y el nombre de mi computadora es Laptop, esto lo podemos ver en mi PC, clic derecho, propiedades, pestaña: nombre completo del equipo. Este se indicara tal y como lo dice ahí.
Initial Catalog
Aquí especificamos el nombre de la base de datos es con la que vamos a trabajar.
Persist Security Info
Este parámetro es importante, nos indica si queremos proteger la cadena de conexión, de cosas como lo son la ingeniería inversa y con esto me refiero a los descompiladores, ya que si te das cuenta datos importantísimos como lo son el usuario, contraseña y el servidor son vitales para un perfecto funcionamiento de nuestro sistema, y por supuesto no queremos que nadie le meta mano ahí.
Abra ocasiones en las que se necesiten que se revelen esos datos y para ello establecemos esta propiedad como True
De manera predeterminada viene como False para que no puedan ser legibles estos datos.






