Cómo crear aplicaciones de consola C# y Windows Forms con LINQ y ADO. NET | Trevoir Williams | Skillshare

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Cómo crear aplicaciones de consola C# y Windows Forms con LINQ y ADO. NET

teacher avatar Trevoir Williams, Jamaican Software Engineer

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Introducción

      3:28

    • 2.

      Instalación de Visual Studio 2019 Community Edition

      3:39

    • 3.

      Instalación. SDK de Net Core

      1:31

    • 4.

      ACTUALIZACIÓN: visita a la edición comunitaria de Visual Studio 2022

      7:56

    • 5.

      Visita a Visual Studio

      11:05

    • 6.

      Escribe un programa simple de Hola mundo

      15:06

    • 7.

      Programas de entrada y salida

      17:47

    • 8.

      Tipos de datos y conversión de C #

      22:17

    • 9.

      Operadores en C#

      16:39

    • 10.

      Declaraciones de condiciones

      32:08

    • 11.

      Declaraciones de repetición

      27:57

    • 12.

      Métodos y tipos de devolución

      26:36

    • 13.

      Funciones de manipulación de cadenas

      21:24

    • 14.

      Manejo de excepciones

      12:52

    • 15.

      Clases y objetos

      37:10

    • 16.

      Matrices y listas

      34:55

    • 17.

      Crea un proyecto de Winforms

      25:58

    • 18.

      Construye un formulario y

      21:15

    • 19.

      Agrega validaciones a los datos de Winforms

      34:01

    • 20.

      Crear una base de datos SQL

      9:36

    • 21.

      Conéctate a la base de datos SQL

      12:53

    • 22.

      Ejecución de una consulta de selección con LINQ

      15:12

    • 23.

      Guarda los datos introducidos en el formulario

      16:46

    • 24.

      Creación de formularios y ventanas adicionales

      13:38

    • 25.

      Crear una aplicación de MDI

      16:33

    • 26.

      Ver datos en una cuadrícula

      28:32

    • 27.

      Administración de cambios en la base de datos

      18:23

    • 28.

      Crea y edita vehículos

      47:45

    • 29.

      Validaciones de datos de vehículos y manejo de excepciones

      7:07

    • 30.

      Administrar los registros de alquiler de automóviles

      45:20

    • 31.

      Mejora del flujo de aplicaciones y la experiencia del usuario

      28:02

    • 32.

      Formulario de inicio de sesión simple

      38:59

    • 33.

      Funciones de control basadas en roles de usuario

      34:31

    • 34.

      Password del usuario y restablecimiento del estado activo

      20:58

    • 35.

      Agrega nuevos usuarios y reinicia el proceso de espada

      44:32

    • 36.

      Agrega un proyecto a GitHub

      19:13

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

322

Estudiantes

--

Proyecto

Acerca de esta clase

Descripción general

En este curso, aprenderás a programar en C# para aplicaciones de escritorio. Este viaje te hará aprender a dominar

  • Interfaz de Visual Studio y accesos directos

  • Aplicaciones de interfaz gráfica de usuario basadas en datos que usan Windows Forms 

  • Administración de bases de datos con SQL Server Management Studio

  • Interfaces y funciones administradas para usuarios y roles

  • Cómo usar clases de utilidades para un código limpio

  • Desarrollo de aplicaciones de interfaz de múltiples departamentos (MDI)

  • Aplicación de la programación orientada a objetos con C#

  • Cómo agregar un proyecto de Visual Studio al control de fuentes

Estas lecciones no ofrecen conocimientos previos de programación ni del lenguaje C#, y te pondrán en funcionamiento en muy poco tiempo.

Por qué aprender el lenguaje C#

C# es el lenguaje de programación más versátil en el mundo. NET Framework y . Núcleo NET. No solo puedes construir aplicaciones cliente para Windows, sino que también puedes usar C# para construir aplicaciones web y móviles.

C# se puede usar para construir:

  1. Aplicaciones cliente de Windows con Windows Forms, WPF y UWP.

  2. Aplicaciones web con ASP.NET y ASP.NET Core.

  3. Aplicaciones móviles nativas para iOS y Android con Xamarin.

  4. Bibliotecas, componentes y aplicaciones de consola

  5. Aplicaciones en la nube y Azure

  6. Aplicaciones de cadena de bloques

  7. Microsoft no solo admite y mantiene el lenguaje C#, sino que también tiene un fuerte soporte de la comunidad. Más de 5 millones de desarrolladores usan el lenguaje C#. NET Core y el compilador de C# son de código abierto y la adopción está creciendo en la comunidad de código abierto.

Construye una base sólida en la programación en C#:

  • Comprender la sintaxis de C#

  • Comprende los tipos de datos y variables

  • Comprende las estructuras de control de secuencias, decisiones y repetición

  • Comprende la manipulación de cuerdas

  • Cómo entender la manipulación de la fecha y la hora

  • Comprende la programación orientada a objetos, clases y objetos

  • Comprender Visual Studio

  • Comprende las técnicas de depuración

  • Comprende el desarrollo impulsado por eventos

  • Desarrolla aplicaciones de consola

  • Desarrolla formularios para Windows

  • Desarrolla aplicaciones basadas en datos

  • Comprende LINQ y las consultas de datos con la sintaxis de C#

  • Configuración de inicio de sesión y funcionalidad de gestión de usuarios

Contenido y descripción

Este curso es muy adecuado para principiantes y está lleno de consejos de desarrollo. Este enorme curso ofrece contenido premium, dividido de manera inteligente para resaltar un conjunto de actividades relacionadas con cada módulo. También veremos la solución de problemas y la depuración de errores a medida que avanzamos; la implementación de mejores prácticas; la escritura de lógica eficiente y la comprensión de por qué los desarrolladores hacen las cosas como lo hacen. Tus conocimientos aumentarán, paso a paso, a lo largo del curso, y tendrás el reto de ser lo mejor que puedas ser.

Cuando termines el curso, te habrás movido por Visual Studio y examinado los errores de lógica y sintaxis tanto que será una segunda naturaleza para ti cuando trabajes en el programa. Entorno NET. Esto hará que tus nuevas habilidades aprendidas se conviertan en un uso práctico e impresionará a tu jefe y compañeros de trabajo.

El curso se completa con archivos que funcionan alojados en GitHub, y se incluyen algunos archivos para que te sea más fácil replicar el código que se está demostrando. Podrás trabajar con el autor mientras trabajas en cada clase y recibirás un certificado verificable de finalización al terminar el curso.

Conoce a tu profesor(a)

Teacher Profile Image

Trevoir Williams

Jamaican Software Engineer

Profesor(a)
Level: Beginner

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Introducción: Oigan, chicos, me emociona darles la bienvenida a mi nuevo curso titulado C Sharp Consul y Windows Forms Development with Link and A T or dot Net. Ahora ese título es bastante bocado, pero les puedo asegurar que tenemos un poco fuera de contenido en tienda para ustedes. Este es un curso principiante a intermedio, donde te llevaré a través de lo básico fuera de la programación afilada de C. Debe ser capaz de entender el contexto agudo C básico. Los bloques de cordón, los diferentes tokens que ocurren. Empiecen las brisas que me sostiene. Variables, colecciones, programación orientada a objetos. Todas esas cosas se impartirán en este curso. Tomo un enfoque amistoso muy principiante. Asumo que no tienes experiencia previa. La programación están desarrollando aplicaciones y así te traigo paso a paso a través de cada uno fuera de los conceptos. Al final de este curso, deberías poder entender cómo crear nuestras propias aplicaciones de Windows. Ambas consola Onda interfaz gráfica de usuario usando formularios de Windows. También estarás aprendiendo un poco del desarrollo de bases de datos ya que estaremos construyendo una aplicación de formularios Windows impulsada por datos . Onda. Aprenderemos a usar nuestras herramientas como una tina en estudio visual on. Al final de este curso, deberías sentirte cómodo en cualquiera de los entornos y poder construir una aplicación de entrada final completa . No, quiero llevarte a través de por qué es importante para ti aprender dotnet y ver Microsoft nítido . Net es una de las plataformas más populares que se utiliza para construir aplicaciones empresariales en todo el mundo. Puedes conseguir trabajos básicamente en cualquier parte del mundo. Si eres desarrollador de documentos en, la gente te pagará bien. Toda la plataforma de documentos, así como permitir vería Sharp, que es el lenguaje más popular utilizado en la plataforma Darknet, puede ser utilizado para desarrollar una amplia gama de aplicaciones para dispositivos móviles para escritorio aplicaciones. Más recientemente, los límites en DMarc también cualquier cosa en Windows y también las aplicaciones Web para este curso estarán usando Visual Studio 2019. Community Edition, que es una I. D. E. I. D. Corto para ambiente de desarrollo integrado en ella es muy moderno. Es muy pobre tonto. Puedes usarlo para construir una amplia gama fuera de aplicaciones está pre integrado con get and get hub on Did. Tiene algunas capacidades de administración de bases de datos en ella también. No, sí mencioné levantarse, y sólo voy a darles una breve introducción. Estelle, lo que es eso es el control de fuentes lo que nos permitirá rastrear nuestros cambios que se están haciendo. También es una gran manera de volver aparecer frío porque si tu máquina se bloquea y tienes una copia de tu proyecto arriba y te levantas, entonces es fácil recuperarte a partir de ese momento. A la industria le encanta saber que sabes usar herramientas como levantarse. Por lo que te estaré mostrando cómo usar Get top, Andi. Se desprenderá por supuesto como un gran beneficio para ti. Ahora, con todo lo que se dice, es bueno si tienes algún conocimiento de desarrollo de base de datos en campo de golf necesitas una dirección de correo electrónico en ¿Necesitas la disposición para aprender y crecer Que dicho, Sin embargo, si realmente no tienes todo ese conocimiento, está bien. Te llevo paso a paso, y una vez más, este es un verbo curso amigable para principiantes. Y si no eres principiante sino tu intermedio, seguro que puedes encontrar algún valor en este curso. Así que bienvenido, me alegro de tenerte 2. Instalar Visual Studio 2019 la comunidad: en este video, empiezas a configurar nuestro entorno de desarrollo, por lo que estaremos instalando visual studio. Podemos llegar a su molesto yendo a visual studio dot Microsoft dot com y luego procederemos a Don't. Señor. El community edition hay también profesional Bajo es también empresa, ambos ofrecen versiones de prueba ya que necesitas comprar la licencia. Pero como somos individuos que estamos haciendo esto con fines educativos no son para propósitos empresariales, entonces podemos proceder con 2019 Community Edition. Seleccionando esa opción los activadores son no Señor, que, cuando se completen, podemos ejecutar el programa. Este lanzamiento está en instalador, y es un proceso bastante sencillo. Justamente continua bajó el dedo del pie, hacer un poco más, no pierdas y cheques. Al final de esas comprobaciones, lanzarán una pantalla, te pide seleccionar los modelos que deseas instalar, ya que estamos haciendo programación C sharp para dotnet y para next top, entonces necesitamos asegurarnos de que seleccionamos dot net para el desarrollo de escritorio Así que sólo tomamos esa caja. Si no se marca nada más, ese uno necesita ser llevado y a la lista fuera de tipo redial o lo que vas a estar obteniendo como parte de este cubo. Entonces voy a tomar algunas otras cosas porque definitivamente me gustaría incluir algunas otras versiones de marco DOTNET. No, la realidad es que cada versión viene con su propia compatibilidad, Ya sabes, soporte para ciertas cosas y también compatibilidad inversa para sistemas antiguos. Por lo que sólo estoy tomando todas ellas para asegurarme de que las tenga como opciones cuando sea necesario. No, miras hacia abajo a la derecha, y luego ven que el espacio total requerido es de cinco puntos aquí para gigabytes, y eso es solo para un modelo. Podría haber marcado otra vez a otros modelos. No los necesito para esto, pero solo digo que visual studio es muy poderoso, y te permite seleccionar el tipo de bibliotecas de desarrollo que necesitarás para tu contexto. Después de seleccionar dot Net, están deteniendo el desarrollo de ese paquete. Entonces solo podemos seguir adelante y hacer clic en instalar para que este instalador proceda a No cargar todos los paquetes de Internet, y esto puede tardar un tiempo, así que volveré a convocar cuando esto se haga. Una vez terminado ese proceso de instalación, entonces podemos seguir adelante y lanzar es tu estudio. Si no se inicia automáticamente en el camino, posible que se te pida que te identifiques usando cuentas en vivo. No, mi cuenta en vivo ya está especie off registrada en mi máquina, por lo que automáticamente me detectó al registrarme. Pero si no recibes esa firma automática, entonces te animo solo a crear un contenido de nivel por cuenta en vivo. Es decir, simplemente puedes ir a Microsoft dot com, proceder a dar click iniciar sesión. No tienes cuenta, así que solo creas una en entonces Lo genial es que no tienes que tener en acto unos micro platillos que kamajii me trabaja en Yahoo Works. Cualquiera que sea la dirección de correo electrónico que utilice principalmente. Puedes usar eso como tu cuenta en vivo. Y luego una vez que hayas completado ese registro con esa cuenta en vivo, entonces para visual studio puedes proceder a usar esa cuenta en vivo para iniciar sesión notas de que la adición de la comunidad es muy gratuita. Pero entonces te dirán que tienes una prueba de 30 días en que realmente está pendiente tu creación fuera de nuestra cuenta en vivo y usarla para autenticarte en visual studio. Una vez que llegues a esta pantalla. Entonces usted sabe que su instalación ha sido completada y conforme vamos con, vea cómo creamos un proyecto y entendemos nuestros entornos de desarrollo. 3. Instalar. SDK núcleo de base neto: para completar nuestra configuración del entorno de desarrollo, necesitamos instalar dot net core. Esto puede no haber salido de la caja con visual studio o la versión que estaba en visual studio, tal vez un poco anticuada. Por lo que la última versión o la versión en el momento apagado esta grabación es dot net core 3.1 Soto, Consigue esa. Acabas de goto dot net dot Microsoft dot com slash descarga Ya podría simplemente google dot net core, y te traerá a este sitio en. Entonces puedes proceder a descargar el sdk. Entonces ya sabes, dice que he hecho ese core 3.1 en el último framework dotnet, que también puede no haber sido incluido en esa instalación de estudio visual. Entonces no puedes saber a ambos lo que soy realmente bueno. Fui a enfocarme en el núcleo porque ahí es cuando realmente queremos a Andi. Basta con hacer click. No sé sdk. Se lanzará un no cargar. Entonces cuando eso esté terminado, entonces miramos el proceso de instalación. Cuando lanzas el instalador, es bastante sencillo. Tan solo necesitas hacer clic en instalar, dejarlo pasar por cualquier comprobación de seguridad en, entonces solo instalará dotnet core STK para 3.1, que en el momento posterior a este video fue la última versión. Por lo que una vez que eso se complete y nos volvemos a convocar al final de la instalación, verá una página de confirmación en la línea más importante aquí es que la instalación fue exitosa. Una vez que veas que puedes hacer clic en cerrar Onda eso es todo para configurar tus entornos de desarrollo . 4. Actuación: visita de la comunidad de Visual Studio 2022: Hola chicos. En esta lección estaremos instalando Visual Studio 2022, que se envía con dotnet six, que es el dotnet más rápido hasta la fecha. Entonces para empezar, solo necesitamos ir a las descargas de Visual Studio dot Microsoft.com slash. Y luego vamos a seguir adelante y golpear la descarga gratuita en la edición de la comunidad, que luego nos dará un instalador. Por lo que una vez que ejecutes ese instalador, podremos seleccionar las cargas de trabajo que queramos. Las cargas de trabajo realmente se refieren a las bibliotecas o a las bibliotecas de soporte para el tipo de actualizaciones que le interesa crear. Entonces en este caso, definitivamente queremos conseguir esa carga de trabajo de desarrollo web ASP.Net y desarrollo web. Pero entonces si te interesan las tecnologías más antiguas, puedes seguir adelante y seleccionarlas. Para que veas que tengo varias cargas de trabajo seleccionadas con desarrollo de Azure, NodeJS y desarrollo de escritorio. Para que puedas seguir adelante y dividirlos también. Creo que van a venir muy bien con otros proyectos que podrías terminar construyendo. todo, una vez que hayas hecho eso, puedes seguir adelante y golpear Instalar, lo cual se haría por la esquina inferior derecha. Por supuesto, cuantas más cargas de trabajo selecciones es mayor será el tamaño de la descarga. Entonces una vez que hayas completado eso, entonces puedes continuar. Ahora cuando termine esa descarga, puede que te den ciertas opciones que no voy a conseguir porque ya la tengo instalada. Por lo que esto te guiará por qué esperar. Podrás obtener una opción donde llegues a elegir tu tema. Como puedes ver, estoy usando el tema oscuro, pero entonces sí tienes la opción de un tema claro, un tema azul. Y la cosa es que Visual Studio 22 tiene muchos más temas que sus predecesores. Entonces aunque no te gusten los temas iniciales, puedes conseguir otros temas si los necesitas. Además, es posible que se te pida que inicies sesión. Entonces si ya tienes 2019 instalado en tu máquina y acabas de instalar en 2022, ya firmaste en 2019, entonces probablemente no te pida que vuelvas a iniciar sesión. No obstante, si esta es tu primera instalación de Visual Studio, posible que se te pida que inicies sesión o crees una cuenta en vivo, que punto te gustaría simplemente usar tu Microsoft emitida en vivo en absoluto. Mira hotmail.com en conos. O simplemente puedes seguir adelante y crear uno. Y si yo si mi memoria me sirve correctamente, puedes usar otra dirección de correo electrónico que no sea de Microsoft para crear un color más claro. Entonces si sigo adelante y creo un nuevo proyecto y hago una nueva consola arriba, C Sharp consola arriba. Y entonces esto sólo va a ser VBS 2020 a demo. Muy bien, golpe de cabeza Siguiente C. C es lo mismo, pero aquí puedo elegir qué marco y ahora puedo elegir el último dotnet seis. Por lo que dotnet 5 fue lanzado el año pasado y se está produciendo un dotnet de tres puntos uno sentarse como apoyo a largo plazo. Por lo que sigue siendo bastante capaz. Y cada uno es en realidad compatible al revés. Entonces cinco, la mayor parte de lo que haces en tres, la mayoría, si no todo lo que haces en 3.1 sigue siendo compatible con cinco. Y la mayoría, si no todo lo que habrías hecho con estos dos puede ser hacia adelante, reenvíalo a dotnet 6.net, 2.1, mucho apoyo. Por lo que te sugeriría si tienes algún ups todavía en dos puntos uno, que empieces a buscar actualizarlos o actualizarlos. O al menos si solo estás aprendiendo dotnet Core, no empieces con 2.1. Entonces cuando vamos adelante y golpeamos Crear, otra cosa tomo nota. Entonces pausé el video, pero no fue realmente ese Quetelet. Yo pausé el video, pero algo de lo que tomé nota es que es mucha fosa. Entonces eso es probablemente porque está en una aplicación de 64 bits, por lo que está haciendo un mejor uso de sus recursos de máquinas de 64 bits que las versiones anteriores tendrían. Entonces no, vas a ver tiempos de búsqueda de Foster , tiempos de carga más rápidos. Ellos van soluciones con 109 proyectos, no debería tardar tanto en cargarlos. Entonces otra cosa que quiero señalar es que se trata de una aplicación de consola. Y si tienes alguna experiencia escribiendo una aplicación típica de C-Sharp, sabrás que hay una plantilla estándar donde tienes un montón de declaraciones de uso en la parte superior. Y luego tienes int main clase Java, y luego tienes int main, y luego tienes el código ahí. Pero aquí todo lo que estoy viendo es el código. Por lo que esto se hace a los 66. En realidad se deshizo de toda esa plantilla. Así que permítanme añadir dotnet cinco proyecto de aplicación de consola rápidamente. Déjame solo llamar a este demo, conocí cinco para que sepamos Next, y entonces éste se hace cinco. Entonces eso es lo que probablemente les costó también cuando miramos a dotnet cinco proyectos o lo hicimos cinco proyecto de consola o archivo de código. Entonces tienes tu clase, tienes tu principal de vacío estático, y luego tienes tu código. No obstante, en dotnet busca, se deshicieron de los envoltorios alrededor de todo eso. Y el que acaba de empezar a escribir código, ¿verdad? Entonces esto no lo es, esto no es un tutorial C-sharp. Solo estoy señalando todos los pequeños matices en C-Sharp tutorial. Definitivamente voy a pasar por todo eso y las diferencias entre el dotnet, dotnet regular C-sharp y lo que dotnet 6 trae a la mesa. Pero es realmente genial Por lo que yo lo veo. Ahora otra característica genial para mí es que es mayor inteligencia cuando se trata insinuación de código están insinuando lo que podría estar recibiendo. Por eso están consiguiendo una cotización. Por lo que puedo ver esto como una enorme productividad cuando la droga, la característica código IntelliJ. Y verás ese pequeño ícono aquí abajo que te permite especie de alterar algunas de las opciones. Entonces si escribo consola, ves que es una especie de auto completando línea de escritura de punto. No me está esperando para entrar a la lista y luego seleccionarla. Sólo puedo presionar Tab y luego bañar siempre y cuando estén de acuerdo. Personajes a la derecha del cursor, puedo presionar tab y luego sólo los rellenará, ¿verdad? Yo estoy aquí. Entonces déjame probar otra cosa. Si hago algo como var, var num uno es igual a y luego semilla sugiriendo que probablemente quiera inicializarlo a 0. Déjame ver si realmente es tan inteligente okayed. Entonces solo la norma a qué si quisiera var nombre, ¿qué sugeriría nombre var? Y luego un espacio y luego está bien, Entonces supongo que lo rompí. Pero se puede ver a qué está llegando tal vez. Está bien. Entonces supongo que VarName es vago porque ya sabes, necesitas el tipo 4 para saber exactamente qué tipo de variable Va a ser antes de dar el valor. Entonces si dijera nombre de cadena uno, Veamos qué sugeriría. Nombre de cadena 1, conocer sugerencias. De acuerdo, entonces esa es una característica, supongo que con el tiempo se incrementará en su oferta porque esto realmente se basa en terminaciones de objetivos, en base a otras muestras de código de varios repositorios todos sobre el lugar. Entonces supongo que los nombres de variables aleatorias que estos rara vez se usan, razón por la que está teniendo tanto tiempo para entender lo que lo estoy obteniendo. Pero entonces puedes ver con el num 1, num 2 si ya le has dicho al arte, así que solo presiono enter. Está sugiriendo console.log, pestaña de línea. Y luego va a sugerir otra, tina. Entonces lee, solo están impresos num one sin escribir una línea de código, miro esto, presiono los de tabulación y estoy imprimiendo num 2. Entonces creo que, ya sabes, medida que lo uses, parecerá más fácil. Hará mejores sugerencias. Es claramente contextos a todos porque sabe que num1 y num2 están en el documento, están en el programa. Por lo que sabe que puede sugerirlo más adelante. No por mis operaciones. 5. Tour de la estudio visual: en este video, vamos a estar vertiendo visual studio estará creando una sencilla aplicación de consola para C Sharp on. Estaremos mirando la interfaz y simplemente familiarizándonos con todos los botones y lo que hacen todos. No, mi estudio visual está usando lo que llamamos modo oscuro, que lo hace negro, por lo que el tuyo es probablemente plateado o blanco en la interfaz, y te mostraré cómo cambiar eso. Pero para no, esta pantalla se inicia cada vez que haces clic en visual studio a la izquierda, ves una lista de todos tus proyectos recientes fuera después de que un número de proyectos trabajando en, como que los colapsé. Entonces no es dedo del pie. Pon demasiado en la pantalla para mostrarla en este punto, pero la tuya probablemente estará vacía, pero tendrás la opción. Entonces la derecha pidiéndote que clones o compruebes abrir una carpeta de proyecto o crear un nuevo proyecto así que voy a hacer clic en crear un nuevo proyecto. Este lanzamiento son las diferentes categorías fuera de proyectos que están disponibles para ti. Por lo que en base al paquete que habrías instalado, es posible que veas más o menos de lo que tengo en mi pantalla. Tengo bastantes paquetes instalados en mi instancia de estudio visual, así que tendré más opciones. Pero para el propósito fuera de esta lección, queremos crear una aplicación C afilada cónsul para que en realidad podamos simplemente buscar en lugar de tratar de desplazarse y mirar e intentar averiguar cuál es. Podemos buscar, o podemos reducirlo seleccionando el lenguaje real que queremos el entorno para el que queremos desarrollar algo, en este caso, en este caso, ventanas en el con su escritorio o móvil. Así que vuelve a estar basado en los paquetes que habrías instalado. Entonces puedes conseguir ese filtro. Así que elegí la consola C Sharp Windows y luego tengo dos opciones. Tengo una consola dot net core up, y tengo una consola dotnet framework up. No, no. La diferencia entre el tour dot net core console up crea un proyecto que permite crear una aplicación de consola que puede ejecutarse en windows. Se ve en DMarc OS sobre el tradicional. Hasta que Corky Mobile era sólo el marco regular de dotnet, que creó un proyecto que puede ejecutarse en windows. Entonces solo voy a continuar con la aplicación tradicional dotnet framework para no on. Entonces podemos crear un médico core uno más adelante y comparar. Entonces me fui dedo del pie, proceda con el marco de dotnet. click siguiente, y luego le damos un nombre. Alguien que llame a esta consola de redes de prueba. Muy bien, entonces en el nombre del proyecto, quiere evitar caracteres especiales tanto como sea posible. Y además, probablemente quieras camello caso para asegurarte de que sea legible. Es muy sensible a los casos. Si camello caso o tienes una palabra de caso mixta, entonces ten la seguridad de que jugará un papel muy importante en hacer referencia a cualquier cosa dentro del proyecto en adelante. Esta podría ser tu ubicación predeterminada en función de tu uso ya, tu configuración más completa en tu computadora, quien siempre puedas ir a bro y cambiar a donde quieras que vayan tus proyectos. A continuación tenemos el nombre de la solución y te mostraré a qué se diferencia el nombre del proyecto del nombre de la solución. Pero en realidad podemos elegir un nombre de solución diferente como la causa del proyecto dentro de una solución, y la solución puede tener múltiples proyectos, por lo que estos dos no necesariamente siempre tienen el mismo nombre. Está bien, vamos. Entonces podemos seleccionar la versión desactivada, Hecho gratis, más que queremos. Por lo que se puede ver que tiene compatibilidad hacia atrás abierta hasta dotnet framework a punto. O como dije, cada marco tiene, ya sabes, el más reciente tiene bibliotecas más recientes y soporte para bibliotecas. Pero entonces lo que funciona en lo último en mí no funciona en una computadora más antigua, Y entonces lo que se hizo en las versiones anteriores podría no ser muy compatible con, digamos, Windows siete y Windows 10. Entonces, ya sabes, elige tus batallas temerosas. Ya sabes cuál es tu entorno. Pero tengo una computadora con Windows 10, y me gusta estar a la vanguardia de las cosas. Entonces dejo la mía en punto net framework 4.7 punto dos, y entonces no puedo echar un vistazo somero. Asegúrate de que todo esté bien y luego haz clic en crear. Una vez que se realizan todos los preparativos, Visual studio y lanzamiento en. Entonces veremos un expediente judicial seguido de ya sabes, esta maravillosa interfaz y algunas otras cosas. Entonces lo primero que voy a hacer, sin embargo te muestras cómo cambiar la oscuridad más si no estás ya en Dartmoor y te interesan , que puedas ir a herramientas, luego seleccionar opciones en luego la muy, muy primera opción en este cuadro de diálogo que te permite elegir a tu equipo universitario. Por lo que probablemente estés en claro o azul. Tienes contrastes azules y tienes oscuro para que puedas seleccionar ahí. Haga clic en Aceptar. Entonces obtendrás esta maravillosa interfaz contrastada. No. Otra cosa que tal vez no es que tu solución Explorer está a tu derecha menos a mi izquierda . Yo lo reorganizo de esa manera porque me resulta más fácil simplemente moverme a la izquierda para encontrar el archivo . A veces estoy mecanografiando cancha aquí y tienen que moverse todo el camino hacia la derecha. decir, es realmente es un mes de descomposición en flexibilidad en conjunto. ¿ Lo prefieres? No estudio visual. Te bajé para ponerlo de la manera que lo prefieras. Así que en realidad se puede drogar cualquier, um, dolor. Se llaman campeones. Se puede drogar droga, cualquier dolor, y luego se puede atracar donde él quiera. Verás, estos pequeños, um, cuadrados son enredos. Si los arrastraste al espacio que tipo de ponerlo justo en esa sección que se designa derecha o simplemente puedo dejarlo ahí flotando. Pero es más para humbug aquí en medio de la pantalla que nada. Entonces me gusta mi a la izquierda para que puedas hacer eso si así lo deseas. Si quieres más bienes raíces, a veces tienes razón en la corte y los europeos están al lado, ya sabes, abiertos así. Bajo llévatelo demasiado espacio puede que no tengas una pantalla grande encendida. ¿ Quieres más espacio para hacer ciertas cosas Siempre puedes simplemente unp en él. Entonces ya ves, este pin está viendo alturas de auto. Puedo hacer que se oculte automáticamente cuando eso cuando lo necesito, solo hago clic en él y sale. Hago lo que estoy haciendo y luego se remonta. También verás que tengo otros alfileres que sabes que quizá no tengas. Entonces a medida que surge la necesidad y sientes que necesitas un dolor, solo puedes ir a la vista del dedo del pie y luego encuentras el dolor que quieres. Entonces, por ejemplo, tengo uno aquí que es un explorador de objetos de servidor de secuela en. Eso es como un mini sistema de administración de bases de datos dentro de visual studio Para este tutorial, no necesitarás eso. Pero Y para otros proyectos en los que trabajo, lo uso. Entonces cuando lo amplío, veo cosas ahí dentro. Pero entonces no los voy a usar para esto para este set off lecciones. Ahora bien, este expediente judicial al que había aludido antes de este es nuestro expediente de corte medio para nuestra consola arriba . Entonces si quiero aumentar el tamaño de la diversión, solo puedo aferrarme al botón de control y atornillar y ya ves, puedo fastidiar, se sabe que aumentan o disminuyen el tamaño de los fondos. Entonces solo voy a aumentar un poco su para que todos podamos ver exactamente lo que está pasando en mi pantalla en la solución Explorer. Ves que el nombre del archivo coincide con el nombre de la clase. Está bien, así que no te voy a enseñar acordes en esto, particular menos tiempo. Tan sólo tratando de señalar a algún acusado visual para asegurarse de que cuando los veas, sepas exactamente lo que necesitan. ¿ Verdad? Por lo que tenemos el programa dot CS y ver padres afilados se almacenan como punto CS los archivos de clase obtienen extensión. Eso sí. Pero luego ves que tienes otros archivos con diferentes extensiones, como no config on. A medida que pones cada vez más en tu proyecto, entonces vas a ver diferentes extensiones de archivo para diferentes propósitos. En ser un poco más de atención a la solución. Explorer, te das cuenta de que tienes y yo solo amplío poco menor. Tienes la solución y luego tienes y sí tiene nombres. Se trata de una consola de pruebas de soluciones. Pero luego bajo eso, ves que tiene otro como un niño, ¿no? ¿ Ves esa sangría que sugiere que se trata de un niño fuera de la solución? Entonces este es el proyecto que luego tiene los archivos del proyecto. Entonces decía antes que la solución no necesariamente tiene que tener el mismo nombre que un proyecto. De hecho dentro de la solución, realidad puedo hacer clic y eliminar un proyecto si quiero, o puedo agregar otros proyectos. Entonces si quería consolar ups, pero los quiero bajo la misma solución. Entonces cuando abro la solución, que es mi colección general fuera de proyectos que vería cada uno de los proyectos. Podría tener uno para saludar, mundo Uno para hacer mi para hacer otras operaciones. Y así es exactamente como vamos a estar construyendo un barco sobre aplicaciones en las que abusar una solución. Entonces sólo vamos a agregar un proyecto por ejemplo de corte que vamos a estar haciendo no en la parte superior. Y estoy hablando de esta sección que está debajo de nuestra barra de herramientas y ves los pequeños iconos que conoces, tienes ese icono seguro que has guardado todo eso va a guardar todos los archivos. Entonces si tienes múltiples fuegos abiertos y lo que sea, solo quiero hacer uno de mis mariposas Vitter sí guardar todo. Pero luego te das cuenta de que le dan cortes de tiburón de teclado en el camino. Entonces ya sabes, es fácil simplemente hacer. Controla s mientras estás escribiendo cable que para dejar de seguir adelante desde el teclado e ir hasta aquí. Disciplina para salvar o para salvar a todos. Por lo que en el camino, te voy a estar mostrando un tiburón de teclado. ¿ Qué es para que puedas, ya sabes, hacer más eficiente tu experiencia de acuerdo? No, A medida que continúas desde el botón guardar, ves que tienes algunos ajustes de configuración que tienen Deedble año de lanzamiento. Tienes alguna CPU, por lo que la cargan tipo apagado. Determinar. De acuerdo, ¿qué ajustes debo simular cuando estoy a punto de iniciar mis programas? Entonces, ¿ves eso? Pero con la flecha verde y dice, Start, puedes simplemente hacer clic en eso cuando quieras. Ah, en realidad, aplicación Rohner o puedes presionar f cinco. Entonces sólo voy a empezar este. Por lo que note generaría cualquier cosa, comprenda iniciarlo para que pueda ver cómo se ve el estudio visual cuando está iniciando un programa. Por lo que pasa. ¿ Qué? Porque una construcción donde compila toda tu cancha, fuera de la cancha fans que tienes en el proyecto uno en, entonces se verá. Muy bien, ¿Hay algún error o error de sintaxis que necesite? Después lanza lo que se llama esa consola para que los consulados, como comando, pidan un aviso. Se destelló fuera de la pantalla porque, bueno, hizo exactamente eso. Se puso en marcha la consola y luego miró por dentro nuestra función principal. La función principal no te dijo que hicieras nada, así que vino en la pantalla. Entonces eso es eso. Nada que hacer así se apagó para que así las aplicaciones de consola estuvieran encendidas Irán. Hacen una tarea hasta que están completando la mitad. Completó la tarea en, luego simplemente salen automáticamente. Ahora ese es un recorrido muy rápido fuera del estudio visual. Tenemos, ah, mucho trabajo fuera y mucho ponernos al día. Entonces voy a terminar con este de aquí en adelante. Entonces, cuando regresemos, empezaremos a escribir o algunos programas puntiagudos de C. 6. Escribe un programa de Hello World: en este video, vamos a estar creando nuestra primera aplicación de consola. Entonces empecemos de inmediato. Sube visual studio encendido, luego ve a crear un nuevo proyecto, y luego podemos reducirlo para decir consola arriba. Entonces tal vez ya lo hiciste. A lo mejor no lo hiciste. Eso está bien. Pero siempre puedes simplemente ir a ver ventanas afiladas y cónsul insolente en este 3er 1 o solo puedes buscar consola, y luego narrará No por ti. Ahora vamos a empezar con esa consola de Dr Core en este momento, así que selecciono consola up dot net core fleet siguiente, y luego la nombramos de manera diferente esta vez. Entonces tenemos nombres de un proyecto. Voy a llamar a este uno Hola mundo. Ese es nombre fuera del proyecto. Pero entonces voy a tener múltiples proyectos debajo de mis soluciones. No quiero que mi solución se llame Hola Mundo en. Entonces voy a tener múltiples proyectos con otros nombres, así que nombrar es muy importante. Ayuda a identificar exactamente en qué estás viendo. Ya sabes, sólo hace la vida más fácil. Más o menos. Voy a llamar a toda esta solución de programación de consola porque una vez más. Vamos a tener esta solución con un montón de proyectos orientados hacia programas de cónsul de aprendizaje de Estados Unidos . Por lo que el nombre de la solución una vez más es la programación cónsul. Pero el proyecto que estamos creando en este momento se llama Hello World. Entonces solo voy a dar clic a crear en un estudio visual bajo para hacer lo suyo. Nadie visual studio lanza nuestro proyecto. Van a ver algo muy, muy, muy único. Te das cuenta de que ya lanzó nuestro programa que acabamos de decir Vamos a escribirlo Está imprimiendo hola mundo a la consola? No, yo sólo quería Antes de mirar a la cancha, sólo quiero señalar que la solución va de pie a nuestra solución. Explorer va a tener un look ligeramente diferente. Entonces si estás acostumbrado a dot net framework, sé que estás usando dot net core que los archivos. El Leo para mí luce un poco diferente, pero en última instancia son los mismos conceptos de set off. Tienes tu programa ese archivo CS, y ese es el que viene abierto. Cuando el estudio visual se lanza. Vemos que tenemos una clase llamada Programa on Did tiene una función llamada media en DSO significa se llama una vez que tu aplicación lanza lo que está dentro fuera del ejército y la función es lo que se despide. Muy bien, Si expandes la dependencia es entonces verás que tienen dependencias, marcos y luego básicamente cualquier biblioteca que te refieres a querer. Entonces a veces se quiere hacer algo en particular en Alguien tiene lo que llaman biblioteca. Ese donar ya. En realidad puedes incluirlos y luego usar la biblioteca. Pero eso es para más adelante. Sólo te estoy dando una apreciación de lo que estás mirando, verdad? No. Entonces no necesitaría ver exactamente qué pasó. Por lo que una vez más o cable es consola punto línea derecha encendido. Entonces abrimos la brisa y que tenemos unas comillas. Eso es un hola mundo cerrar comillas, flujos. Prepárate, luego semi colon. Entonces voy a explicar qué significa cada token, pero sólo quiero que veamos cómo funciona esto primero. Por lo que una vez más para ejecutar, solo voy a ir y hacer clic en el botón de inicio. O podemos angustiar a F cinco en nuestro teclado. Dejamos que se construya. Está bien, vamos. Entonces obtenemos nuestras consolas son consola una vez más se ve algo así como símbolo del sistema. Si alguna vez tuviste que usar problemas de comando? Ya conoces esa pequeña caja negra donde tienes si el comando tipo y ejecutar. Entonces eso es lo que es el programa de consola. Entonces estamos viendo aquí. Microsoft Studio, Microsoft Visual Studio Lo sentimos, Debo consola en. Entonces vemos que está imprimiendo hola mundo, y luego nos da algunos datos sobre dónde lo está imprimiendo de en adelante. ¿ Sabías que se cerrará automáticamente al depurar al presionar cualquier dedo clave. Cierra esta ventana para que pueda expresar entrar en esa ventana con desaparecer y estamos de vuelta donde empezamos. Ahora déjame tomarme el tiempo o para explicar exactamente qué se está escribiendo aquí. Aviso uno. Ese tipo de estudio visual intenta darte codificación de color y ver que es bastante colorido tener textura azul de tomas blancas. Tienes no sé de qué color ese es cualquier tipo de tener texto de aspecto amarillento, tu sugerencia de código, Zar, tu codificación de color podría ser diferente en función del tema que estás usando. Entonces si estás en el equipo de luz o en el tema azul, entonces tu cita de color puede no ser la misma que la tengo aquí, pero solo ten una apreciación por lo que se codifica por color. Por lo que tenemos espacio de nombre espacio espacio nombre se refiere al más o menos el proyecto y luego por extensión, la carpeta en el proyecto. Entonces si tuviéramos un pliegue en este proyecto con un archivo de clase ahí dentro que el espacio de nombres sería hola mundo dot ese nombre de carpeta. Por lo que el programa CS está directamente dentro de nuestro proyecto. Entonces el espacio de nombres es sólo Hola mundo. Muy bien, tenemos clase. Por lo que nuestras clases una colección fuera de lo que llamamos propiedades sobre funciones. Pero no voy a dar clases todavía, sino nuestro programa de clases de primera y mayor, porque eso es lo primero que se despide cuando se va a ejecutar una consola arriba y luego dentro de programa, tenemos vacío estático significa en él toma algunos arcos, ¿verdad? Entonces no quiero que vea detectable lo que significan los arcos. Pero sólo tienes que saber que si vas a modificar algo en este archivo, no modifiques el nombre de la clase. No modifico la función media. Puedes hacer cualquier cambio de pedacito que quieras dentro de fuera aquí dentro fuera de la función principal, y sabemos dónde estamos dentro porque ves el corsé abierto en el corsé de ropa aviso. Es una especie de insinuación dónde se cierra el corsé. Es tratar de hacer todo eso para que te ayudes a no cometer ciertos errores o al menos encontrarlos rápidamente. Por lo que el espacio de nombres tiene un corsé abierto, Onda cierran brisa y dentro de los tenemos la clase puesta que se abre y se cierra, luego dentro de fuera de la función. Por lo que esta es una función de conocemos funciones porque tienen la brisa abierta y el corsé de ropa por dentro la función principal. Bueno, tienes llaves rizadas, tienen brisa son paréntesis, así que a veces los usan para cambiar eso. Me acabo de dar cuenta de que los uso astutamente indistintamente. Entonces tenemos los tirantes rizados y luego tenemos los frenos regulares son la enfermedad de los padres. Muy bien, entonces conocemos funciones porque tienen paréntesis y pueden o no tener valores dentro fuera de lo abierto y lo cerrado. Entonces en este caso, la media tiene valores encendidos. No tenemos que molestar eso. Entonces, después de declarar o funcionar, tenemos calibrados abiertos y calibrados cercanos. Entonces definimos qué debe hacer esta función dentro de esas llaves. En este caso, dijimos, Hacer una impresión a la consola Ese es su hola mundo. Por lo que nota tenemos clase on somos función Aviso. El programa de codificación de color es una clase sobre media es una función. Eso lo estoy señalando porque si miras la codificación de color, sí te das cuenta de que la consola es una clase. El world console es una clase en la línea correcta es una función, y sabemos funciones porque una la llamada según May se ve igual. Y si no lo hace por ti, está bien. Pero nuestra forma de conocer una función en cualquier acorde C agudo que estás mirando es ver que tiene a Perrin para apoderarse después si tiene o no valores ahí dentro. Esa es una historia diferente, así que en realidad podría decir Bright line on entonces eso simplemente sería tranquilo. De acuerdo, entonces la tierra derecha es una función porque tiene los paréntesis abiertos y cercanos puestos. Si quería definir el texto que quiero escribir en las consolas y ver literalmente esta es la consola, llama a una consola encendida, derecha. El renglón que estoy poniendo adentro fuera de la apertura y cierre. Los aparatos ortopédicos son paréntesis. Entonces voy a poner de nuevo hola mundo en eso es todo o equipo de programa, Muy bien. No, quiero anotar los puntajes porque, ya sabes, todos estamos empezando c agudo. Yo quiero mirarlo mañana y recordarlo. Ah, eso es lo que pasaba aquí. Entonces solo puedo poner en lo que llamamos un comentario usando slash. Cortar. Muy bien, entonces. Puedo escribir cualquier cosa quiero que alguien vea imprimiendo dedo del pie cónsul pantalla. Entonces esa es nuestra pantalla impresa una consola. Puedes usar la slash slash. Y si querías escribir un párrafo, tal vez querías que el dedo fuera un poco más explícito. Hable lo que es todo. Entonces puedes usar la tira inclinada que un asterisco encendido. Entonces en medio de esas puedes tener tantas líneas como necesites. ¿ Todo bien? Simplemente escribiendo algo alrededor de otras cosas en. Entonces solo asegúrate de cerrarlo con el asterisco. Onda slash. Muy bien, Ahora notan que cuando les estoy enseñando cómo hacer las cosas, siempre abriré y cerraré al mismo tiempo. Y eso es evitar cometer un error olvidarse del dedo del pie, ciérralo. Por lo que a veces nos dejamos llevar empezamos a escribir cotización y abrimos el corsé rizado en la derecha en, Justo en. Correcto. Y no cerramos la brisa actual. Entonces, más adelante, estamos recibiendo errores que se preguntaban, ¿por qué estamos recibiendo errores? Porque todo se ve bien. Entonces solo te voy a mostrar a qué me refiero obteniendo errores. Y la esperanza es que tu estudio va sobre mostrarte que tienes errores. Entonces si me olvido de cerrar un aparato ortopédico, tal vez me olvido de los índices de parte desapercibidos. Toda línea termina un punto y coma, pero cuando tenemos líneas múltiples se ponen más atención a eso. Entonces uno se ve que algunas líneas empiezan a aparecer. Entonces cuando tienes líneas rojas en estudio visual, eso nunca es algo bueno. Pueden aparecer porque la sintaxis es incorrecta. Entonces la línea roja aquí está diciendo que Hey, sabes que algo anda mal. No estoy del todo seguro de qué, pero hay algo por ahí. Siempre puedo ir a la lista de épocas, y luego me va a decir que hay una charla esperada y en algún lugar así que si hago doble clic que me va a traer del pie la línea que la flecha es esa. Pero esto no es del todo donde está la flecha. No obstante, me puede comprar esto y decir aquello. De acuerdo, Cuando hago clic en este cerrar uno, es mucho ing revelar uno lo cual es inexacto porque tengo un corsé rizado aquí. Sé que cuando hago clic en este, está mucho metido en esto. Entonces eso significa que faltan unas llaves de crédito en algún lugar así que solo puedo presionar enter on. Entonces puedo poner sobre el corsé rizado y notarlo. Por lo que todo realineó así visual studio realmente se dará cuenta de todo porque entonces se da cuenta. OK, ¿entonces estás cerrando éste? No. Entonces déjame realinear, reinventar todo para que puedas ver exactamente dónde empieza y se detiene tu cancha. sangría es muy importante. Hace que ahí pudiera parecer limpio. Andi legible. No. Dos cosas más Observe que tenemos un poco de asterisco al lado del nombre del programa o de la cancha finalmente y más bien en ese asterisco es sólo un indicador de que este incendio ha sido modificado. Por lo que siempre puedes saber qué archivo no se ha guardado. Cuando miras el archivo, nombra la tina y ves que ásteres siempre puedes guardar guardar todo. Si tiene varios archivos o si ha realizado modificaciones en usted, haga clic en Ejecutar. Entonces se guardará automáticamente. Volver a compilar el, luego permitir que proceda. Entonces si tengo algunos personajes ilegales aquí, acuerdo? Y acabamos de mirar a Eros. Veo líneas rojas. A lo mejor pensé que escribía cotización correctamente, pero visual studio lo ve como ilegal. Entonces se va a uno. Permíteme retenerla sobre ella y darme posibles correcciones. Entonces voy a bajar esta pequeña Esta es la bombilla cuando va a sugerir algo que algunos incluso saben. Las sugerencias suelen ser como agarrarse a pajitas porque sus errores que visual studio conoce, como tal vez declaraste algo de manera incorrecta. Entonces dirá: Oh, Oh, ya veo que declaras esto, pero no hiciste este paso. ¿ Quieres que lo haga por ti? Entonces dices Seguro, y lo hace por ti. No obstante, en esta situación, se trata de texto aleatorio. Visual studio no sabe qué hacer. Entonces no, ninguna de estas sugerencias fueron realmente arreglar el problema. Otra cosa a tener en cuenta es que si intento toe ejecutar donde hay errores, hará la construcción. Y entonces me dirás que hubo errores. ¿ Quieres ejecutar la última compilación exitosa? Tiendo a siempre dar clic. No, porque no tiene sentido. Corro el último proyecto de ley exitoso. Si estoy tratando de construir mi bit actual fuera de cancha, así que haces clic en No en, entonces te va a mostrar como con el europeo, diciéndote que tienes algunas flechas. Hay un cínico y esperado todo bien, así que al menos está en medio de un difícil escribir código. Reaccionó adecuadamente. Pero entonces la lista de ERA sigue diciéndome que faltan cosas. Aquí hay algo que no puede hacer frente. Entonces si me quito esto o solo puedo comentarlo, hazlo ya sabes, nuestra déjame usar el otro comentario así que acabo de entrar en la garganta. Entonces esa es una forma de comentar, y esta es otra forma de comentar. Después se restaura Orden. Y si miras aquí abajo, son pequeñas pistas visuales en el camino para decirte cuántos temas tienes ahí. Dime que no hay temas telefoneados. Sé que arreglé mi tierra. Simplemente voy a ejecutar mi aplicación de consola una vez más y luego vemos que tenemos nuestra hola mundo imprimiendo a la pantalla una vez más. Segundo, pulse enter. Ahora bien, si alguna vez quise encontrar este proyecto encontrara los archivos. Ya sabes, tengo el proyecto de la solución del proyecto, pero no quiero abrirlo en estudio visual. A lo mejor quiero ponerlo en una unidad flash. Yo quiero moverlo físicamente, auto algún dispositivo de almacenamiento para que pueda usar hecho otra máquina. Entonces podemos fácilmente simplemente hacer clic derecho en la solución. Después se ve archivo abierto en las exportaciones de archivos. Cuando hago eso, inicia mi archivo Explorer mostrándome este archivo, y voy a ver si puedo acercar un poco para que veas cómo se ve el rápido. Mejor. Entonces, este es el logotipo más atemporal de la comunidad darknet. Este es el logotipo que representa un archivo de solución. Una vez que haga doble clic en el archivo de solución, iniciará Reserve studio. Andi básicamente lanzó los proyectos que están dentro de esa solución. Entonces esa es una forma rápida de volver a tu proyecto en el que estás trabajando en ti. Simplemente encuentra la ubicación física. Dondequiera que lo almacenaras, haces doble clic en el archivo de solución, y luego lanzará visual studio con todo fuera del cable que has escrito aviso. Hola. El mundo está en su propia carpeta en Eso es porque es un proyecto. Por lo que cada proyecto será conseguir poner su propia carpeta en todos ellos estará en una carpeta junto con el nombre fuera de la solución. Por lo que la solución fue la programación cónsul, se creó una carpeta. Después me dio una solución. Archivo notado. Extensión es que s l N on entonces, para cada proyecto, me da una carpeta con ese nombre. Entonces, como dije, el nombramiento es muy importante. Entonces esos nombres son dinero ayunando afuera, fuera de estudio visual encendido. Entonces si miro dentro de esta carpeta, quiero ver un montón fuera Poco rápido. Pero volveremos a esos rápidos en lo que realmente se trata. Eso es todo por construir una aplicación de consola hello world y entender el estudio visual poco más. A continuación miramos cómo escribimos un programa para recibir datos de un usuario e imprimir algo de vuelta a la pantalla. 7. Programas de entrada y salida: en este video, vamos a estar creando un proyecto que recibirá la entrada del usuario en impresión. Algo de salida. Partiendo de nuestra carpeta donde se creó nuestro proyecto. Porque quizá apagaste la máquina. Fuiste a cenar. Han pasado días desde la última vez que estuviste en estudio visual el. Entonces solo quiero mostrarles cómo pueden relanzar su proyecto desde el sistema de archivos. Andi, ya sabes no tener que entrar en visual studio y fuente para que solo pueda volver al sistema de archivos, encontrar la solución y doble clic que te lanzará resultados, y que relanzará nuestro proyecto o con nuestro proyecto y todo lo que estábamos haciendo. Por lo que cada vez que sigas adelante y corriges código y guardas y te re lanza solución, puede relanzar con todas las pestañas EOD abiertas o los archivos de la corte y todos los proyectos y todo lo que tengas. Ahora vamos a poner un nuevo proyecto dentro de la solución para que podamos probar nuestro derecho un nuevo programa. Entonces este fue nuestro aviso de programa hola mundo en un comentario aquí en algún texto estático son algunas tomas aleatorias. Estaba dando problemas que se ha metido en la garganta, pero eso es todo por el mundo hola. Entonces pasemos a uno nuevo. Alguien directamente la solución. No, no es el proyecto. Este es un proyecto. Tengo razón. Haga clic en la solución algunos, o observe que en realidad es solo un incendio de conflicto. Entonces tengo razón. Haga clic en la solución en con el clic. Agrega, entonces voy a decir nuevo proyecto. Entonces trae consigo este menú que deberíamos estar familiarizados con este cuadro de diálogo con el que deberíamos estar familiarizados con preguntar. De acuerdo, ¿qué tipo de proyecto quieres esta vez? Por lo que voy a seleccionar una vez más, consola up dot net core Click next on. Entonces Esta vez quiero que el nombre del proyecto sea entrada Viejo pone salidas de entrada. Eso es un error ortográfico, así que quieres asegurarte de que tienes razón. Correctamente, ¿verdad? Nombrar es importante el. Entonces hago clic en crear en. Entonces consigo una cancha nueva por primera vez notado. Es una especie de estándar para venir con Hola mundo Hola Mundo es probablemente la primera frase de programación que la mayoría de la gente aprenderá cuando estén aprendiendo un nuevo lenguaje sostén para imprimir Hola Mundo a la pantalla. Pero dicho eso, solo quiero ir a la ciudad alguna vez. Moto aprecia lo que está pasando aquí. Por lo que nota tengo un nuevo programa que CS archiva. Todavía tengo mi existente en ese entonces. Entonces no es para cumplir con el error, y se asume que ambos eran idénticos. Ambos eran muy sabidos Ambos tenían el mismo tribunal en su Cómo sé cuál pertenece a qué proyecto. Por lo que cada vez que aplicación de consola son proyecto. Vas a conseguir el programa dot CS archivo Andi, va a venir con una función media y digámoslo estándar para que diga hola ¿ Eran estos? Hemos visto que con la plantilla de núcleo darknet, podemos usar esta lista desplegable Mira en qué proyecto se encuentra. Por lo que este programa que cese el fuego pertenece al proyecto hola mundo. Si voy al siguiente, se ve que pertenece al proyecto de entrada salida. Si los cierro ambos onda almacena este archivo que es un archivo de proyecto en. No tengo archivos abiertos entonces desde la solución Explorer, puedo ir específicamente dedo del pie qué proyecto quiero y luego seleccionar el programa que archivo CS. Muy bien, entonces así es como puedes gestionar múltiples proyectos. Onda aprecia de dónde viene el fuego para que no cometas errores va bien, no quieres estar escribiendo, um, entrada todo pone cosas por dentro. Hola World programa dot CS on. Entonces cuando estás corriendo, te preguntas ¿por qué no funciona la cancha? ¿ O por qué no está detectando el código que escribiste? Y eso es sólo porque lo escribió en el programa equivocado, ese CS cinco Así que quieres ser muy cuidadoso y muy atento? Um, Y a medida que construyes más y más aplicaciones, incluso aplicaciones más avanzadas, vas a tener múltiples proyectos. Simplemente quieren ser muy cuidadosos y seguros dónde está cada archivo. Ahora, empecemos. Yo sí dije que queríamos escribir algo para obtener la entrada del usuario, luego imprimir de nuevo a la pantalla. Entonces déjame solo quitar hola mundo. Entonces vamos a estar aprendiendo algunas cosas aquí. Vamos a estar aprendiendo sobre una variable para hotelar prompt para insumos. Recibirlo del usuario en luego tres. Cómo imprimirlo de nuevo a la pantalla. Entonces empecemos con variables, y solo pongo comentario. Variables. Una variable es como un pequeño contenedor son, y así cuando queremos datos del usuario, tenemos que crear un contenedor en. Entonces usamos eso, contrario a almacenar el valor que nos dio el usuario. Entonces, por ejemplo, si quería un nombre, entonces necesito una variable on Soy Tiene sentido simplemente llamarlo, Nombrar el nombre fuera de mi condado y por lo tanto el nombre de alguien es el nombre no están encendidos entonces, Más allá de eso, necesito definir un tipo. Entonces, ¿qué tipo significa el tipo de datos fuera que estoy esperando? Entonces si quiero el nombre de alguien, entonces ese es un texto, porque estaré escribiendo cartas, ¿ verdad? Entonces cualquier cosa que sean letras es tipo de texto o una cadena. Por lo que en C agudo, llamamos tipos de texto. String cuando quieres toma de alguien necesitas un bolsillo son ese contenedor, y necesita poder almacenar lo que llamamos una cadena o texto no son así. Empecemos con todo declaramos una variable. Primero definiré los tipos de datos O C. Sharp como mucho fuera de los tipos de datos, y es bueno saber cuándo usar cuál. Por lo que solo nos doy un caso de estudio para la cadena de tipo de datos. Entonces digo, string on, luego le doy el nombre. Entonces quiero alguna variable que se llama Calle ahora se llama nombre Lo sentimos en su es off data type string. No te has dado cuenta ya de que tienes algo llamado cadena en nuestros huevos antes. Entonces ese era el tipo de datos en nuestros huevos serían sus nombres de variables. Entonces en este caso, estamos haciendo nuestro propio verbal diciéndole que Ok, declarar un bolsillo en la memoria on llamarlo nombre en él debería poder almacenar cualquier cosa que sea un texto. Entonces quiero nombre. Esa es una. Entonces voy a ver ser variables claras y luego puedes tener múltiples variables. Puedes tener tantas variables como quieras, verdad? Pero entonces vamos a mantenerlo simple. Entonces queremos el nombre encendido, entonces me voy de pie. Quieres almacenar lo que el usuario está entrando en la consola en mi bolsillo llamado nombre. Por lo que necesito asignar los datos que se recopilan desde la pantalla de la consola dentro fuera necesidad, para que nunca queremos almacenar datos dentro del Skonto. Ya sabes, decimos que contienen un nombre o nombre de variable. Por lo que este es nombre es igual a on. Entonces si estoy recibiendo entrada, voy a llamar a mi consola. Por lo que obtenemos esta consola de clase. Recuerda que cuando estábamos imprimiendo a pantalla, teníamos consola como nombre de clase. Entonces Cónsul, una vez más después dije punto Y entonces esto es todo call intelligence donde me está diciendo todas las cosas potenciales que puedo hacer con mi clase de cónsul. Entonces lo que quiero hacer esta vez la última vez que estuvimos escribiendo líneas. Entonces si te desplazas hacia abajo, ves la línea correcta y ves a la derecha. Pero esta vez quiero línea de lectura del dedo por lo que verás que tienen opción. Líneas de lectura de Is. Puedo hacer doble clic en eso, y luego aparece la línea roja porque está diciendo Bien, veo línea de lectura. Pero el contexto que habla el sol no es correcto, y eso es porque es una función, así que necesito mis paréntesis abiertos y cercanos. Entonces puedo usar mi semi colon. Entonces sí dije que pondría atención al punto y coma. Cada línea que más escribes termina con un punto y coma. Hay excepciones, pero para no. Sólo sigamos esa regla. Cada línea que más escribes tiene un punto y coma. Entonces veremos las excepciones a medida que avancemos en celiente. Realmente sólo una cuestión de práctica para ponerse cómodo con cuándo usar tu cínico y cuándo y cuándo no dedo del pie no. Después de que hayamos conseguido el nombre, entonces quieres imprimirlo de nuevo a la pantalla. Entonces voy a la siguiente línea. Entonces esto es Déjame solo poner los comentarios a medida que voy consiguiendo valor de entrada o déjame ver. Sí, subir, almacenar, subir, almacenar valor de las entradas. Está bien, entonces eso es lo que estamos haciendo en esta línea. Entonces la siguiente línea es imprimir valor, nuestra pantalla de consola de valores toe. Por lo que hemos conseguido el valor en que lo almacenamos. Sé que queremos una caja impresa, así que lo genial es que puedo almacenarla, puedo cambiar el valor, y siempre puedo manipular lo que sea que esté aquí antes de imprimir Buck. Y ese es el valor de tener la variable. Entonces no, quiero imprimir de nuevo a pantalla. Y lo hicimos. Ya imprimimos la pantalla. Hicimos imprimir hola Mundo, así que solo podemos seguir ese mismo patrón en decimos consola acoplada. Recuerdo que la impresión era la línea correcta y ver Inteligencia me está ayudando a escribir línea, y entonces es una función. Entonces necesito mis tesis R N y luego su corte me insinuara y me dijera eso. OK, lo que necesitas dentro de aquí es un valor de cadena. Entonces sí pusimos hola mundo dentro de comillas y eso es lo que la cadena es su texto. Como dije. Entonces cada vez que uno toma, necesitamos abrir y cerrar comillas sobre eso podemos escribir cualquier cosa que queramos cualquier secuencia numérica Alfa y los caracteres especiales quieran. Una vez que estén dentro de las comillas, C agudo dirá algo así: Bueno, Bueno, eso es estático. No se supone que toque eso porque eso es lo que mi maestro siendo tú me quieres huella de dedo . Está bien, así que voy a quitar esto y voy a hacerlo para poder poner la sentencia, ya sabes, lo que yo quiera. Sí dijimos hola mundo la última vez, Pero lo que quiero imprimir no es estático no quiero determinar qué estoy imprimiendo aquí porque estoy recibiendo algo del usuario en adelante. Quiero imprimir lo que me dio el usuario. Entonces en lugar de usar mis comillas. Y si encontrarte sabes, esta es una estática de bajo costo, ¿ verdad? Entonces es extático. No se puede cambiar contra si escribo hola mundo y hola, se imprimirá ER. Si escribo mi nombre manualmente, entonces obviamente estoy pasando por alto lo que se insertó a través de la consola porque cualquiera puede venir y usar este programa. Poner ese nombre en esto siempre sólo imprime viajes o Williams, independientemente de qué valores dentro de nombre. Entonces lo que queremos hacer es imprimir el valor dentro fuera nombre a la pantalla en el momento en que eso se hace es poner realmente los nombres de las variables, por lo que consola esa línea correcta encendida. Después ponemos el aviso muy soso. Una vez más, necesitamos un valor de cadena, pero sí tenemos una variable de cadena. Por lo que hay dos formas de conseguir la cuerda. Podemos usarlo un significado estático. Lo que pase aquí nunca cambiará hasta que vuelva a la cancha y lo cambie, o bien puedo usar una variable off type string. Muy bien, así que acabo de declarar una cadena justa por encima de tipo. Recibió alguna entrada de cadena de algún usuario en. Voy a imprimirlo de nuevo a la pantalla. Por lo que una vez más, cada línea de manera interesante, Colon, un estudio visual C semi cínico y se espera. Entonces me puse que están encendida. Entonces solo ejecuto ningún aviso de que el inicio aún tiene el hola mundo. Entonces si ejecuto tema solo voy a imprimir Hello World, solo va a ejecutar el Programa Hello World. Tenemos múltiples proyectos y en este punto quiero ejecutar input o ponerme no hola mundo. Entonces lo que necesito hacer es cambiar el inicio del proyecto de Hello World a input output. Entonces voy a hacer clic derecho de salida de entrada en, luego seleccionar el arriba la opción que dice dicho, iniciar set como iniciar un proyecto. Entonces hago clic en eso y se dieron cuenta de que esto no hay negrita así que antes del infierno Oarlos board. No, éste es ambos. Entonces esa es una manera agradable, rápida de saber cuál es el inicio del proyecto en el aviso de que contextualmente el texto del botón de inicio también cambió. Por lo que puedo hacer clic en input output art. Entonces mi programa, ya empezó y solo se va a sentar ahí con una pantalla en blanco, solo parpadeando y esperando. Entonces lo que está haciendo es esperar en la línea del lector. Por lo que ya declaró nombre. No vas a ver una pista visual fuera de la variable que se declara Te vas del dedo del pie para siempre. La línea de lectura sólo va a esperar hasta que sean alguna entrada, seguida de una tecla enter. Entonces si me pongo déjame poner ah, ficticio cerca de Archibald Gordon encendido, entonces presiono enter. Entonces ejecuta. Veo imprimir a Archibald Gordon. Pero la pantalla No, esto no es muy intuitivo porque solo estaba en blanco. Estás esperando ¿qué exactamente no estaba esperando? Por lo que siempre es bueno darle a tu usuario una cue visual para decir, Por favor, introduce tu nombre o algo así, ¿ verdad? Entonces lo que voy a hacer es por encima de esta línea donde estoy recibiendo datos, voy a poner una consola derecha tierra para imprimir para serigrafiar el prompt. Por lo que conseguimos este un prompt por lo consola punto línea derecha, llaves abiertas o paréntesis abiertas en. Entonces quiero el texto estático que ve entrar tu nombre. Entonces digo, por favor, por favor, puedo decir por favor ingresa cualquier marca y sea cual sea tu prompt, es tan obvio, cada vez que ejecutes un programa o usas un programa cuando te estás sintiendo una granja en el Internet, sea lo que sea que estés haciendo en una computadora, siempre te dan una pista visual para decir, Esta es la fecha que te estoy esperando de ti, ¿ verdad? No. Entonces estoy viendo entrar tu nombre y luego esta línea necesita antes de lo mejor en el colon on. Entonces me voy de pie a esperar a que ingreses tu nombre. Entonces una vez que hayas hecho eso, me voy a volver a imprimir tu nombre a la pantalla. Entonces intentemos eso otra vez. ¿ Todo bien? Entonces no, dice, ingrese su nombre porque corrió esa consola de línea derecha. Introduce tu nombre. Sé que me está esperando para entrar algún valor somático y almacenarlo dentro de mi variable en, luego imprimirlo de nuevo a pantalla. Entonces esta vez voy a usar Kim arma de alimentación temprana, y luego voy a presionar enter on. Después te das cuenta de que imprimió la figura de Kimberly y de vuelta a la pantalla. Entonces no, todavía no es muy intuitivo porque no sé cuál es cuál. Al igual, Vale, estoy mirando en la consola como Kimberly Figure y acabo de ver repetido. ¿ Qué? ¿ Para qué sirve la repetición? No es muy intuitivo. Siempre quieren poner en pistas visuales, queridos usuarios para que sepan exactamente lo que están mirando en cada punto. Entonces solo voy a ir del dedo del pie a cerrar esto en llaga. Entonces lo que voy a hacer es Putin otra consola, tierra derecha o poner más texto en esta consola línea derecha para asegurarme de que ese contexto solo tú sabes exactamente lo que estás mirando. Entonces lo que voy a hacer es agregar otra línea derecha de consola y luego esta vez realmente va a hacer consola, verdad? Entonces tienes consola dot tengo línea derecha, pero también tienes derecho? Entonces voy a hacer nuestro derecho y mostrarles la diferencia en la derecha en la línea correcta. Entonces la derecha va a ver que tu nombre está encendido, luego el semi colon encendido. Entonces estamos escribiendo una vez más a la consola, el nombre que se ingresó. Entonces intentemos eso otra vez. ¿ Todo bien? Entonces, no, decimos que ingrese su nombre, entonces Ok. Esta vez es Paul Oficial y luego entramos primero. Y luego vemos su nombre es Colon Paul Bishop. Sin darse cuenta de que cuando hicimos consolar esa línea correcta, automáticamente se fue a la siguiente línea y esperó el texto. Cuando hicimos Hans mayor, ¿verdad? Simplemente lo hizo en una línea on. Entonces cualquier otra cosa que queríamos sigue en esa línea. Entonces esa es la diferencia entre la línea derecha y la derecha. Línea derecha Automáticamente. Es casi como tu tipo de frase en Microsoft Word y presiona. Entra y pasa a la siguiente línea. Eso es lo que la línea correcta hace por ti automáticamente solo pone el siguiente bloque fuera del texto en la siguiente línea automáticamente, sin embargo, derecha no cumplirá con esa ruptura. Se lo hará. Simplemente cualquier otro stream que se va a imprimir sólo se imprimirá en la misma línea en esa línea. Ya sabes que es el texto envuelve, ya sabes bien, debes saber qué es el ajuste de palabras así hasta que los envoltorios de texto estén en la pantalla, eso está bien. Trabajo. Entonces esa es la diferencia eres tú y la consola que justo en la consola. Esa línea correcta. Entonces eso es todo para la salida de entrada. Entonces, solo hagamos una revisión rápida. Uno que aprendimos sobre declarar variables. Una vez más, hay muchos tipos de datos que las variables pueden tener. Simplemente lo estamos manteniendo simple. Apenas estamos empezando. Entonces solo estoy usando string donde recojo algo de texto y almaceno dentro de alguna variable llamada nombre. Entonces le pido al usuario que ingresen su nombre luego una vez que lo ingresen. Entonces así es como obtenemos entrada desde la consola. Automáticamente lo asignamos a nuestra variable. Habiendo conseguido y almacenado ese valor por parte del usuario, entonces procedemos a decir tu nombre es así que estamos imprimiendo alguna frase estática. Eso les está dando una pista visual en cuanto a cuáles son los datos que estamos imprimiendo. Entonces estamos viendo que tu nombre es Colón. Este texto nunca cambiará en esto. Cambié en el programa, pero luego imprimimos dinámicamente cualquier nombre que se introdujera porque estamos imprimiendo de nuevo el valor en la variable. En la siguiente lección, vamos a pasar por algunos tipos de datos más en C afilado. Observe los requisitos entre recopilar datos de la consola para estos diferentes tipos de datos . Andi imprimirlos de nuevo sobre qué conversiones deben hacerse. 8. Tipos y conversión de datos en C# y de conversión en C#: Oigan, chicos, bienvenidos de nuevo. Por lo que esta vez voy a abrir mi proyecto por usar la interfaz de Visual Studio. Entonces abrí estudio visual y luego a la izquierda ahí, mostrándome todos fuera de los proyectos recientes que he hecho. Por lo que sólo voy a seleccionar este mi proyecto de la lista. También puedo fijarlo porque tal vez, sabes, tener un montón de proyectos trabajando en. Yo quiero que este esté siempre en la parte superior, así que sólo puedo darle la vuelta. Entonces solo puedo seguir adelante y hacer clic en él y abrirlo en ese estudio visual se lanzará con mis proyectos. Entonces visual studio nos está poniendo de vuelta donde lo dejamos, que es cuando estábamos haciendo esa entrada all put program. Pero esta vez vamos a estar viendo algunos tipos de datos. Entonces voy a crear un nuevo proyecto para que sean estrictamente la solución. Goto add on, Luego selecciona nuevo proyecto. Y luego cuando aparece la consola o aparece el cuadro de diálogo, solo selecciono consola up dot net core y luego hago clic en siguiente. Entonces esta vez el nombre del proyecto que quiero es variables y datos, tipos de variables Andi tipos de datos y luego hago clic en crear. No, sí dije que la incautación presume de una amplia colección de tipos de datos. Hay tipos de datos simples en hay tipos de datos definidos por el usuario. Entonces los básicos que tienes con todos esos tipos de datos simples que son como la cadena y, ya sabes, para los números. Y así ahora vamos a pasar por algunos fuera de ellos. Dicho eso, hay mucho. Entonces no voy a pasar por todos y cada uno en git por el camino podemos terminar usando uno Son pocos que no cubrimos en este video. Entonces voy a pasar por los básicos que definitivamente necesitarás conocer. Pero a medida que avanzamos, se ven otros que contextualmente pueden necesitar. También quiero señalar que C agudo es lo que se llama un lenguaje fuertemente tipado. Entonces eso significa que si vas a declarar una variable que debería contener texto, entonces lo va a tratar como texto. Entonces si pongo uno como en el numeral uno dentro de una variable de texto, no lo tratará como si un número dos hiciera matemáticas con ella. Por lo que tienes que elegir tus tiempos de datos con mucho cuidado en función de qué operación quieres llevar a cabo. Entonces, empecemos. Entonces sí vimos cadena. Entonces déjenme decir declaraciones de variables sobre el tipo alguien para usar esta sección Solo defina algunas variables. Onda Podemos ver lo que son Así que una cuerda. Entonces pasamos por una cuerda ya String on. Fui a ver nombre entonces tal vez quieras cobrar la edad También sabes ¿Vamos a almacenar la edad de alguien como cuerda? ¿ O vamos a almacenar su edad como tal vez un número? Porque si te digo, tengo 10 años y luego quieres hacer algo de muff para decir OK como 10 años, esto es matemáticamente agujero. Vas a estar en X Y Z o algo así. Ya sabes, quizá quieras hacer una operación matemática. No se puede usar una variable de cadena durante meses. Entonces quieres usar lo que llamas un int así en abreviatura para entero en ese en indígena básicamente un número que no tiene ningún decimal. Entonces si pones un número decimal dentro de la edad como dices ahí, 22.5 años porque y va a ignorar el 0.5. Tienes otras variables que eso por lo que probablemente podría hacer una. Eso es un salario. Por lo que podría decir doble apio, así que el doble tomará un punto decimal. Está bien. También tienes otro tipo de datos llamado Float que hace esto más puntos. Pero entonces, basado en el número fuera de decimales, ya sabes, el ahí es donde son realmente diferentes. El número de decimales en la precisión que es una carga en términos más simples. Ya sabes, puede que tengas como una volea como pastel, que todos sabemos como decimal es 3.1 para algo algo, algo, algo algo doble en flotar me terminan almacenando diferentes valores porque uno va a ser más preciso que el otro. También tienes lo que llamas un char. Por lo que char es la abreviatura de carácter. Onda char soportable se utiliza generalmente para una sola no usualmente de uso. Se utiliza perdón por un solo personaje. Entonces un caso de estudio Oh, nuestro caso para eso sería como el género, ¿no? Por lo que cobra género. Eres M o F otro tipo de datos básicos muy popular. Um, que veríamos es lingotes. Entonces tenemos toro, y luego voy a usar este para decir que trabajar Sobule significa sí o no. O es cierto o cae bien. Se ve el uno o cero. No hay otro valor que pueda ir dentro de un toro. Pero cierto son las caídas, así que recapitulemos de verdad rápidamente. Entonces tenemos nombre de cadena, por lo que string toma texto. Se necesita cualquier cosa que sea, puede tomar cualquier frecuencia numérica en combinación de caracteres es simplemente ir dedo del pie. Recibe algo en, luego imprímalo de nuevo. No puedes hacer ningún manguito en los números que pones ahí dentro. Tienes que hacer conversiones en. Si bien es relativamente fácil hacer conversiones, solo te recomiendo que uses la variable correcta cuando la necesites para algo determinado. Entonces si tenemos una cuerda, claramente es no hacer ningún mes. Si tenemos un entero, es porque quieres un número. Um, entonces no estamos esperando lugares decimales. Si tenemos un doble, eso significa que podemos conseguir un número y podríamos tener decimales. Tenemos char porque estás esperando un personaje, este personaje puede estar fuera de cualquier transpiración. Significado puede ser una letra, un número, un carácter especial. Pero sólo va a ser uno, así que puedes poner tu nombre dentro de un char. Está bien, Entonces para este ejemplo, vamos a aceptar M o F por género on. Entonces tenemos el derecho de lingotes, que sólo puede ser cierto o cae. Ahora, acabamos de terminar una sesión sobre incitar a los usuarios por lo que lo que voy a hacer es de ellos por su nombre, su edad, su salario, su género, Andi, si están trabajando o no. Entonces sólo voy a hacer como dos fuera de ellos. Y luego te voy a permitir que intentes hacer el resto. Entonces voy a decir consola no encendida. Recuerda, tenemos huella de dedo en la pantalla. Yo Hey, te estoy pidiendo estos datos aquí mismo. ¿ Verdad? Entonces voy a usar el derecho encendido. Entonces verás la diferencia en los problemas cuando uso la derecha en lugar fuera de la línea correcta. Pero entonces estoy solicitando en esta ocasión nombres. Voy a decir entrar tu nombre Colon on on. Entonces después de eso, voy a decir nombre debe obtener el valor de las consolas. El nombre no es igual a consola que lee línea sobre la enfermedad de quemaduras abiertas y cercanas. Ese es el nombre prompt, ¿verdad? No, Para agilizar este proceso, solo puedo copiar si quiero puedo esta copia Esas dos líneas bajan y se ponen a pedazos. Entonces acabo de cambiar todo el texto, así que pedí nombre. Esta vez quiero la edad y entonces el patrón es el mismo. Todo lo que tengo que decir es que es igual de la consola del dedo del pie que lee la línea. Sin aviso. Estoy recibiendo un error cuando estoy pidiendo la edad. Está bien, y entonces ahí es donde entran en juego nuestras conversiones. Entonces sí dije que esto es tipo de datos variable y conversiones, ¿ verdad? Entonces en esta situación, está viendo que hay un error no puede convertir implícitamente cadena de tipo a int. No, esto no recibió esa época porque consola que línea de lectura está recibiendo alguna entrada de teclado desde la consola, cual está transportando dedo del pie la variable en forma de cadena. Entonces en esta situación, sí dije que fuertemente tipos pueden poner ah, palabra adentro fuera son variables. Eso es esperar un número. Por lo que esta variable numérica está esperando que se introduzca un número, pero el mecanismo estaba usando para obtener los datos está transportando una cadena. Entonces eso es un problema, ¿verdad? Entonces, no, tenemos que ejecutar lo que llamamos una conversión donde aceptamos la cadena convertida para terminar en. Pero todo eso antes de que entre en la variable. Entonces lo que voy a hacer es serio esto y voy a reescribir esta línea paso a paso. Por lo que C Sharp nos da herramientas para convertirnos literalmente. Nos dan una clase llamada convertir para que podamos escribir la palabra convertir y luego decir punto en Entonces tenemos un número off conversiones disponibles para nosotros. Podemos convertir en 32 en el doble, al tiempo, todo tipo de cosas. Entonces quiero terminar 32 en, Entonces abro. Entonces esta es una función. ¿ Todo bien? Yo lo sé. ¿ Qué sabemos Funciones? Porque tienen enfermedad de los padres abierta y cercana. Entonces dentro fuera de esta función, causa aviso sigue siendo como una línea roja. Dice que espera algún valor. Está bien, entonces , no, necesito decirle qué exactamente? Quiero convertir en Lo que quiero convertir es la entrada que viene de la consola. Entonces voy a llamar a la consola que lea la línea cuando llegue ahí va a prometer que el usuario va a pausar, obtener la entrada cuando el usuario presiona enter. Por lo tanto, recuerda que esto hace una pausa para entrada hasta que ve entrar. Una vez que la persona presiona entrar, entonces va dedo del pie, convertirlo dedo del pie en un 32 bit firmado en Joe. Muy bien, así que sólo las cosas. Y así lo están viendo. Ponlo en un entero encendido. Sí lo dijiste hasta que viste el dedo 32 en 32 2 en 16 y quizá hayas visto en los números. El hecho es que, cuanto mayor sea el número, más bits requeridos, correcto, por lo que 32 es bastante estándar. Podemos dejarlo con 32 encendido, entonces, entonces, una vez que se convierta de lo que se le asigna a nuestra edad. Verbal, noté que todo está bien en el universo. no hay más errores, así que me voy a poner la muñeca. No voy a hacer ninguna conversión todavía. Voy a hacer una pausa aquí y estoy con te amo para tratar de corregir los problemas para cada uno fuera las otras tres variables. Y entonces podemos mirar juntos las flechas potenciales. Está bien, Siro, el resto de mis problemas y yo cambio eso toma en consecuencia. Interés, apio, entra a tu género. Y luego por el de trabajar, como que cambié el Burbage porque una vez más, quieres decirle al usuario qué tipo de escarabajo estás esperando de ellos. Por lo que no quieres dejárselo en manos de los pies por lo que deberían estar metiendo. Entonces dije: ¿ Estás trabajando verdadero o falso? NC. Pasé por mal, tan verdadero o falso. Por lo que estamos esperando que entren a través de la palabra o la palabra caiga. Pero lo más importante, note cuántos errores tenemos y la misma razón por la que tuvimos la era por siglos. la misma razón que estamos teniendo estos errores, porque consola que línea de lectura está girando una cadena. Pero la cuerda no se puede poner en remolque. Un doblete así. Se puede poner en nuestros cargos así y se puede poner en remolque. Ah, matón. Y así así, y como dije char, noté que no les dije explícitamente que estoy esperando M o F. Así que si una persona entra la palabra macho o la palabra hembra, entonces eso causará un problema. Porque esto sólo es esperar un personaje. Una carta, 11 no una palabra, ¿verdad? Entonces voy a ser un poco más explícito con este problema. Voy a decir M o si Está bien, así que con todo eso no sé, arreglemos estos conversos en temas. Entonces es lo mismo. Sólo tenemos que decir Convertir punto a doble ahí. Tenemos que duplicar. Y entonces qué estamos convirtiendo? Estamos convirtiendo consola que lee líneas. Por lo que abrí aquí los paréntesis. Necesito asegurarme de que lo cierro. Por lo que este es un aero común Abierto. Bien puede levantarse e ir a tomar café. Vuelve. Entonces miramos su única vez, yo diría, Oh, no, está cerrado porque hay uno cercano, pero no estamos poniendo atención, ¿ verdad? Por lo que siempre es bueno el abrir y cerrar en el mismo barrido, y luego te puedes distraer después. Eso perdonaría mucho pesar. Entonces ahí vamos. Doble es, um lo siento. Vendedor está esperando un doble. Entonces estamos obteniendo la entrada de la consola, que viene como texto convirtiéndolo en doble. Entonces, ya sea que tenga o no decimales, lo tratará como lo hace en. Entonces lo pondrá en nuestro doble. Para char Tenemos convertir, no tocar. Son así que tienes un converso para casi todos los tipos de datos que está en C sharp. ¿ Verdad? Por lo que tienes bastantes tipos de datos tienen bastantes formas de convertirlos. Andi, espero conocer a tus aliados que sí vi asuntos de caso cuando estamos creando nuestros proyectos. Bueno, en el lenguaje mismo, caso esos importan. Porque si escribo convertir como ah con un C mayúscula que nunca va a funcionar porque no sabe qué convertir lo común ve? Perdón. Si Irak se convierte con una vista común, no sabe qué es eso, por lo que sólo lo detectará cuando me adhiera a las reglas estrictas y use mi C mayúscula para convertir, no cónsul convertir on. Entonces dije eso y luego tengo lingotes de dedo como opción y luego abro paréntesis y luego me aseguro de cerrar mi paréntesis en. Ahí tenemos nuestras funciones. ¿ Nuestra corte es nuestra promesa? Tomar datos y almacenarlos en las diferentes variables? No. Una vez que haya hecho todo eso, quiero imprimir el perfil de esta persona de vuelta a la pantalla. Por lo que voy a hacer un poco de diferencia aquí con mi impresión a pantalla. Y vamos a llamar a esta concatenación. Entonces este es el proceso de unir cadenas juntas así que antes hubiera tenido una consola derecha que imprimió la cadena estática y luego otra para imprimir la variable. Esta vez sólo quiero qué, Derecha una consola que justo en. Estoy imprimiendo tanto la cadena estática. Ver tu nombre es Colon on on. Entonces estoy poniendo la variable por dentro que se imprime automáticamente, ¿ verdad? Por lo que hay muchas maneras de hacerlo. Te voy a mostrar que tal vez sea la forma más fácil en este momento. Y a medida que avanzamos, probablemente lo haga al revés para que podamos levantarnos y correr. En realidad, creo que tenemos suficientes datos para imprimir dedo del pie Mira todo fuera de las técnicas de concatenación. Yo sólo voy a pasar por todas ellas. Por lo que sólo voy dedo del pie a la derecha El 1er 1 Lo siento. Dedo del pie imprimir el nombre alguien a ver. Puntos de consola, derecha, paréntesis abiertas. Y yo solo mi cínico en su mismo tiempo, todos codifican de manera diferente. Simplemente me gusta hacerlo al mismo tiempo. Y luego quiero decir que tu nombre es Colon, y luego puedo usar un signo más para que todos sepamos que el signo más se usa en matemáticas. ¿ Verdad? Bueno, cuando estamos hablando de cadenas y frases de impresión están imprimiendo a la pantalla, podemos usar el signo más para decir, quiero agregar este bloque fuera del dedo del texto, cualquiera que sea la óptica de bloque, yo puede tener tantos bloques fuera de texto como quiera y cierre termina en el medio. Está bien, puedo hacer eso. Pero en esta situación, lo que quiero agregar a este bloque estático fuera de texto es el valor que está dentro de los nombres. ¿ Entiendes? Decir tu nombre es texto estático. Cerrar nombre. Entonces esto es una concatenación. Por lo que esto imprimirá una línea diciendo que tu nombre está en cualquier valor que se recogió del usuario en el momento de entrada fuera. Está bien, así que solo puedo duplicar esto o no me dejaré escribir otro. Entonces consola no está bien encendida. Entonces. Esta vez quiero imprimir tu edad. Entonces tu cada uno está de colon encendido. Entonces la siguiente forma en que puedo idear en comer es usar como marcador de posición y amortizar. No se han apurado variables Demasiado estos marcadores de posición. Entonces quiero decir, déjame demostrarme aquí. Entonces voy dedo del pie abierto bibliotecas de autos usar un marcador de posición en ese cero y luego cerrar carnívoro en. Entonces lo que va a decir es que sé que necesito imprimir tu nombre está encendido. Entonces voy a imprimir este texto estático. Pero entonces esto, como dije, está actuando como marcador de posición. Por lo que necesito dedo del pie definir algo que se debe poner en este soporte de lugar. Y lo que hago es después del bloque de texto presiono coma. Entonces puedo insertar una variable. Entonces la variable que quiero que se inserte en el marcadores de posición es la edad. Muy bien entonces voy a imprimir el salario a la pantalla. Entonces misma consola de tratamientos No está bien encendido. Entonces esta vez voy a hacer lo que llamamos interpolación. Correcto. Entonces este voy a empezar con un signo de dólar al inicio de la cuerda. Por lo que es signo de dólar abierto y cerrar comillas en. Entonces voy a ver signo de dólares. Um, tu salario es de dos puntos. Entonces la interpolación me permite simplemente usar llaves abiertas y cerradas y escribir el nombre de la variable ahí dentro de la cadena estática. Entonces es salario. Entonces tengo una cadena estática. Yo sólo tengo el aseguramiento de los ciclos del dólar sin el signo del dólar. Entonces se parecerá más al código de marcador de posición, acuerdo? Y eso no sería deseable. Entonces con el signo de dólar, en lugar de usar un marcador de posición, solo estoy abriendo el corsé rizado y poniendo la variable misma dentro de mi cadena continua . Contiguo significa continuo. ¿ Verdad? Por lo que toda la cadena es solo un bloque Onda que tenemos o variable que se renderiza dentro eso. Entonces la reanudación en todos estos te puedo garantizar este funcionará en éste definitivamente funcionará el basado en la versión off dotnet framework que estás usando en eso influye en la versión off c sharp que estás usando. Puede o no tener acceso del pie la interpolación, ¿no? Entonces por eso dije, hay muchas maneras de hacerlo, y es bueno entender sobre apreciar esperanza. Pero te puedo garantizar, si estos dos no funcionan, éste definitivamente lo hará. Y si éste funciona, éste definitivamente lo hará. Para que puedas escoger tu escoge de batalla cualquiera que más te guste. Andi. Aún más específicamente, cuál de uno funciona realmente en tu contexto. Entonces me voy de pie, proceda con el sencillo que sé funciona universalmente en eso. Sólo voy a asegurarme de que imprima las otras dos variables. Entonces este ve que tu género está encendido. Entonces estoy imprimiendo género. Y entonces el siguiente ve, ¿ Estás trabajando? ¿ Está usted empleado? Ya sabes que estás empleado y esperamos ver verdadero o falso así que trabajar. Está bien. Ahora todo esto se va a imprimir como un gran bloque de texto. Se va a quedar asqueroso en la pantalla, pero te voy a mostrar por qué. Entonces vamos a probarlo También, mi proyecto de inicio necesita ser establecido variables y tipos de datos directamente. Variables y tipos de datos establecen un inicio un proyecto en luego seguir adelante y empezar. Está bien, Así que tomemos o programemos para una prueba de manejo. Entonces voy a ver a un usuario de prueba es mi nombre. Tengo 22 años. Mi sueldo es de 2500.30. Presionar enter. Mi género es m entrar en diez centavos. Camino trabajando Verdadero, estoy trabajando y cuando presiono enter, ¿ves eso? De acuerdo, solo conseguimos un largo tirado todo en una línea. No hay espacios. Es muy difícil de leer Y eso es porque escribimos con consola esa derecha y no consola esa línea correcta. Está bien, entonces por eso tenemos que tener mucho cuidado cuando estamos usando Consola que derechos y consola esa línea correcta. Entonces solo voy a cambiar esta consola del dedo del pie de avena esa línea correcta y solo puedo copiar y pacificar Ondo la colocación maestra on. Entonces vamos a correr de nuevo. Onda, mira cómo se ve el abierto. Por lo que empezamos con nuestro nombre en ellos con la usuaria femenina estadista. Um, su edad es de 23 años. Su salario es de 5000 monedas por ello o cinco. Esos terminan alrededor de 500. Um, género es si está encendido entonces, pero entonces ella se va a desempleada. Por lo que trabajar es falso en. Entonces. ¿ Cuándo hacemos eso? No, vemos que la impresora luce mucho mejor. Tenemos una línea Perbet off. Información notada. Tenemos nuestro texto estático encendido. Entonces está imprimiendo de nuevo. El valor son así que la conversión fue casi realmente sólo necesitaba ser de una manera porque note que una consola está imprimiendo de nuevo los valores y no tuvimos que convertir de char a cadena Onda. No teníamos que hacer eso. La concatenación en la cuerda, ¿verdad? Entonces es estricto en algunos aspectos y es flexible en algunos. Entonces, una vez más, cuando estemos recopilando la cadena de la consola tendrá que convertirla en lo que se comió una variable de tipo que está recibiendo los datos está bien. Entonces tenemos que hacer en conversión para almacenar el doble int para almacenar el doble, etcétera, etcétera. Pero entonces estábamos imprimiendo de nuevo a pantalla. No teníamos que convertir de ese tipo de datos a cadena para ponerlo bien unido a nuestra cadena. Correcto, Así que todo cuando se está imprimiendo, solo el contexto solo dirá bien. Sí, sé que esto es un lingote, pero déjame solo imprimir 9. Operadores en C#: en este video, vamos a estar mirando a los diferentes operadores que están disponibles para nosotros en C. Sharp. No, ya seguí adelante y creé el proyecto en Guy lo llamó C. Operadores Sharp una vez más intentan evitar cualquier personaje especial al nombrar tus proyectos en soluciones en DE. Entonces solo usé la palabra agudo en lugar del carácter especial, que parece un signo numérico, ¿ verdad? Por lo que C operadores afilados y ya me tomé la libertad de tipo de escritura en algunas cosas. En las funciones principales, pueden pausar el video, intentar crear el proyecto usted mismo y poner estos comentarios, luego reanudar cuando haya terminado. No hay operadores son símbolos que se utilizan para realizar con operaciones literales. Muy bien, entonces en cualquier lenguaje de programación se tiene acceso a estos operadores. Cuando quieres hacer cosas que matematicas, ¿tienes otras categorías? ¿ Fue su abogado para hacer cosas que comparaciones? Pero para esta introducción, los operadores de remolque, sólo van a estar tratando con los que probablemente son más matemáticos en. Necesitamos saber si nada más. Entonces, empecemos con el operador básico de asignación. Por lo que ya hemos usado esto en ejemplos anteriores, y eso se usa cuando queremos dar algún valor variable. Entonces si tengo una variable, es en Gnome, entonces quiero dedo gnomo tener el valor fuera cinco. Entonces quiero decir Numb, Se le asigna el valor cinco. Entonces eso es realmente lo que es. Está realmente en asignación. Por lo que un signo igual a mí mismo es realmente visto como una asignación. Muy bien, entonces estamos poniendo el valor de cinco dentro de nuestra cerveza. Estamos asignando el valor de cinco dedos son gnomo variable. Muy bien, así que ese es el básico en. Una muy fácil. Y siempre podemos simplemente escribir una consola puntos línea derecha solo para demostrar que funciona. Entonces solo voy a ver un valor asignado cuerdo a variable. Está bien, vamos, entonces voy a usar mi interpolación, así que deberíamos saber inventar ya en su cuerda. Entonces como tengo este disponible para mí, este es el que vas a ver musa con más frecuencia que no, um, de lo contrario, lo contrario, usa el que es tu idioma o tus soportes de marco dotnet. Por lo que una vez más, usamos esto un signo de valor del dedo del pie. A variablemente puede ser múltiples variables con múltiples asignaciones. Puede ser un valor estático, por lo que estático significa que lo he cordado en significado, puse cinco. Por lo que esto nunca cambiará a menos que vuelva a esta pantalla al cambiar las estacas de 5 a 10. Esa es la única forma en que esto cambiará. Pero entonces eso es lo que lo hace estático, mientras que cuando estamos asignando valores desde la entrada del usuario, lo hace más dinámico en. Pero el principio off asignación no cambia. ¿ Todo bien? No, pasemos al operador aritmético. Entonces para la aritmética, los operadores allí solían realizar, um, operaciones matemáticas. Entonces voy a definir dos variables de inmediato en X, y luego les voy a mostrar que en realidad se puede hacer una declaración sobre asignación en una línea. Puedo decir en X es igual a cinco. Andi en twi Fácil cuarto 10 ahí mismo. Entonces, en lugar de dividirlo en dos líneas, solo podría ver en cualquier variable que sea igual a cualquier valor en el que quiera. Haz eso en una línea. Entonces esa es otra forma en que puedes hacer tu tarea ¿verdad? Pero para este apartado, quiero que hagamos algunos meses. Entonces voy a pasar por diferentes ejemplos y vamos a imprimir la pantalla. El diferente todo sale de la mezquita que estamos haciendo con estos. Entonces fui a decir consola, no puntos de consola. La línea derecha es igual a Andi para cada línea. Voy dedo del pie inter. Usa mis interpolaciones, así que voy a ver un signo de dólar abierto y cerrar comillas en. Entonces voy a empezar con Edición, pero vamos a pasar por los diferentes ejemplos adición en entonces estoy mostrando el resultado apagado. En operación de adición entre X e Y. Soto. Agrega X e Y. literalmente vamos a usar el signo más. Entonces recuerda el abuso más hundido por razones de concatenación también, pero es una forma fuera de lo que llamamos polimorfismo, donde el signo más tiene múltiples propósitos. El signo más está viendo aquí que estoy sumando dos números. Así que hacer algunas matemáticas, mientras que en el contexto fuera de una cadena, cuando ves bloque fuera cadena, close, string variable, está viendo que estoy agregando a string. Entonces técnicamente es la misma adición. Pero el desenlace va a ser diferente porque no esperamos ver 510 Al final de esta operación, esperamos ver 15 Donde mientras que si hubiera cuerdas de lo que se ve 510 Así que más baja al respecto . Simplemente sepan que esto es aritmética en. Es así como estamos sumando dos números. Entonces eso es todo lo que agregamos. Yo sólo voy a duplicar este terreno porque quiero mostrar una resta, multiplicación y división encendido. Entonces este llamado modelos, ¿verdad? Entonces solo voy a duplicar esta consola esa tierra derecha manteniendo el control y presionando d Esa es una forma bonita, rápida de duplicar tus líneas en estudio visual. Y entonces sólo voy a cambiar el So Así que esto es resta, entonces. Resta. Es el lado menor. Está bien, entonces donde no explotaba y en, estaban restando X menos y Así que cualquiera que entienda batir matemáticas básicas, esto no debería ser de un dedo a un nada, por favor, para que lo entiendas. Entonces multiplicación. Utilizamos el asterisco. No usamos la X. Ya sabes, cuando lo estábamos escribiendo en papel, usamos experto. Como puedes ver, X va a estar viéndonos X. Así que si quieres al operador que maneja la multiplicación. Necesitamos usar el asterisco o estrella todo bien antes de hacer división, entonces, um bueno, um bueno, mayoría si no todos los teclados. ¿ Y qué sólo va a salir en una extremidad y decir que no hay teclado? Tiene la división firmada la forma en que lo escribimos sobre la gente. Entonces para división tengo que usar tu listón. Por lo que la misma slash utilizada para los comentarios es la misma slash que se utiliza para una división. Pero obviamente estás usando uno de ellos. Porque si yo solía, entonces eso va a empezar algunos comentando, cierto, cierto, Así que una tajada que es división. Entonces esto es decir que x r cinco se va a dividir por por por qué están 10 Muy bien, Sí tenemos modelo ISS, y luego modelos es el lado porcentual, así que esto es básicamente una división, pero entonces este modelo va a devolver el resto. ¿ Verdad? Entonces, por ejemplo, si dije comida dividida por una son ya sabes qué, déjame realmente cambiar dicho, así puedo uno con impreso oh, para pantalla se ve exactamente lo que estoy diciendo. Entonces digamos que esto es tres en esto es a todo bien. Entonces cuando decimos tres divididos por dos. Vamos a recuperar un punto algo, ¿verdad? Ese es el 1.5. Yo seré el decimal, ¿verdad? Pero entonces, si dije modelos, va a devolver uno porque dos entra en 31 tiempo con un resto fuera uno. De acuerdo, así que esa es la diferencia entre la división y el modelo es el modelo s regresa para permanecer ahí fuera de la división. Operación en división sólo intentará dividir a alguien para hacer una pausa aquí mismo. Y se iban de pie o en esta operación y ver exactamente qué está pasando en. Por lo que solemos ir aquí adentro. Nuestra solución es para proyecto núcleo real insiste en que un inicio un proyecto. Pero probablemente hayas descubierto la forma más corta de hacer eso por no en eso es seleccionando de este solo bajó. Entonces estamos justo al lado del botón de inicio. Hay una lista desplegable con todos los proyectos y solo puedes ver cuál quieres, y luego seguir adelante y presionar inicio. Muy bien, entonces en pantalla, estamos viendo los resultados de nuestras operaciones aritméticas. Entonces estamos firmados. El valor que es el 1er 1 en entonces suma es cinco va. Tres más dos es cinco. La resta es uno, la multiplicación es seis, la división es uno y los modelos es uno. Entonces porque ambos están regresando uno, realmente no estás viendo el po fuera de modelos. Entonces voy a cambiar esto. Voy a usar quiero cambiar estos números, nuestro propio alguien para usar tres encendido. Voy a usar un valor como éste. Entonces por lo menos sabes que cuando lleguemos a los modelos no estarán viendo lo mismo para la división y lo mismo para los modelos. Pero en realidad, lo lamentarás. Thomas es mi deber dormir. Ahora déjame probar 11. Por lo que 11 dividido por tres va a ser tres veces. Pero entonces se espera que vuelva la Pérdida Mahdi porque eso se quedó de esta operación de división . Entonces intentemos eso otra vez. Está bien, así que aquí vamos. Entonces estamos obteniendo valores diferentes porque, bueno, una vez más, X e y, y lo que pongamos como vicio fuera X e Y influirá en las matemáticas que se están haciendo. Por lo que tres más 11 es 14 3 de 11. Eso es todo. O si voy a leerlo exactamente como lo escribimos, que 11 mineros. Tres deja multiplicación. Es decir, 11 veces tres división que es 11. Dividido por tres es tres. Por lo que entra en ella tres veces a avisos regresando solo un int. Está bien entonces digo, dame el modelo s Así que está regresando a casa lo que sepas, el resto fuera de la operación de división apagado 11 el día tres. No, ¿verdad? No, estamos agregando dos variables. ¿ Y si quisiéramos sumar un dedo del pie variable el valor? Es duro en sí mismo así como otro valor. Entonces para más contexto, quería agregar lo que sea que X esté encendido. Añadirle cuatro más. Entonces, sea cual sea el valor que tenga X, quiero agregarle cuatro. Y ese debería ser el nuevo valor de X. Así que eso significa que tendría que hacer algo como X no es asignado. El valor o X es igual dedo del pie mismo a Los cuatro. ¿ Verdad? Entonces lo estoy haciendo después de esta operación. Por lo que 11 3 esos son los valores en. Y entonces el asunto se hará con el virus apagado 11 y tres. Pero entonces quiero cambiar el valor de X para ser cuatro más de lo que era cuando se inicializó por primera vez , ¿ verdad? Entonces, no, estoy agregando por cualquier valor que tenía X porque X es un muy pero no sé qué tiene en ningún momento, así que tengo que conservarlo en las matemáticas. Andi. Entonces, después de que se haga esa matemática, lo asigno a sí misma para que con eso hecho, solo voy a usar esta línea derecha de consola, y luego voy a ver un nuevo valor fuera de X. Y entonces sólo estoy impresión X a la pantalla. Y luego, sólo para demostrarlo, eso le dio un nuevo valor. Voy a la huella del dedo del pie. Reprint Todas estas operaciones de adición lo sentimos todas estas operaciones aritméticas usando X on, entonces la expectativa es que los valores que las operaciones iniciales habrían rendido deberían ser diferentes a estos valores después de que nosotros han cambiado el valor de X. Así que intentemos eso. Entonces ahora podemos echar un vistazo y vemos que Ok, todos estos valores fueron los mismos que vimos la última vez, pero luego el nuevo valor fuera de exes 15 porque, como dije, agregamos cuatro a cualquier valor que X tuviera puesto. Entonces va a funcionar o matemáticas diferentes porque el valor de X es diferente. Noté que la división es No. Cinco porque tres va perfectamente en 50 y cinco veces en hojas. Nora meanders. No hay operaciones. Decidí todo el tiempo. La mayoría. Ya sabes, no siempre sabes qué valores hay, así que solo retienes la variable y haces cualquier suma o resta. Multiplicación. Se puede hacer con cualquier otro operador. Si quería multiplicar el valor de X por eso, y verás que X es igual a es de veces para Y entonces ese es su nuevo valor. No, porque fuera de esa función o de la necesidad de hacer esa función tipo off, tenemos lo que llamamos asignación compuesta. Entonces en lugar de tener que escribir de X es igual Toe X más cuatro, entonces en realidad podemos hacer algo como X Close equivale a cinco. Entonces yo sólo voy dedo del pie no lo siento. Cuatro, ya que estamos usando para eso yo uso para todo el tiempo. Entonces solo voy a copiar esto aquí abajo y mostrarles que estas dos líneas están viendo lo mismo. X Plus Igual cuatro es lo mismo que decir X es igual a X más cuatro en el mismo aplica para cualquier otra operación que se esté llevando a cabo. Entonces si quisiera decir que X debería ser igual dedo del pie X veces cinco. Muy bien, entonces ex Su nuevo valor debería ser en sí mismo. Cualquiera que sea el valor que haga en su momento, Times five, cualquiera que sea el de este año debería asignarse a X, eso es lo mismo que ver otro y más tiempo nosotros en comentarios y seguramente la forma más corta X star equivale a cinco. Muy bien, Entonces en cualquier momento que queramos hacer esa operación tipo off donde estamos asignando a la variable un nuevo valor basado en lo que ya es su valor, entonces podemos escribirlo. De cualquier manera, podemos escribirlo como X es igual a X Veces cinco, o podemos ver la variable, que es X en este caso, ese operador igual. Noto que no hay espacio. Aquí no hay hueco. Si pones ese espacio ahí, podrías conseguir una flecha. Entonces es operador de asignación de operador, y luego el valor en entonces eso implicará ver agudo que estás haciendo esta operación. Muy bien, así que acabo de escribir algunos ejemplos fuera de los operadores de asignación. Puedes tomarte un tiempo y anular estos, pero lo que voy a estar haciendo aquí es cambiar el valor de X con cada operación solo mostrándote que sea cual sea la operación sea con la aritmética, um, símbolos, se puede utilizar para la asignación de componentes en siempre y cuando solo tenga ese operador y luego el signo igual. Entonces esa fuerza otra vez. Muy bien, entonces tenemos nuestra primera cuadra donde hicimos o asignación. Es el valor fue 11 el. Después hicimos las operaciones 11 y las tres, creo. Sí, on Entonces hicimos las operaciones con los tres y 11 encendidos. Después cambiamos el valor de la variable X a 15 y lo harían en nuevas operaciones el. cuando llegamos ahí abajo, el valor seguía siendo de 15 porque no cambiamos el valor de nuevo hasta que dije, explosivo equivale a cinco. Por lo que 15 más cinco es 20. Entonces dije, X menos equivale a tres, que significa cualquier valor que tenga, No, que es 20. Yo quiero ser igual del dedo del pie ese valor menos tres. Por lo que por variables, valor se estableció no a 17 porque era 20 menos árbol en. Ese es un nuevo valor de X. Entonces vamos a decir sea cual sea el valor de X, quiero multiplicarme por dos. Entonces estoy viendo 17 veces dos es No. 34. Entonces digo, OK, OK, lo que sea válido que tenga lo convierten en EC sin igual dedo del pie. Eso dividido por tres en 34 dividido por tres es más o menos 11 en. Después pasamos a ver Dame el modelo está apagado tres en remolque, 11 en, entonces eso nos dio los dos. Entonces así Manejamos asignaciones de componentes en operaciones aritméticas. Entonces, como dije, estos no son todos fuera de los operadores que están disponibles para nosotros en C sharp on por extensión cualquier otro, uh, lenguaje de programación. Pero este es un buen lugar para empezar y a medida que avanzamos y miramos si las declaraciones y cuatro perdedores empiezan a ver a otros operadores utilizados para otras cosas. 10. Declaraciones de estado: en esta lección, estaremos viendo las declaraciones de condición en C agudo. Pero sé que estoy seguro de que todos tenemos el ahorcamiento creando nuevos proyectos. Por lo que ya he creado un nuevo proyecto y estoy llamando a esta condición única. Declaraciones sobre Die ya limpiaron la función principal para poner en algunos comentarios para que puedas pausar un video aquí, seguir adelante y crear tu nuevo proyecto dentro de tu solución en. Una vez más, se le llama declaraciones de condición. Ahora un poco de pre carga. Antes de entrar en qué condición significan realmente las declaraciones? Quiero que examinemos algo de programación en general. La mayoría, si no todos. Si bien cada lenguaje de programación tiene tres estructuras de control, son decisiones de secuencia o selección sobre secuencia de repetición básicamente se refiere al hecho de que el programa va a ejecutar los comandos en el orden exacto que colocaste ellos. Entonces en ejemplos anteriores donde imprimimos un prompt y luego esperamos la entrada, y luego volvimos a avisar que fue en la secuencia exacta que lo escribimos para que esta secuencia, sin embargo, cuando lleguemos a un barricada en, necesitamos tal vez tomar una decisión para decir Si algo cumple con ciertos criterios que tomar esta acción o tomar otra acción, entonces esa es otra estructura de control llamada selección o decisiones. No. En esta lección, estaremos explorando para condicionar las declaraciones que nos ayuden a hacer selecciones. Ellos lo son. Si las declaraciones sobre el interruptor de las declaraciones, entonces vamos a ver las declaraciones de Turnberry como un bono. Ahora empecemos a ver si las declaraciones, una razón típica por la que necesitaríamos usar una declaración if es determinar algo o alguna acción basada en alguna condición. Entonces digamos que quería imprimir algo a la pantalla Si algo era la forma en que creo que puede o no estar bien. Entonces digamos, yo quería decir, Si en voy a mantenerlo muy sencillo en voy a decir algo como si dos son menos de tres, así que nota un nuevo operador. Hicimos operadores aritméticos antes. No, tendremos a los operadores de comparación. Donde estamos comparando es con mayor o menor que esto es menor a tres. Está bien, así también es menos de tres. Si dos es menos de tres, entonces quiero hacer algo. Tenga en cuenta la sintaxis detrás de esta declaración. El palabra clave es si entonces abro. El paréntesis es. Después coloqué el padecimiento dentro del paréntesis abierto, y luego cerré. Entonces dentro de la enfermedad de los padres, debería tener una condición es algo tal vez equivalente a algo es el menor que ¿Es mayor de lo que hay tantas maneras? Podemos comparar cosas, pero solo estoy revisando. Si dos es menos de tres, entonces quiero imprimir algo a la pantalla para poder decir consola punto línea derecha y voy a ver Sí, lo es. Está bien. Entonces puedo ver si dos es menos de tres, luego imprimir. Sí, lo es. ¿ Y si hubiera otro padecimiento o si no lo hice? Si esa no era la condición y quería tomar otra acción, así que si lo es, entonces oró imprimir. Sí, lo es. Y entonces puedo ver más. Y luego después de lo contrario necesito de nuevo mis llaves. Y luego voy a decir qué? ¿ Qué haría si no se cumple esta condición? Alguien que tome esta consola esa línea correcta y duplicado solo para agilizar esto y voy a decir que no no no es así. Una vez más, estoy viendo si dos son menos de tres, después imprimir. Sí, es otra impresión. No, no lo es. Ahora te das cuenta de que esta línea tipo de luce una hija grande gris, especie fuera aburrida en diesel estudio básicamente me está diciendo que en base a la condición que especificé aquí, nunca, jamás llegaría al otro. Lo cual es cierto, porque cada vez que voy a correr eso a menos que cambie estos valores, siempre serás menos entrada. Entonces sí, es siempre se va a imprimir. El otro nunca se imprimiría. Pero todavía voy a dejar lo demás porque les voy a mostrar diferentes condiciones que pueden entrar aquí en espera. El tribunal sería ejecutado, así que ejecutemos esto y veamos los resultados finales. Una vez más, va a correr en la secuencia, y va a decir, si quién es menos de tres, ¿qué debo hacer? Entonces vamos a revisar eso. Por lo tanto, recuerda que puedes cambiar tus inicios o proyecto usando esta lista desplegable. Tan solo asegúrate de que está en las declaraciones de condición en adelante y tratar. Empezar en el resultado final es que imprime. Sí, lo es. Y eso se debe a que la condición era cierta. No, si cambio estos valores por algo que bueno, quiero decir No, no lo es. Eso puedo decir es 10 menos que tal vez tres son dejar los tres. Entonces si 10 es menos de tres, entonces queremos imprimir. Sí, es otra impresión. No, no es ahora, sólo mirándolo. Sabemos que 10 no es menor a tres, por lo que esperamos que esta condición no evalúe a verdad a quienes no hagan lo que está en el primer bloque. Pero hará lo que hay en el bloque de lo demás. De lo contrario es básicamente las caídas para cualquier condición que se delinea dentro de la Si es así, intentemos eso de nuevo. Me fui dedo del pie ejecutar el programa, y la expectativa es que diga que no. No es porque 10 no sea menos de tres. Y ahí vamos. No, no está bien. Entonces ese es un ejemplo muy, muy sencillo. Pongámosle un poco más de carne, así que voy a encontrar algunas variables. Voy a definir el número uno y el número dos así int num uno y por favor tenga en cuenta con variables . Puede que no haya mencionado esto antes, pero cuando estás usando variables o cuando están declarando variables, quieres evitar espacios en los nombres y quieres evitar caracteres especiales. Casi las mismas reglas es cuando sugerí hoyo. Nombres tus proyectos. Puedes camello caso los nombres si tienes múltiples palabras algunas personas usan guiones bajos. Pero en última instancia solo evita cualquier ah, espacio y cualquier personaje especial. Está bien, entonces nadie va a ser igual a dos Onda. No, um, dos es igual a cinco en DSI. Al hacer eso, violé mis propias reglas y el estudio visual me está diciendo que me equivoco. Por lo que int num dos es igual a cinco. Y antes de usar estas dos variables en el ejemplo, solo quiero tomarme este tiempo para enumerar todos los demás operadores de comparación que tienes a tu favor. Entonces tienes puesto yo solo estoy poniendo la brisa ahí para que puedas verlos. Por lo que tienes menos de lo que tienes mayor de lo que tienes equivalentes. Por lo que el aviso a la igualdad de la ciencia o el signo igual por sí mismo es un warier operador de asignación, asignando un valor desde el dedo del pie derecho, la variable de la izquierda. No obstante, si quieres comparar si dos cosas son iguales entre sí, entonces tienes el igual para ello. Entonces esa es la distinción entre un solo signo igual en un doble lado igual. Entonces tenemos igual. Tenemos híbridos, como mayores que e iguales o menores que e iguales en. Entonces tienes uno que no es igual, que es una exclamación y en un signo igual. Muy bien, entonces esos son operadores que puedes usar dentro de tus sentencias if, cuando quieras comparar el valor de la izquierda con el valor de la derecha. De acuerdo, entonces ¿no tenemos a nadie y número dos? Esto lo hicimos con valores estáticos, pero también podemos escribir una sentencia if con variables. Está bien. Entonces podría estar comparando entumecido uno con el número tres, para que pueda ver si nadie es menor que tres. Entonces quiero tomar esta acción. De lo contrario quiero tomar esa acción. Está bien, entonces en esta situación, ya no tengo más dedo declarado, tener un valor off también. Entonces si ejecuto esto de dos va a ser menos de tres. No obstante, si dije que no, aquí estoy cinco con base en el valor fuera de la norma cinco. Entonces conocido cinco o lo siento, entumecido a Lo siento. Numb a tiene el valor de cinco mi cuerpo. Entonces si digo que no a es menor de tres siempre y cuando se retenga el valor de cinco, entonces sabremos que no es menos de tres encendido , por lo que irá a la otra cuadra e imprimirá. No, no está bien, así que puedes usar variables para comparar con valores estáticos. Y también se pueden comparar dos variables. No. Uno en el número dos. Está bien, así que esto es lo que voy a hacer. Vamos a escribir un programa completo donde estamos aceptando datos de un usuario. Y luego estábamos en una declaración if para saber qué imprimir, todo basado en la entrada del usuario. Entonces voy a escribir un programa que va a pedir a nuestros usuarios que nos digan cuántas manzanas tienen y a casa alguna naranja ahí. ¿ Alguien que consolar? No está bien. El primer problema a decir. ¿ Cuántas manzanas tienes puestas? Después haremos una línea de reid de punto de consola donde obtenemos la entrada. Pero luego fuera de curso, podemos desconsolar re línea Este valor necesita entrar en una variable alguien para usar a nadie para almacenar el número de manzanas. Entonces no más consola de cuota incómoda que lea línea y luego sabemos que nadie es un entero. Entonces si estamos poniendo algo en el entero desde la entrada de la consola, necesitamos convertirlo. Alguien que decir, convertir atracado a comer 32 en, luego abrir asistencias extranjeras en paréntesis cerca alrededor de eso en. Entonces solo voy a copiar de pie esta línea en lugar de volver a escribirla desde cero. Y entonces voy a decir: ¿Cuántas naranjas tienes puestas? Estamos almacenando naranjas en entumecido a. Entonces no, tengo entrada de usuario para normal y entrada de usuario para Norm toe, que por supuesto, anulará los valores con los que se inicializaron porque no voy a molestar la inicialización aquí. O al menos yo siempre recomendaría que si estás inicializando, siempre inicializaste dedo del pie un valor suficientemente seguro. Es que sabes que no altera tu operación en el futuro. Entonces estamos inicializando el número 120 Onda numb a cero encendido, entonces estamos solicitando el número fuera de manzanas y almacenando eso en la Norma uno encendido. Entonces estoy solicitando el número fuera de naranjas y removiendo eso en entumecimiento a no, mi declaración es ver si entumecido a es menor que No. Uno, que quiero tomar una acción particular. Pero entonces me siento probablemente más cómodo diciendo, Si entumecido a es mayor que No. Uno, realmente no importa. Entonces, base en tu contexto y en base a cómo probablemente querrías dedo del pie, si lo puedes ver en inglés o decirte a ti mismo, ¿cómo compararía estos dos? Entonces puedes simplemente traducirlo a la corte utilizando el operador apropiado. Está bien, así que voy a decir, Si nadie es mayor que entumecido, entonces eso significa que tendría más naranjas tan entumecidos para representar naranjas. Entonces si entumecido a es mayor que No. Una, que tenga más naranjas de las que tengo manzanas, entonces mi línea consular va a ser tú tienes más naranjas en entonces, si yo si eso es falso, significa entumecido a no es mayor que no más que me fui a imprimir. Tienes más manzanas Ahora vamos a la prueba rápida y a ver el oh, sal de eso. Entonces, ¿cuántas manzanas tienes? Voy a decir que tengo que hacerlo. Andi de Apple. Tengo cinco naranjas, así que la expectativa es que imprime tienes más naranjas. Muy bien, hagamos otra prueba donde voltee el guión. Esta vez tengo 10 manzanas y tengo cinco naranjas. Y así cuando eso evalúa en mi declaración, debería estar consiguiendo. Tienes más manzanas. Ahí vamos. Entonces eso es básicamente lo que hace la selección. Se ve a una condición, y luego toma una decisión basada en el todo viene si es cierto o cae por esa condición. No, la sentencia if se puede ampliar un poco más en. Yo sólo voy a hacer esto y luego dejamos si las declaraciones por no, porque son declaraciones son muy útiles en. A medida que avancemos, los estaremos usando y veremos más propósitos. Pero yo sólo quiero detener un aprecio por cómo funcionan y por qué nos vamos a quedar con ellos en el futuro. Pero la declaración también puede tener más de uno o más de dos bloques. Entonces en este momento simplemente no podemos. Si Condi hijo encendido, entonces lo contrario. Pero entonces sí tienes la facilidad dedo del pie tienen múltiples condiciones en una declaración grande if, así que puedo decir si entumecido a es mayor que no más que imprimir. Tienes más naranjas de las que puedo decir otra cosa si y después declaras otra condición. Entonces voy a decir que si el número uno es mayor que entumecido a nadie, sean manzanas abajo a ser naranjas. Entonces primero estoy tomando para tener más naranjas que manzanas que puedo decir lo contrario. Si hay más manzanas, unas naranjas que quiero imprimir, tienes más manzanas. ¿ Y si quisiera agregar en otra declaración? Otro acondicionadores lo otra. Si al instante otra condición encendido, entonces para esa parte, me gustaría ver si son equivalentes. Por lo que puedo decir si no más es equivalente a Nome para luego abrir breves. Console esa línea correcta y luego voy a ver que tienes manzanas o déjame ver la costura. Tienes el mismo número de las naranjas Onda de Apple. No, tenemos una declaración if haciendo tres condiciones diferentes. Está bien, Así que tenga, si entumecido a es mayor que no más que traer algo más. Si nadie es mayor que conocido para entonces imprimir algo más si nadie es equivalente a Nome a así que hay muchas maneras fuera que podrías haber escrito esto. Pero entonces quiero decir, hay tantas maneras herejes que nunca puedo mostrar cada escenario quiere Aprecias el concepto de lo que puedes ser más flexible. Entonces en esta situación, una vez más, solo estoy revisando. Si entumecido a es mayor que nadie que quiero imprimir, tienes más naranjas. Y luego si eso no lo valora cierto, entonces pasé a la siguiente declaración para ver consola Redland. Tienes más manzanas, ¿verdad? Y si eso evalúa las caídas, cualquier pasa a la siguiente condición donde está bien, si su equivalente, entonces imprime esta declaración. No, hay situaciones en las que ninguno de estos sería alguna vez mucho. Y entonces por eso tienes lo más. Entonces eso más es como una captura. Está bien, así que si no tenemos más, usualmente usas eso para decir Bueno, cuando cada otra condición se sienta entonces toma algo de acción y esto es una vez más es un catch off. Entonces voy a decir, um, um, bueyes finales o ¿serán parámetros inválidos? No. A partir de este ejemplo, no sé qué podría posiblemente poner en que ninguno de estos se cumplirían más allá de eso, la comparación para mayor que e igual dedo del pie. A menos que un dedo igual no cabría en este escenario en Bueno, siempre lo esperamos. Si uno de estos se cumpliera, entonces claramente no son iguales, ¿ verdad? Pero entonces el caso de estudio o los casos de uso para estos más bien serían como si estuvieras comparando greens, ¿ verdad? Entonces si los greens empiezan a tal vez en un arranques a los 90 entonces puedes ver si has acordado que es mayor o igual a 90 entonces no tienes e Si fallan, avaricia fallando es 59 entonces puedes ver si has acordado que es menor o igual a 59. Entonces eres un estudiante sintiente, así que podrías haber hecho el mayor que un pie igual por ese A. O no podría haber dicho si eres genial es mayor que 89 porque entonces sabemos que algo mayor que Internet es probablemente 90. Pero entonces, base en el escenario una vez más, puede o no necesitar usarlo o puede usar múltiplo lograr lo mismo y todo vamos a ejecutar una prueba sobre esto. Entonces voy a poner en algunos escenarios donde voy a poner algunos valores y luego deberíamos poner en valores que invocarán cada declaración a medida que avancemos. Una vez más, puede que nunca se llame a la declaración else porque una de estas condiciones se cumplirá de todos modos , Así que intentemos así en primer lugar, queremos un número más grande para entumecido para luego para alguien. Entonces queremos más naranjas que manzanas. Entonces tengo cinco manzanas y luego tengo 10 naranjas tan entumecida a es mayor que nadie. Entonces tienes más naranjas. Está bien, déjame correr este tallo y este programa otra vez. Esta vez tengo más manzanas que naranjas tengo 10 manzanas y solo tengo cinco naranjas. Entonces es que tienes más manzana. Entonces esta condición para que nadie sea mayor que lo normal entumecido a ser rallado en, um una sensación así se pasó a la otra si en ese entonces se cumplió esta condición por lo que imprimió esa declaración no si tengo el mismo número entre los tipos de fruta herramienta. Entonces eso significa que tengo 10 naranjas y 10 manzanas cuando presiono enter. Después se fue al otro. Si son equivalentes, entonces tienes el mismo número fuera de manzanas y naranjas. Está bien, así que hay algunas reglas que rodean cómo si las declaraciones deberían verse, observe los tokens especiales que he estado usando en el camino, las palabras clave, si están encendidos entonces los paréntesis, entonces el condición dentro de los paréntesis sobre notaron no punto y coma al final fuera de esta línea encendida. Entonces abrí las librerías de autos y luego la c sintaxis afilada como la hemos llegado a conocer con toda la consola derecha del consejo, línea de lectura, sea lo que sea nuestro hacer que esos puedan proceder. Pero entonces sólo entre los aparatos ortopédicos. Por lo que no puedo poner ningún acorde en esta línea. No puedo serlo. Console esa línea correcta entre el bloque if así como así, ¿ verdad? Eso es ilegal. Entonces cuando sea cual sea la operación que sea, necesitas llevar a cabo un aviso, ten esa línea roja. Entonces es en que está esperando que sea incorrecto. Pecado tóxico para todos. Te cuento detalles sobre la sintaxis incorrecta pero solo tienes que seguir estas reglas y debes sentirte cómodo al escribir declaraciones if. Por lo que una vez más tienes un padecimiento. No tienes la declaración. Perdón. Creas la condición por dentro fuera de los índices de piezas, y luego abres la llave rizada y luego procedes a escribir toda tu cancha por dentro tus llaves. Lo que sea erecto dentro de las llaves es lo que se hace cuando se cumple esa condición en particular . Entonces si entumecido a es mayor que alguien, entonces quiero tomar este set off acciones de otra manera. Si se cumple esta otra condición significando este campo Pero entonces éste se cumple, entonces quiero llevar a cabo estas acciones sobre. Entonces tengo otra más. Si se cumple esta condición, entonces tengo mis acciones específicas. Y entonces mi más es la captura. Nuestro significado de que ninguno de estos vino a pasar mucho a uno de ellos. Mis requisitos. De lo contrario sería que la captura también, ya sabes, en base a la situación, entonces puede ser buena. Puede que no sea, pero así en esta situación, si alguna vez llegué a lo más sé que eso es malo porque eso no es lo que espero Sin embargo, en nuestro primer ejemplo, viste que sólo tenía si condición en entonces lo demás. Entonces cuando se trata de una condición simple palabras Eva o es o esta condición es cierta o no es cierto que solo puedes usar un if else. Si tienes cinco escenarios diferentes que necesitas probar o en este caso, tres escenarios diferentes en para probar, entonces puedes escribir si otra cosa si Si Y si sabes que son los únicos tres, entonces realmente ni siquiera necesitas el de lo contrario para que pueda funcionar sin lo más en este escenario. Como dije, esta es una introducción. Entonces solo estamos rascando la superficie con, si declaraciones. Pero voy a pasar a cambiar declaraciones que nos ayuden a hacer selecciones. Pero sólo hazlo un poco diferente. Por lo que la declaración nos da la capacidad de tomar decisiones más complejas donde podemos decir si algo es mayor de lo que podemos comparar con valores o alguna variable con algún otro valor, sea lo que sea que estés comparando, para luego hacer un acción para cambiar la declaración. Tenemos que mirar una variable en, luego tomar una decisión basada sólo en el valor de la variable. Entonces les voy a dar un ejemplo. Por lo que las declaraciones de cambio parecen algo así como encender. Después toma una variable dentro de los paréntesis. Entonces lo que voy a hacer es definir otra variable. Y voy a llamar a este uno Norma tres. Entonces en entumecido tres. Andi, va a ser igual a cero. Muy bien, así que voy a decir cambiar entumecido tres, lo que significa evaluar el valor dentro de apagado numb tres. Entonces voy a ver que está encendido. Entonces puedo dar nuestros valores. Entonces caso uno, luego colon. Entonces por favor conoce la sintaxis, porque esto es muy importante que sigas la sintaxis correctamente, Así dices cambiar brisa abierta o abrir paréntesis. Ponga una variable ahí dentro. Después abres tu corriente una brisa y luego haces un caso es un caso, entonces el valor que quieres dedo del pie evalúa esta variable cuatro. Entonces estoy viendo si el valor off numb tres es uno que digo Colon da la bienvenida después del colon es la acción que pretendo tomar para que vaya a ver consola esa línea correcta en Mantenerlo simple y solo digamos que el valor es uno. Muy bien, entonces. Después de decir eso, entonces necesito una palabra clave para poder enumerar tantas acciones debajo de esto. Entonces lo que venga después del caso será solo dejar que la bienvenida dentro de las llaves para la declaración if . Pero entonces tengo que terminar el caso con una palabra clave. Ese es su descanso. Está bien, para que pueda ver beso uno consorte El valor de la tierra es una vez. Yo sólo quiero copiar esto. Puedo volver a teclearlo. Entonces, ¿y si quisiera hacer otra cosa si el valor era también? Entonces tengo caso a Colón. Después me quedé mi acción alguien para consolar la línea correcta encendido. Voy a cambiar de valores uno y decir algo así como, tengo que saber. Está bien, así que tengo que saber si se imprimirán los valores a ella. Tengo que saber a la pantalla encendida. Entonces, una vez más, puedo imprimir tantas cosas como quiera nuestra toma tantas otras acciones que necesito a alguien para imprimir esto tres veces o tres veces más. Entonces adelante. Esto es solo por ejemplo, solo te estoy mostrando que puedes tener múltiples líneas viniendo tras de mí después del caso sobre el valor y el colon. Y luego cuando termines, solo asegúrate de poner tu palabra clave. Ese es su descanso. Si no pones la palabra clave brake y vamos a ver, me olvidé la palabra clave break. Entonces lo que pasaría es que simplemente se ejecutará para que puedas tener tantos casos como sientas la necesidad de lo correcto. Por lo que tantas situaciones o casos que usted piensa son valores con los que desea comparar esta variable puede tener caso en lo que sea ese valor. Ya que estamos usando en Joe, acabamos de poner el valor del inter. Si esto fuera una cadena, entonces estaría viendo las llaves encendidas, luego poniendo la cadena, está bien, Pero entonces tenemos que mantenerla los tipos sensibles. Entonces si es en variable entera que estamos evaluando que el valor del caso debe ser un entero . Si es un doble, entonces bueno, ha sido numérico. Si está en jar double, si es una cadena que debe ser una cadena, pero entonces de lo contrario tenemos similar al resto. En la declaración if, tenemos una situación por defecto que dice Bueno, si nada fuera del caso es mucho, entonces voy a hacer algo. Por lo que voy de punta adentro fuera del valor predeterminado, esta línea derecha de consola encendido, digamos, valor inválido. Muy bien, Así que sólo estoy comparando para uno on a, lo que significa que si el número tres nunca es uno y nada, tres nunca es demasiado, entonces quiero que el valor predeterminado entre en juego y vea el valor inválido en. Entonces, una vez más, me rompo. Una vez que haya hecho eso. Todo está dentro de ese corsé rizado. Por lo que sólo voy a poner en un prompt para un número tres al mismo tiempo. Entonces después de que lo hagamos con nuestras manzanas y naranjas, voy a ver cuántos ojos tienes. Esa es una buena, ¿verdad? Es o tener un ojo o dos ojos, pero entonces sólo voy a decir valor inválido. Si pones algún otro número, ese no es uno o dos, ¿ verdad? Entonces, ¿cuántos ojos tienes puestos? ¿ Entonces? Voy a consolar eso ¿verdad? Línea derecha Leer. Perdón. En remolque. Numb tres. Entonces vamos a probar esa. Además, no quiero tener que hacer todo esto en contra solo voy a comentar, escribí mi declaración if. Por lo que el carbón para comentar es tecla de control y ver a la derecha Así que mantenga pulsado después de resaltar las líneas en el Salón Control Presione K prissy on. Entonces todas esas líneas que se destacaron se comprometieron. Entonces sabe cuando ejecuto mi programa va a ignorar las líneas comentadas y simplemente ir directo a preguntarme cuántos ojos tengo en luego tomar una acción basada en nuestros valores ? Entonces tengo una I. Entonces fui a decir que el valor es uno bien, Tal vez pueda hacerlo un poco más intuitivo, así que voy a cambiarlo en DSI. Tienes un ojo, está bien. Esto es sólo con fines educativos no es realmente necesario. Entonces si no tienes ganas de cambiarlo, entonces está bien. Pero tienes un ojo en eso. Fui a intentarlo de nuevo, y luego voy a poner en la herramienta de valor. Entonces con dos, esperamos que se impriman cuatro declaraciones y tengo que saber que se imprime cuatro veces. Por lo que una vez más, puedes tener tantas líneas como sea necesario debajo de la funda. En medio de la definición de caso sobre el salto de palabra clave. Todo lo que hay dentro será ejecutado. Entonces vamos a hacer otra, y vamos a poner en el valor de tres. Entonces tres, ya que no hay caso definido para un valor de tres irá al default hasta que nosotros en valores válidos. Entonces eso es básicamente todo el trabajo de declaraciones de cambio. Ah, buen caso de uso para los trajes. Sería como en un menú sentado donde estás esperando ciertos valores. Entonces si dices, como, como, presiona un dedo del pie, ingresa herramienta de prensa de grado para que hayas acordado presionar tres para salir del programa, entonces solo podrías decir, um, obtener la entrada del usuario en el variable on. Entonces estás en un interruptor contra ese valor en entonces, en función de qué caso se eligió, son qué valor se seleccionó. Estás en un caso para eso. Se toman las acciones en consecuencia en, entonces, si entran de muchas opción fuera cinco, cuando se tendrá tres muchas opciones, entonces se tiene el valor predeterminado. ¿ Todo bien? No, Como bono, voy a mostrar que vuelves declaraciones de Eri y dejé ésta para el fin porque ésta puede ser un poco difícil de entender. Siempre son los nuestros usándolo, pero puede ser un poco difícil, pero es muy, muy conveniente una vez que entiendes cómo funciona. Entonces voy a definir otra variable, y voy a llamar a ésta resultados. Entonces este va a ser de cuerda. Yo estoy llamando a este resultado. Está bien. Conoce el propósito de los operadores de Turner para ejecutar una comparación rápida y te permite decidir brillante ahí en el acto ¿qué valor? Asignar toe una variable cuando se cumpla o no se cumpla esa condición. Entonces, en otras palabras, con nuestra afirmación if, si dijera entumecido a mayor que nadie, podría haber hecho una asignación a una variable aquí. Pero entonces tendría que decir Gnome dos es igual a no, no más y mayor que ellos para someterse a otra asignación aquí en luego en este después de la otra asignación, mientras que en un operador de Turner, puedo ver resultado es igual a on. Entonces lo que quiero comparar es entumecido a ser mayor que nadie. Está bien, así que esta es mi condición encendida. Entonces puedo usar Ah, llame entonces. Ya veo. Y creo que normalmente esto tiene que ir en Chipre y la enfermedad. Así es que esto lo pone entre paréntesis. Entonces digo, esta es mi condición en, entonces. interrogación. Perdón, pregunta, Mark. Y entonces no voy a ver más en mayor que entumecido a mayor que no más. Entonces voy a ver qué? ¿ Qué asignamos? Más naranjas. Tienes más naranjas cuando eso es así que tienes más naranjas y luego colon encendido. Entonces vamos a decir que tienes más manzanas. Está bien, así que déjame empezar de nuevo. Acaban de pasar muchas cosas. Entonces tenemos una variable, y luego estoy viendo lo que los contenidos de esta variable dependen de la vieja Come off esta comparación. Por lo que a mi resultado variable se le va a asignar algún valor basado en los resultados de esta comparación, que es decir que es conocido por mayor que el número uno. Entonces tengo el signo de interrogación para ver si esto es cierto. Entonces todo esto es decir, si esta comparación es cierta, entonces estoy asignando ese valor toe estar dentro de fuera resultados, y luego el colon dice lo contrario es este valor. Entonces lo rápido, lo bueno de esto es que en una línea, solo ejecuto una declaración mini if else. Está bien. El inconveniente es que eso es todo lo que podemos hacer. No puedo tener 1/3 escenario para decir si los mayores que son su equivalente. Perdón, no puedo haber escrito escenario, así que solo quiero con una condición y luego digo, basado en el desenlace, si es cierto, entonces quiero que se haga el 1er 1. Si es falso y quiero que se haga la última, no una vez más, esto viene muy útil muchas de las veces, pero las declaraciones si son muy fáciles de hacer. Dichas declaraciones también son muy rápidas. Pero entonces esto. Si entiendes el concepto, puedes usarlo en cualquier momento y agilizar completar tu programa que estás ofreciendo. Entonces voy a dejar este programa se fue toe un encomiar todas estas líneas para que si consigues las manos en el puntaje fuente, entonces tendrás todos estos ejemplos para ti y el dedo en comentario. Eso es control K tú. Entonces déjame solo mostrarte eso. Entonces si soy un online y quiero entrar a tomar bajo control estatal. Casey on, Entonces empieza a encenderlo, entonces si quiero en comentarlo, solo puedo decir control K U. Y ahí tienes. Por lo que presionas k y tu puedes ver mientras mantienes pulsado Don't Control son así que eso es todo para las declaraciones de condición , eso es un pincel sobre. Espero que entiendas los conceptos si no te sientes libre de llegar a mí. Pero a medida que avanzas, vamos a estar usando sus más y más. Por lo que llegarás a apreciar escenarios riel donde necesitarás hacer selecciones y decisiones basadas en valores que están entrando en tu sistema. 11. Declaraciones de repetición: en este video estará mirando las declaraciones de repetición en C agudo. Ya he creado el proyecto en este momento. El nombre del proyecto es declaraciones de repetición. Andi, ya he montado la iniciada la guía lo que vamos a estar viendo. Podrán posicionar video aquí y seguir adelante y crear el proyecto y configurar su expediente de corte a la mina de pinza. No, ya revisamos para controlar las estructuras. Miramos secuencia donde ese es el orden en el que el tribunal ejecutará. Entonces de arriba a abajo, la forma en que estás, es la forma en que se ejecutará. Después miramos la selección donde obtenemos dedo del pie una situación en la que necesitamos comparar con valores y luego tomar en acción basada en el todo sale de esa comparación en esa selección más tomando una decisión. Entonces, no, vamos a ver cómo repetimos una acción sin tener que escribir la línea más de una vez. Entonces, en nuestro ejemplo anterior, donde estábamos mirando selección y solo voy a ir a mi proyecto de estados de condición y dar click en ese programa punto CS, imprimimos la misma línea cuatro veces. Nos escribieron literalmente esta línea cuatro veces. Ahora hay una forma de que pueda repetir esta acción sin necesidad de repetir la línea, porque no, si quería cambiar la frase, entonces tengo que entrar manualmente y cambiarla por diferentes tiempos. tanto que si pudiera repetir imprimir la frase cuatro veces sin cambiar la frase o más bien repetir cuatro veces, Pero entonces necesito cambiar la frase de lo que sólo necesitaría cambiar la frase una vez, pero seguiría yendo cuatro tiempos. Entonces esa es la ventaja que los bucles nos traen la capacidad de repetir en acción. Entonces ven que he delineado tres tipos fuera de techos que estarán viendo hoy. Ahí hay 1/4 y creo que también hay 1/5. Pero entonces, para no, solo estoy mirando a estos tres porque estos tres son días medios y están en cada idioma que alguna vez vas a hacer en el otro un tipo off como aplicaciones especiales, que estarán mirando más adelante. Entonces el bucle cuatro es lo que llamamos un bucle de control de contador, así que contador controlado significa que estoy sentado el número apagado veces que quiero esta repetición cuatro. Entonces si quería que algo pasara cinco veces, entonces puedo precisar que quiero pasar cinco veces no menos y no más. Por lo tanto, veamos la sintaxis para un bucle for. Por lo que empieza con la palabra clave para y luego abrimos paréntesis y luego dentro de los paréntesis. Tenemos algunas cosas que tenemos que hacer. Una, necesitamos definir lo que llamamos el contador. Por lo que nuestro contador va a mantener un seguimiento del número de veces que se está ejecutando. Por lo que necesitamos a mí el contador tiene de valor base. Y yo sólo voy a decir que aseguré que la adoración realmente no importa. Te vas a verbal puede tener cualquier nombre. Podrías llamarlo conos, pero solo asegúrate de tener una variable ahí, así que lo estoy llamando así en tailandés es igual a cero. Entonces estoy inicializando mi contador del dedo del pie, algo que es muy básico, muy bajo en valor sobre lo estoy empezando en cero. Entonces tengo un semi colon. Entonces veo menos que en. Entonces le voy a dar el valor de que siempre debe correr para ser menos que así. Aquí es donde se puede poner complicado y yo solo voy a Travis Toe, explícalo para que entiendas por qué se va a escribir de esta manera. Entonces voy a decir yo que va a tener un valor inicial de cero menos de cinco andan punto y coma otra vez y luego yo más más. Ahora déjame explicar lo que está pasando aquí. Por lo que tengo un colador en dime inicializándose en cero. Entonces tengo un padecimiento donde estoy viendo. Repite siempre y cuando esta condición esté bien, como se cumpla, luego continúe repitiéndose el. Entonces tengo esta sección, que es la incriminatoria, diciendo que la variable contador está contando cuántas veces se ejecuta. Por lo que quería correr cinco veces en la primera carrera. Tendrá un valor de cero. Entonces hará la comparación. C cero es menor a cinco. OK, entonces se ejecuta, luego se incrementa. Entonces no, yo soy uno. Entonces se compara es uno menos de cinco que es. Entonces vuelve a correr y luego va a hacer eso y hacer eso hasta que lleguemos dedo siendo igual a cinco, y luego lo revisará. Cinco es menos de cinco, lo que todos sabemos que no es cierto. Cinco no es menor que 55 es igual a cinco, por lo que entonces saldrá del bucle. Ahora probablemente te estés preguntando, OK, entonces ¿por qué el cero? ¿ Y por qué? Calculado es menos de cinco. Bueno, si pones tu mango ahora mismo y haces las matemáticas y no vas a cero, ese es un dedo. 1234 Entonces habrías contado los cinco dedos de tu mano. Por lo que es una práctica típica comenzar realmente con tu contador a cero. Entonces sólo deja que la comparación lo ejecute hasta que sea menor que el número que desea detener ese derecho? El alternativo sería si empezara esto a una. Entonces tendría que cambiar mi condición para ver que debería ser menor o igual a cinco . Por lo que habría mirado muy brevemente el menor que o igual en la sección de selección. Pero lo que estoy tratando de señalar es que típicamente, si miras algún otro ejemplo, si pausas este video y vas a Google un ejemplo de cuatro bucles vas a ver con más frecuencia que no, que inicializan el contrato cero el. Después hicieron correr la condición hasta que sea menor al número previsto fuera de las ejecuciones. Entonces es cero, luego convierte al que convierte en él y convierte a los tres. Después se convierte a cuatro fuera el punto, se convierte en cuatro. El bucle se habría ejecutado cinco veces. Entonces cuando se convierte en cinco, hace esta comparación se dio cuenta de que esto no es violado en. Entonces saldrá del bucle. Entonces eso es parte uno off writing o for loop. Entonces, después de hacer eso, entonces necesitamos nuestros aparatos ortopédicos. Por lo que notas que las llaves son como un estado medio las funciones las necesitan si las declaraciones las necesitan. Y no, vemos que los bucles los necesitan, ¿verdad? Entonces lo que sea que leamos al interior de las llaves constituiría la acción que se está haciendo cada vez. Entonces digamos que quería imprimir soy ganadora cinco veces. Voy a decir consola esa línea correcta. Línea derecha en. Entonces. El texto que estoy escribiendo a la pantalla es yo, um ah, ganador con un signo de exclamación en caso, las cápsulas de aceite y tos Cleary. Está bien, así que soy un ganador y quiero que se imprima cinco veces a la pantalla. Entonces recuerda que en el primer ejemplo, no lo hice manualmente escribiendo la línea varias veces Esta vez la estoy escribiendo una vez, pero quería imprimir cinco veces. Algunos van a cambiar mi inicio un proyecto con declaraciones de repetición de glitter. Y luego vamos a ver esto y ver si cuántas veces se va a imprimir. Está bien, entonces vemos que soy un ganador siendo impreso cinco veces. Entonces este fue el momento en que se imprimió mientras yo estaba cero encendido. Entonces se fue, son propiedad. Entonces hizo la acción y golpeó la brisa actual. Después volvió dedo del pie uno incrementos. Entonces hice un I plus Plus que incriminó de 0 a 1 en adelante. Entonces hizo la comparación para decir ¿Todavía tengo menos de cinco? Fue Así corrió de nuevo. Entonces hizo lo mismo volvió incriminado. Entonces no, yo estaba demasiado encendido. Entonces ocurrió esa comparación. Se da cuenta de que aún estaba a menos de cinco en. Después volvió y luego se fue a tres, y luego se fue a cuatro. Y luego cuando golpeó los cuatro en, entonces lo hizo incremental en el DNO. Tenía un valor de cinco. Lo hizo. El comparativo sobre cinco no es menor a cinco. Por lo que esta condición no fue violada. Por lo que volvió a las autobibliotecas y luego salió. Entonces cualquier otra cosa hubiera estado aquí en adelante, digamos que dije Toe consola esa línea correcta en entonces esta es una manera agradable, genial de conseguir, como, como, algo de espacio. Entonces si quieres, como un espacio en blanco entre dos líneas, ya sabes, consola esa línea correcta. Quiero un espacios vacíos bajo consola de tienda. Esa línea correcta en él te da un espacio en blanco justo encendido. Acabo de duplicar presionando disidentes de control al estar en la línea control de on. Eso duplicará la línea en eso. Voy a decir para Luke terminado. Está bien, así que intentemos eso otra vez, alguien que ejecute esto una vez más. Y entonces aquí vemos que ejecutó todo y luego, al salir, siguió ejecutando el resto fuera de la cancha. Entonces esa es una secuencia otra vez por lo que no se moverá hasta que se hiciera todo lo que necesitaba hacer dentro del bucle, que era imprimir esto cinco veces para correr cinco veces y lo que sea que le dijera que hiciera 45 veces . Después una vez terminado, pasó a imprimir el espacio en blanco. Esa es una consola vacía. Esa línea correcta en, luego imprimir para bucle terminado? No, voy a hacer un poco de modificación del dedo Lo que hace dentro del bucle for. Voy a imprimir otra línea. Entonces recuerda que tantos comandos como quieras repetir, podemos poner siempre y cuando estén dentro de los dos calibración alguien toe consola esa línea derecha en este momento, quiero imprimir el valor de la variable ing incremental o la contador. Correcto. Entonces esta vez voy a decir contador encendido, sólo me voy a poner ah Colon. Entonces voy a usar mi interpolación encendida, luego enchufar ese valor. Entonces solo voy a decir que estoy bien, así que cada vez que el bucle ejecute el valor que tenga, voy a estar imprimiendo en la pantalla solo para que veas que empieza con cero encendido sube a cuatro, pero lo haría alguna vez en cinco veces. Está bien, así que déjame intentarlo otra vez. ¿ Todo bien? Entonces, no, vemos que soy un ganador en el contador valor cero. Entonces soy una ganadora otra vez. El valor del contador va a uno de 2 a 123 luego dedo cuatro. Por lo que 01234 equivale a cinco ejecuciones. Está bien, entonces es buena práctica entender por qué empezamos en cero. Porque cuando obtienes un aumento y colecciones, entonces vas a entender que la computadora en realidad empieza a contar desde cero en como seres humanos, tendemos a ignorar cero. Empezamos a contar uno, Claro, pero la computadora empieza a contar a cero. Por lo que es bueno apreciar por qué empezaríamos a contar desde cero. Dicho eso, no necesariamente tuve que empezar de cero. Pude haber empezado desde 50 y contando hasta 55. Y así podría haber dicho el Contra debería empezar ya que 55 en git debería ejecutar hasta que llegue a 80. De acuerdo, así que cualquiera que sea el número de horas fuera va a ir entre 55 80 o si haces las matemáticas y dices una T menos 55 Cualquiera que sea el número que obtienes, ese es el número de veces que se van a ejecutar. Está bien, Entonces si solo hago eso rápidamente, el resultado final de eso es esta línea. Yo soy un ganador y el contador que se imprime a partir del 55 que es un valorado arrancó con hasta el 79. Lo que significa que cuando se 80 violó esta condición on, Saltó fuera encendido. Eso es más o menos para cuatro bucles. Entonces este es un ejemplo muy sencillo, pero sostengo que lo aprecias. Alguien va a restablecer esta cancha para que cuando veas el ejemplo en el que lo veas, solo voy a añadir la impresión de muestras cinco veces. Muy bien, entonces ahora tenemos algunos comentarios para guiar lo que esto está haciendo. Está bien, así que no vamos de vez en cuando. Entonces el bucle while es lo que llamamos un bucle controlado por condición. Y luego anexé eso con la expresión pre check. Entonces cuando hacemos el do while, entonces ves lo que realmente significa el pre versus el post? Pero ahora mismo sólo me voy a centrar en el control de condición. Por lo que la parte de control de condición de la misma significa que va a continente ejecutándose hasta que se viole una condición o continuará ejecutándose mientras una condición es verdadera. Entonces con nuestro for a loop, fue contador control, lo que significa que sólo estamos ejecutando por un número finito de veces porque sabemos que queríamos hacer cinco veces. Por lo que especificamos son lo escribimos de una manera para asegurarnos de que no exceda de cinco veces. No obstante, si queremos que algo siga y continúe y continúe hasta que se viole ah, condición particular se cumpla, entonces usaríamos algo así como un bucle while. Entonces la cosa es, que sepas que con el bucle de alambre puedes tropezar con lo que llamamos un bucle en finito, donde si escribes la cancha por el tiempo, bucle en la condición nunca se viola, nunca saldrá de ese bucle en DSO. Se ejecutará encendido y encendido a la derecha. Siempre están las computadoras encendidas en cualquier condición que se requiera para que se esté ejecutando nuestra querida, simplemente seguirá ejecutándose. Entonces voy a empezar mostrándote un ejemplo fuera de nuestro en bucle finito con lo salvaje para ello. Por lo que quiero declarar una variable simple y llamarla. Yo le doy un valor de cero que voy a decir un rato y es equivalente a cero en el notado esto en pláticas, tenemos la palabra clave mientras y luego abrimos los paréntesis y luego ponemos en nuestra condición igual que todo lo haríamos han hecho con la declaración if. ¿ Verdad? Entonces la única diferencia entre ella y la declaración es que en lugar de decir si decimos mientras está bien, entonces decimos mientras se abren paréntesis, poner en la condición encendida, luego abrir llaves con nuestras acciones, ¿ verdad? Entonces la forma en que he escrito esto y no va a cambiar de cero. Entonces esto va a decir un rato y tiene el valor es equivalente al valor cero. Yo quiero hacer esto, alguien para escribir dos líneas y simplemente copiar líneas existentes. Alguien dedo del pie imprime una línea en blanco, y luego voy a ver en mientras mira bien. Entonces mientras el bucle se está ejecutando, se va a imprimir, digamos, en alambre, Mira, luego la línea en blanco. Por lo que se va a ver de lado dentro mientras bucle encendido. Estamos imprimiendo una línea en blanco después de eso. Ahora solo voy a comentar este barco rápidamente para que no se ejecute mientras ejecutamos este programa porque, no, quiero enfocarme en el bucle while y vas a notar que solo va a imprimir continuamente y nunca parar. Entonces déjame ejecutar. Asegurarte en. Eso es lo que parece. Entonces ya ves, es solo imprimir, imprimir, imprimir, imprimir, imprimirlo , decir dentro de bucle de alambre y se puede ver que puede como un espacio en blanco. Te fijas en la maldita piratería que sólo pasa y sigue y sigue y sigue y sigue y sigue y sigue. Nunca se detiene, y eso es lo que llamamos una mirada infinita. Estos bucles infinitos son conocidos por romper computadoras, Así que si tu computadora falla, ¿quién y tú haces esto? Lo siento, Um, pero tengo, ah, máquina tristemente poderosa, así que al menos sé que esto no traerá mi máquina. Pero el hecho es, si tienes razón, pobre acorde en grandes aplicaciones on, ¿Conseguiste esto o terminas con esta situación? Estas situaciones están en bucles finitos, pueden derribar sistemas. Está bien, así que quieres asegurarte de que entiendes todo mientras los bucles funcionan para que no cometas este error en ningún momento. Está bien, así que salgamos de eso y miremos cómo debemos escribir while bucles para sacarle el máximo provecho o para aprovechar la condición mientras no conduce a un bucle infinito no o condición se basa en el hecho de que en es equivalente a cero. Por lo que va a correr mientras L n lo siento equivale a cero. Entonces, ¿qué pasa si cambio esto? Guy dijo algo así mientras En es menos de cinco. Está bien. Entonces mientras el valor off y es menor a cinco, yo quería hacer esto. No, basado en la forma en que está escrito, esto seguirá siendo un bucle infinito porque cualquier 00 es menor a cinco, y no estoy haciendo nada para cambiar el valor off in on. Por lo que siempre van a ser menos de cinco meses para seguir ejecutándose. Entonces eso significa que lo único que puedo hacer para asegurarme de que esto sea violado eventualmente es asegurarme de que estoy cambiando el valor o poniendo algo en su lugar que cambie el valor . En algún momento sobre esto compara un testamento se rompa o se cumplirá o violará esta condición . Más bien, en algunos puntos que es conveniente sostener. Queremos un programa para que funcione. Por lo que quiero que esto se imprima cinco veces. Sí, logramos algo así con un bucle for. Pero solo estoy demostrando que puedo lograr algo que con el bucle while. Pero los dos pasados haciéndolo van a ser muy diferentes. Por lo que necesito saber Asegúrate de que estoy cambiando el valor en remolque, algo que eventualmente superará nuestro valor. Eso hace que esta condición sea verdadera. Entonces solo voy a agregar 1/3 de punta de línea dentro de mi bucle de alambre encendido. Entonces voy a decir y es igual para terminar cerrar cinco. Está bien. Lo siento y es igual a N más uno. Entonces cuando digo cualquier fácil, ve a n más uno, recuerda, recuerda, discutimos que esto se podría acortar para simplemente ver y cerrar igual una vez. Oh, no. Va a estar sumando uno a sí mismo cada vez. ¿ Verdad? Entonces está pasando por uno. Hasta que eventualmente va a ejecutar de extremo va a tener un valor que no va a hacer . Eso no va a ser menos de cinco, y así lo son un bucle de alambre saldrá. Entonces vamos a probar que también ejecutar. Y aquí vemos que literalmente imprimió el número correcto de tiempo. Entonces al igual que con el bucle for donde empezamos con un cero y nos enfermamos, eran menos de cinco. Empezamos con n siendo cero encendido entonces solo estamos revisando la condición que es menor a cinco. Pero no hay nada en el bucle ni en la estructura fuera del bucle. Eso no es naturalmente, eso nos ayudará a cambiar el valor. Y así fueron hacerlo manualmente poniendo acumulaciones. Llamará a esto un acumulador cuando hagas un incremento variable por sí mismo, más otro valor. Muy bien, entonces cuando dije n igual a n más uno que lo está haciendo un acumulador son más iguales. Entonces ahora estoy acumulando valor cada vez que se ejecuta. Entonces eventualmente lo será. Um vamos a cumplir con esta condición ahora. Este es un ejemplo muy sencillo sobre no muy práctico. Es decir, hay situaciones. Puedes usar esto, pero soy más útil Forma de usar en el bucle while es decir, comparar la entrada del usuario al obtener la entrada del usuario, violar la condición y seguir haciendo esto hasta que el usuario viole la condición en el bucle saldrá. Está bien, así que tomemos tu experiencia con un A B. M, por ejemplo. Y un B M probablemente siempre te preguntará, ¿Quieres continuar? Si dices que sí, continúa si dice que no y luego repite los mismos pasos siempre y cuando sigas diciendo que sí. ¿ Verdad? Tan literalmente. Todo lo que tienen es realmente un bucle de alambre que está permitiendo hacer operaciones en. Entonces puedes indicar cuándo quieres que se detenga. Y luego cuando le des la condición que dice parar, entonces dirás : Está bien, Está bien, esa condición ha sido violada. Déjame seguir adelante. Entonces voy a modificar esto y voy a ver consola esa línea correcta encendida. Quiero decirle al usuario que introduzca un número, está bien, y voy a decir cero dedo cuatro. Entonces le estoy diciendo al usuario que ingrese algún número entre 0 a 4 en. Entonces voy a hacer una línea de lectura donde voy a decir y es igual a convertir. Perdón habló. Convertir convertidos equivocados a en 32 el día, voy a decir Consola, eso es línea de lectura. Por lo que estoy aceptando la entrada del usuario en no voy a aumentar porque no, tengo al usuario determinando el valor off en cada vez. Justo en ir a tomar toda esta consola esa línea de rata. Bueno, déjame volver a ponerlo. Y luego voy a imprimir la pantalla en la que entraste. Yo quiero ver que ingresaste ese número. Está bien, así que déjame ponerme mi interpolación de signo de dólar. Entonces, lo que se espera que haga este bucle es que va del dedo del pie del usuario para ingresar un número . Si entro cero, entonces si entro cero, entonces se imprimirá. Entraste cero, y luego va a volver y se va a revisar. El estado es cero menos de cinco. No, no lo es. Entonces va a decir en turno número otra vez encendido entonces va a seguir haciendo eso hasta que ponga un número que claramente no es menor a cinco o bien claramente viole esta condición. Entonces intentemos eso. Por lo que en poner un número en die, poner en tres percenter. Usted en. Entraste tres y luego me está impulsando de nuevo. Por lo que entré tres. Se imprimió que entro árbol en. Después vino, Hizo la comparación. Me doy cuenta de que esta condición sigue siendo cierta porque tres es menos de cinco. Entonces se adelantó y me pidió otro número. Si pongo cuatro, lo volverá a hacer si pongo uno. Si pongo el negativo cinco siempre y cuando un número no lo sea, es un largo como el número sea menor a cinco, entonces continuará dedo hacer esta operación. No. Si pongo en 10 saldrá. Está bien, pues déjame poner una declaración adecuada para ver que ha salido. Entonces solo estoy tomando esto Previamente, Juan en comentarlo y ver teclado tiburón fue solo hacer que sea fácil de maniobrar. ¿ Verdad? Entonces, um, mientras terminó bucle. Está bien, así que intentemos eso otra vez. Entonces tenemos 0 a 4. Pongo cero. Me pongo cinco, entonces. Bueno, está bien. Por lo que entró cinco. Hizo eso prematuramente, pero eso está bien. Entonces entré a cero y solo decía: Vale, Vale, aquí estamos nosotros y cinco le avisan de nuevo. Después entré cinco. Llegó a la comparación. Cinco no es menor a cinco. Y así simplemente bajó a este corsé rizado y luego continuó con la ejecución donde apenas dijo por qué terminó Luke. Muy bien, Así que básicamente así podemos usar mientras perdemos, porque una vez más, va a correr contra la condición, y queremos asegurarnos de que esta condición pueda ser violada legítimamente. Entonces porque si no hacemos eso, entonces todas las operaciones en un bucle while se está repitiendo se repetirán hasta que esa computadora apague Andi, puedo dejar el dedo del pie plomo a alguna sobrecarga de buffer o memoria y todo tipo de cosas que nosotros no quiero. Entonces al escribir bucles controlados de condición, asegúrate de que la condición pueda ser violada en algún momento y legítimamente por lo que ahora pasamos a nuestro do wild Andi. Yo sí dije que mencionaría el pre versus post, lo que la razón que llamamos al por qué mirar, la pre comprobación es que se va a revisar esta condición antes de que se ejecute. Entonces si inicializé y dedo del pie tengo un valor de descuento cinco o digamos 10 entonces lo primero que va a hacer es chequear. ¿ Es cierta esta condición? Esa es la pre comprobación es la condición verdades? Si algún Sten on 10 no es menor que cinco, entonces nada aquí se hará. Simplemente pasará a decir mientras terminaste. Entonces eso es un pre cheque. El post check lo hará antes, Así hará la acción en Entonces comprueba la condición. Correcto. Entonces déjame solo, um, justo el do while. Y yo voy a hacer la misma operación dentro para hacerlo bien. Pero luego veremos la diferencia en la ejecución. Entonces la sintaxis para do while es la palabra du de, o abrimos y cerramos las llaves en. Después en el corsé rizado de la ropa, hay que decir mientras está encendido entonces pones en tu estado cheque. Entonces la parte salvaje se ve igual a la regular Bueno, así que sólo voy a copiar este MPC no Aquí se ve igual. Está bien. Entonces que la única diferencia es que decimos mientras está encendido luego abrir el calibra el do. Diré: Haz esta acción. Haz lo que esté dentro de los tirantes rizados. Después revisa el estado después. Entonces éste requiere un punto y coma al final del mismo. Entonces ahí es donde te puedes poner un poco complicado, porque entonces ves eso o nada de punto y coma y cínico Y para éste y allá y allá . Entonces, realidad, Ángel es sólo una práctica que te va a hacer que te habituen eran poner los puntos y comas y no estamos demasiado bien. Y visual studio siempre está listo para darte esa alentadora línea roja para recordarte que Hey, hay algo que falta aquí. Entonces te está vendiendo punto y coma se espera. Lo pusiste ahí, y todo está bien en el universo después de eso. Por lo que sólo voy a copiar estas acciones rápidamente. Pero dentro del do mientras en Patel en el espacio para que podamos ver exactamente qué está pasando en. Entonces pondré la declaración que nos dice cuando termine el bucle do while. Está bien, así que en realidad no voy a venir en este otoño invierno. Ejecutarlo para que el valor de N sea 10. Recuerda que la precomprobación va a comprobar la condición Si la condición es cierta, entonces hará lo que es lo que le dijimos que haga. Entonces volverá y volverá a poner la condición. Si la condición no es cierta, entonces no hará nada bien, mientras que con el Doyle hará algo encendido y luego comprobará. Entonces eso significa que tengo la oportunidad en este de cambiar el valor de n de 10 en adelante. Entonces puede. Bueno, podemos violar eso, o puede hacerlo cierto. Entonces sólo dirá: Oh, Oh, esta condición es cierta. Hagámoslo otra vez Así lo haré al menos una vez, así que intentemos eso. Por lo que hago click, inicio y aviso. El primero que sprint la pantalla es algo que nos diga que hagamos el bucle while está terminado. Entonces ya sabes, simplemente se lo saltó. Como lo dije, solo revisa el padecimiento. 10 menos de cinco eso es falso no te molestes con eso imprimir la línea en blanco sobre Dame el tiempo que terminó. Pero entonces el do while me está pidiendo el número así que está haciendo la acción en, entonces me está dando la oportunidad de poner el número y luego comprobará la condición. Está bien, entonces si queremos hacer algo al menos una vez, es cosa repetible. Pero quieres asegurarte de que suceda al menos una vez. Entonces quieres usar un do while. Muy bien, Entonces quiero introducir un número y digamos entrada tres. Se repetirá. Está bien. Por lo que cuando entré tres sin necesidad, entonces golpeó la condición y árboles menos de cinco. Entonces decía: Bueno, Bueno, hazlo de nuevo entonces, esta vez con el Enter cinco o bien, he dicho 56. Eso está bien en el 56 ingresado que claramente no es menos de cinco en DSO. Simplemente pasó a decir, mientras que loop do me veo está terminado. Entonces esa es la única diferencia entre el tiempo. Y hacer mientras el do bien hace eso menos una vez en cheques después, mientras que el bucle while va a hacer, comprobará antes de que lo haga, y luego recordamos eso o cuatro bucle y otros ONU comentó. Antes de terminar esto, el bucle for está configurado para correr por espera. Muchas veces queríamos correr. Eso es todo para declaraciones de petición en C Sharp, recuerda practicar y pensar en escenarios donde tal vez los necesites. vamos a estar usando o en nuestro proyecto, pero para no, esta es una introducción. 12. Métodos y tipos de retorno: este video trata sobre métodos y funciones en C. Sharp. Ya he creado mi proyecto. Yo lo llamé métodos en. Puedes hacer una pausa aquí y seguir adelante y crear ese proyecto y continuar una vez que lo hayas hecho en cualquier lenguajes de programación fuertemente tipados, Hay predominantemente dos tipos fuera de funciones o métodos. Yo digo que las funciones y los métodos pueden apagarse indistintamente. En realidad son lo mismo. Entonces ah, función o un método puede ser vacío, lo que significa que no devuelve un valor sobre él puede ser valor regresando Ahora quiero empezar con evitar porque es realmente fácil explicar por qué necesitas un vacío. Pero antes de hacer eso, voy a señalar que ya tenemos una función que ver como ejemplo. Entonces tenemos estática, vacío, significa Así que habría dicho varias veces que conocemos funciones porque toman el paréntesis en el y fuera. El término desescribe estático. Evitar significar que es nuestra primera función. Observe su anatomía sobre también el hecho de que éste también es evitar. Entonces si voy a estar haciendo función de evitar, puedo usar media como mi plantilla. No usaré la palabra estática Esa es una especie de palabra especial para una situación especial. Por lo que solo lo mantengo simple y diré, Evitar nombre de impresión. Por lo que quiero que mi teléfono se muestre que se llame nombre de impresión no están encendidos. Entonces necesito que el padre se apodere. Entonces necesito cuerpo de Mike Alibris. Entonces si lo miras, la única diferencia entre ella y la media es que, bueno, bueno, yo y tengo algo dentro de los paréntesis, y también tiene una palabra clave estática, pero por lo demás son más o menos lo mismo, y no a mí. Ahora, permítanme explicar qué significa cada componente. Por lo que empezamos con nuestro modificador de acceso. Entonces tenemos estática aquí. Ese es un ejemplo de modificador en acceso. Hay otros, pero ahí sólo voy a dejarlo con eso. Entonces ese es un ejemplo apagado en modificador de acceso. Pero entonces tenemos el tipo de devolución. Entonces en este caso, una vez más, es vacío y vacío significa que no necesita devolver nada. Alguien que explique lo que quiero decir cuando sigo viendo eso es devolver algo o no tan evitar es nuestro tipo de retorno, que no significa nada. No estamos devolviendo nada. Entonces tenemos el nombre que lo estoy llamando nombre de impresión. Este se llama mezquino, pero no puedo tener otra función que me llame Eso es eso la mayoría de veces ilegal. Es mucho en unas circunstancias especiales donde tienes que saber exactamente lo que estás haciendo, y eso se llama sobrecarga de funciones. Pero esa es una conversación para otro momento. Pero lo mejor es saber que no deben tener el mismo nombre a menos que sea muy, muy deliberado. Por lo que evitamos el nombre encendido. Después tenemos las listas de parámetros con sus no parámetros para pasar. Entonces sabemos que el para los paréntesis permanecen vacíos. Entonces en el caso off mean está esperando un parámetro off type string significado o string ari, lo que significa que si voy a estar llamándolo Andi, estoy proporcionando valores. Tienen que ser off type string y en formato aireado. Entonces sigamos con nuestra sencilla función de vacío. Ese es su nombre impreso y todo. Yo me voy a reunir. Esto también lo es. Haz una consola, esa línea correcta. Sólo tienes que hacer bien mi ortografía, bien, y estamos imprimiendo mi nombre Travel o Williams. Eso es todo lo que va a hacer. Entonces tenemos una función llamada nombre de impresión en su único propósito es ejecutar esta línea que dice Imprimir a la consola, el nombre Trib o Williams Así que la función puede hacer muchas operaciones, ya sabes, igual que Oh, hemos mirado el cuatro Loop y el if statement y tantas líneas fuera de cancha o comandos que le das el programa entre los llaves de cualquier cuerpo fuera de cancha. Entonces puedes hacer eso muchas operaciones. Podría pedirle que ejecute un bucle de cuatro dentro de la función. Podría pedirles que hagan una declaración si algo que ponga dentro. Ahí lo va a hacer. No obstante, más importante después de definirlo en realidad es llamarlo. Entonces esta es una definición, por lo que hay una definición de función nula encendida. No, realidad necesitamos llamarlo así en el cuerpo fuera del medio que cumpliría con la llamada de función. Entonces lo que pasa es que cuando hacemos clic en iniciar, el estudio visual está buscando una función que me llamó, y por eso habría dicho, No modifiques nada en esa línea o las llaves están buscando esta función. Si esta formación no está ahí, entonces no tienes programa. Todo se ejecuta dentro de esta función. No, si se lo digo, la primera línea es buscar otra función. Entonces hará una pausa. Mira dentro de este archivo de clase y noté que definí la función dentro de la clase Curly llaves. Entonces cuando consigamos las clases sobre objetos y eso lo apreciarás mejor. Pero al definir la función, asegúrate de que está dentro de la clase llamada Programa, y no está dentro significa que es su propia función, y en realidad es como un hermano fuera de mí. Y es su propia persona, ¿verdad? Es capaz de hacer muchas cosas, pero simplemente no tiene el nombre medio, bien, así que cuando hago una llamada de función, se va de pie. Bueno, primero del programa ejecuta media. Después ve el teléfono mostrando llamada encendida. Después busca un formulario que se muestra llamado Cualquiera que sea el nombre que especifiqué. Entonces llamo a los nombres de impresión de función, por lo que eso significa que una tarjeta de función tiene que ser a mi nombre de impresión de función. Y luego tengo que abrir y cerrar las llaves para especificar que esta es una función. Ahora ves que tengo una línea roja debajo de mi función y básicamente el mensaje de error. Si no sabes lo que estás haciendo, está apagado. No hay ayuda. Entonces sí dije que tenemos modificadores de acceso en estática es uno de ellos. La estática no siempre es necesaria. Pero en esta situación, porque significa vacío estático es la función principal en su no todas las versiones fuera de incautación que realmente tiene. Es estático. Entonces eso es a lo que no quería llamar demasiada atención. Pero si lo haces están usando ah versión de convulsión que tiene es un medio vacío estático y está buscando una función. Si informa a algún puesto ahí para estar fuera valor modificador de acceso igual. Está bien, Así que va a estar diciendo que no puede encontrar tu teléfono sean nombre de impresión porque no conoce el acceso que atestiguan. Es que tengo toe upend nuestro pre escrito esto con el mundo estático encendido. Entonces nuestros errores desaparecen. Por lo que ninguna llamada a función ar está funcionando. Tenemos nombre de impresión en. El expectativa es que cuando presiono inicio, va a arrancar significa mirar adentro y ver que lo primero que debes hacer es función Carless que va a saltar. Busca la función y te das cuenta cuando hago clic en la formación aquí, resaltó la definición correspondiente en. Entonces se va a ir a esta función y decir: ¿Qué debo hacer? Entonces, cuando esté hecho, vuelve y continúa la ejecución. Entonces solo voy a poner una pequeña consola de línea derecha debajo de la llamada de función para ver la llamada función final. Está bien, así que intentemos eso. Está bien, así que ahí vamos. Entró en mezquino, luego fue al teléfono. Sean call hizo lo que la función le dijo que hiciera, que era imprimir cualquier valor que le diera. Entonces cuando se hizo, continuó la ejecución fuera de mí. Y hasta el final. Ahora eso fue bastante guay y fácil. ¿ Y si quisiera un bajo los usuarios para ingresar sus nombres, y luego quería una función que se dedicara a imprimir los nombres que se introdujeron. Entonces ahora voy a hacer esa función más. Creo que ya mencioné antes dónde voy a tener otra función que es un nombre de sprint . Pero entonces esta vez va a aceptar lo que llamamos parámetros, ¿no? Entonces, no, voy a entrar en dos conceptos diferentes. Una es la sobrecarga de funciones donde sólo voy a duplicar. Yo sólo voy a duplicar eso, acuerdo? Y luego te das cuenta de que un estudio visual no está llorando porque dice que ya tiene una función llamada así. Y entonces éste está llorando porque está viendo no sé con qué función se supone que debo estar hablando ahí. Estoy viendo múltiples referencias fuera de la misma función. Conoce, para diferenciar la herramienta me voy dedo del pie agregar lo que llamo parámetros al 2do 1 que creé . Por lo que los parámetros son variables que hay variables que estoy declarando dentro fuera de la función en ellos mucho para pasar valores. Y luego se puede tener acceso a ellos dentro de la operación. ¿ Verdad? Entonces déjame hacerlo despacio y explicarle todo a medida que voy. Entonces sí dije que quería un bajo el usuario para poder ingresar su nombre. Y entonces la función va a imprimir lo que sea que entraran. Entonces eso significa que voy a tener una función con el mismo nombre nombre nombre de impresión, pero está afectando para obtener algún valor del usuario. Entonces para el parámetro, si estoy pidiendo un nombre del que puedo decir. Nombre de cadena. Muy bien, entonces es una variable. Tengo que darle el tipo de datos en el nombre al igual que Oh, cualquier otra variable está definida. Muy bien, entonces. Una vez que haya hecho eso, puedo usar esa variable dentro de mi función para hacer cualquier cosa para poder simplemente consolar ese nombre de línea correcto. Entonces una vez que ese valor quiere, esa función se llama y que los valores pasan, entonces solo voy a imprimir el valor y sale de la función encendida, luego vuelve a significar So aquí. Entonces, ¿vamos a llamar a éste? No. Entonces recuerda que cuando tuvimos imprimirme donde ambos son nombre de Sprint con todos los parámetros, esta llamada de función dio error. Entonces sólo voy con el dedo del pie a la derecha. Algo rápidamente para decir consola punto Línea derecha en tu nombre en. Entonces voy a definir una variable on. Voy a llamarlo y solo alguna cadena llamada y y voy a escribir leer la entrada proveniente de nuestro usuario. Está bien, así que esto puede parecer mucho trabajo ajetreado, pero está bien. Um, vamos a estar de paso. Y así lo que entre a través de la consola una vez que la persona ingresa su nombre. ¿ Estamos empezando en que te voy a mostrar cómo meterlo en la función? Está bien. Entonces ah, la función puede ser para cualquier cosa. Puedes usar esa función para hacer cualquier cosa. Lo estoy usando para hacer algo muy simple ahora mismo, así que en realidad voy a hacer algo diferente, verdad? Para que parezca que tiene más sentido. Entonces voy a imprimir nombre en mayúsculas. Voy a decir nombre dot Toe Cooper. De acuerdo, así que esa es otra función en nuestro catálogo off string manipulation funciones donde voy a pasar en el nombre del usuario. Y luego se va a imprimir nombre en mayúsculas. Entonces dedo del pie pasarlo a impresión cerca Voy a hacer otra función. Llama, luego mira lo que hace el estudio visual cuando hago los frenos. Me muestra que tengo versiones completas, así que es ver una apagado para que tengas la versión sin parámetros, y dice, OK, eso es gracioso. Ahí hay uno así para que puedas dejarlo en paz. Pero entonces también me dicen de otro donde Está esperando algún parámetro de cadena llamado nombre para que pueda pasar cualquier valor de cadena que quiera en que se almacenará dentro de nombre. Una vez que se llama a esta función, está pasando esa valoración en remolque la variable llamada Name on. Entonces estoy realizando una operación con ese valor entrando en nombre. Dicho eso, puede tener múltiples funciones. Acabo de crear demasiado débil y tengo 10. Puedes tener muchas siempre y cuando sigas esas reglas con nombres en los parámetros, entonces deberías estar bien. Entonces si querías uno que diga nombre de impresión en menor que puedo crear otro en, voy a decir imprimir, nombre, nombre, minúscula. Entonces imprimir nombre y quiero llamarlo minúscula. Noté que el estudio visual se va de pie causa arriba en él. No, porque tengo que imprimir nombres en ambos tienen solo un parámetro, así que son idénticos, ¿ verdad? Entonces, como dije, sobrecarga de funciones, puedes tener el mismo nombre. Tan solo asegúrate de que el listado de parámetros sea diferente. Entonces no estoy sobrecargado en este. Yo sólo voy a decir nombre de impresión, minúsculas. Está bien, entonces va a recibir algún nombre muy grande llamado. Noto que tengo un nombre de llamada muy grande aquí en un nombre verbal llamado aquí en. No es ilegal. ¿ Por qué? Debido a que este nombre instancias necesitas a esta función y lo mismo para ésta es único para esta función, por lo que no se ven. Estas dos funciones son realmente curables entre sí, ¿verdad? Este lo es. Está en su propio mundo y éste está en su viejo mundo. En principal está realmente en su propio mundo. El medio es solo el que se llama primero. Y tenemos que dejarme y llamar a los demás después, ¿ verdad? Entonces voy a hacer sólo dos chung telefónicos más porque aquí hay alguien que diga Introduce tu nombre en luego imprimimos sobre el nombre nuestro haciendo ese nombre siendo impreso la mayúscula. Entonces voy a decir y fundir nombre mayúscula. Está bien. No quería llamar a imprimir baja esta vez. Alguien a quien llamar nombre de impresión, minúsculas y la inteligencia está recogiendo contextualmente. Qué hay en el más rápido. En realidad me está ayudando con mi función definida personalizada en eso estoy viendo en función minúscula. Entonces sabemos exactamente lo que está pasando en el camino. Entonces solo nos aseguramos de que estamos poniendo esto en minúsculas o nombrados para bajar. Eso es todo lo que hacemos. Beso inferior encendido. Entonces vamos a establecer esta ejecución. Entonces para nuestra ejecución, no vendo si los están fuera de tu pero eso está bien. Entonces voy a decir tal vez quiero algo chicos mixtos. Entonces voy a decir y divertido con una T h mayúscula on o y mayúscula, Por qué solo para que podamos ver las variaciones Porque tenemos una que se supone que haga una mayúscula. Yo quiero que eso se supone en minúsculas. Entonces la expectativa es que todo debe estar en mayúsculas en un momento, y todo debe estar en minúsculas. Ese es otro punto. Por lo que el caso mixto está quitando el sesgo hacia cualquiera de los casos. Cuando yo presentador, ahí vamos. Tenemos a Anthony. Entonces llegamos al punto en el que consolamos esa línea roja encendida. Después pasó a llamar nombre de impresión, lo que hizo en. Entonces lo hizo la mayúscula nos dio Antony. Y cuando se terminó, volvió a mí y terminó en Randall Command después de eso. Después se metió en la siguiente formación, luego fueron de caja inferior la misma. Entonces conseguimos un beso de Anthony Lo y eso y luego pasamos a terminar eso en entonces significa, así que significa estaba corriendo de arriba a abajo. Como dijimos en la secuencia de apagado todo en lo único que hace parecer estaba deteniendo e ir a otra parte es por la forma que se muestra tarjetas. Por lo que las funciones son realmente útiles. Cuando tienes pocas operaciones que quieres hacer eso no quieres poner todo dentro del medio. Simplemente puedes hacer una función y derecha, ya sabes, una bonita, larga, larga, enorme cuadra fuera de cancha en otro lugar, y luego simplemente hacer referencia a ella. Además, si hay una operación que quieres hacer varias veces, no quieres estar escribiendo ensayos. Cada vez que estoy copiando y pegando la consola, que las líneas correctas correctas, Ninguna línea derecha es una función, y esta función tiene bastantes líneas fuera de cancha. Los desarrolladores de C Sharp no te dijeron que tienes que escribir las pocas líneas fuera de cancha cada vez que quieras escribir poniendo a la consola. En cambio, lo ponen en una función encendida. Te lo dijeron, Solo llama a esta función cuando quieras acceder a todas esas líneas fuera de la cancha. Entonces eso es todo para Void. He hecho tres funciones de vacío simples, pero luego voy a entrar en valor regresando. Y luego fui a hacer algunas otras operaciones que si las repitiéramos, ya sabes, son más líneas fuera de la cancha que vamos a escribir en esto, y va a ver exactamente lo conveniente que es cuando sólo tenemos nuestras funciones. Ahora nuestras funciones de retorno de valor son muy similares en términos fuera de la anatomía. La única diferencia, realidad, es que no son nulas, pero en realidad tienen tipos de datos. Entonces si quieres algo para devolver una cadena, entonces tienes que definirla como una cadena en. Hice a alguien para explicar lo que quiero decir con retorno, así que empecemos. Quiero escribir un programa que va a aceptar tres números de algún usuario en adelante, luego determinar cuál de ellos es el más grande. Por lo que estoy consiguiendo que esta fiesta empiece con solo escribir tres problemas para N 12 y tres dedos obtengan tres números de nuestro usuario No para seguir adelante. Yo quiero llamar a una función que va a tomar estos tres números y luego decirme cuál de ellos es el más grande. Está bien, así que voy a definir una función. Noto que lo estoy haciendo fuera de mí y una vez más. Entonces tengo el comentario ahí para guiarme en. Yo sólo voy a ver int o si recordar, tenemos que empezar con estática y luego decir int en el número más grande. Ese es el nombre de mi función. Por lo que accede tipo de datos modificador, que es int no vacío, pero en porque estoy esperando obtener un número de la operación. Si esperaba obtener una cadena que el tipo de datos sería cadena si esperaba obtener un verdadero o falso, el tipo de datos sería toro. Entonces en base a lo que esperas sacar de su teléfono mostrado, eso determinará el tipo de datos que utilices. Entonces empecemos de nuevo modificador de acceso estático. El tipo en esta situación es int. Nuestro nombre de función es el número más grande en, entonces tenemos o lista de parámetros y luego, o llaves para el cuerpo. No, vamos a ver esta línea roja por un tiempo porque se está quejando de que no todos los caminos judiciales regresan de valores. Sigo usando la palabra return ¿Qué se devuelve? Las funciones de vacío no necesitan un retorno. Pero tenemos una palabra T dentro de nuestras funciones de retorno de valor que dicen retorno. Entonces tenemos que tener ese retorno de valor. Entonces solo voy a dejar retornos aquí, allá solo para deshacerme de la línea roja por no. puedas hacer eso, deshacerte de la línea roja y dejarla en paz. Pero eso tendrá que cambiar eventualmente. Ahora, sí dije que estábamos construyendo esta función para tomar los tres números. Entonces si estoy recibiendo la entrada de mi función principal encendida, quiero mi función. Eso no es medio, que es el número más grande para saber de estos tres números que voy a tener para definir parámetros para cada número. Entonces voy a tener que decir en Andi puedo llamarlos en uno, o puedo llamarlos entumecidos. Por lo que no tengo que retener el mismo nombre. Entonces, ¿sabes qué es eso? Tenemos una variable. Nos pusimos valientes hasta el extremo variable. Pero entonces lo llamamos nombre en nuestras funciones, correcto, porque esto es genérico porque independientemente, fuera del nombre de la variable, cuando hicimos la llamada de función, realmente solo estamos pasando en el valor. Entonces esto podría haber sido una cadena estática, o podría ser cualquier variable de cadena que llamamos. Pero nuestra función simplemente representará ese valor en la variable llamada name o como sea que llamemos el parámetro. Entonces una vez más, no importa lo que llamemos las variables de parámetro siempre y cuando te asegures de que pasemos los valores correctos no sean así. Fui a ver en alguien Andi int num dos on en entumecido tres. Muy bien, entonces tenemos tres números que estaban pasando. Entonces vamos a usar una declaración if. Entonces, como dije, podemos hacer cualquier operación dentro de una función, por lo que esta función va a ser un poco más complicada que las del vacío que hemos hecho. Pero dicho eso, no es porque uno esté vacío en uno. Su valor devuelve por qué uno es más complicado, y el otro puedes hacer cualquier número fuera de operaciones dentro de la función ya que necesitas dedo del pie . Ahora vamos a corregir la cancha para esta función. Entonces primero voy a definir mi más grande como mi adormecida. Entonces estoy viendo int Más grande es Ik Walter No. Uno. Eso es sólo un tiempo Asunción. Realmente no sé si es mi más grande. Yo sólo quiero algo para representar el número más grande en entonces saber que estoy asumiendo que es el más grande entender comparar, para ver si entumecido a es mayor que en. Si el número tres es mayor de lo que es, voy a decir algo como si entumecido, que es mayor que el más grande entonces mi nuevo valor más grande, lo que sé se sabe. Entonces voy a asignar ese valor en remolque. Más grande. Entonces no, he hecho una comparación. Ya he asumido que uno es más grande en. Entonces lo voy a comparar y entumecido con Y si entumecido resulta tener un valor mayor que el actual más grande, entonces entumecido a es mi nuevo valor más grande. No, necesito comparar más grande con la Norma tres. Entonces la razón por la que lo estoy haciendo así es, si este valor es el verdadero, entonces necesito una forma de comparar el valor que está en numb con el Validus en numb tres en el valor off. Lahm, también, no sería el más grande. Entonces necesito decir, Si entumecido tres es mayor que el más grande, entonces el nuevo más grande es entumecido. Tres. ¿ Ves eso? Entonces, empecemos de nuevo. Estoy estableciendo el valor más grande ya que no más para empezar. Entonces voy a decir, si entumecido a es mayor que el más grande, significa entumecido a es mayor que el valor que está en Nome one, entonces es mi nuevo más grande es siempre mi gran comparación. Entonces si esto no evalúa la verdad, el más grande todavía no es más de lo que voy a comparar los valores en más grande, que en su momento no está más dentro con el valor que está en entumecido tres. Si conocido tres resulta ser mayor que el más grande, entonces el más grande no es tres entumecidos. Si ambos fuera estos fallan entonces más grande no fue más desde el principio, así que sepan que hemos hecho todo fuera de esta operación y sabemos la más grande. No, necesitamos devolver ese valor después de que la función haya hecho su operación, y entonces ahí es donde esa palabra regresa a ti entra una operación, así que tenemos que ver retorno y luego estamos regresando más grande. Por lo que el tipo de datos de retorno tiene demasiado el tipo de datos fuera de las funciones. Puedo estar devolviendo nombre completo aquí. Estoy devolviendo una cuerda. A ver qué pasa si pongo una cuerda su regreso Hola, entonces Eso es sólo una época. Porque dice que no puedo convertir implícitamente cadena a fin porque estoy esperando un tipo de retorno fuera entero pero me estás dando una cadena. Por lo que tengo toe devolver el tipo de datos que se utiliza para definir la función. Entonces estoy regresando más grande, así que el más grande. Con lo que sea que salga de esta operación, estoy devolviendo ese valor. No, en cuanto a la llamada de función. Necesitamos una forma de obtener ese valor de la función. Entonces recuerda que el vacío no devuelve nada, así que solo podemos una llamada de función en cualquier momento. Simplemente me referiría a la llamada de función y la dejaría ahí. Pero entonces, cuando es un valor regresando porque está enviando un valor, necesito poder captar capítulo o almacenar ese valor. De todas formas quieres pensarlo. Por lo que fui tras de otra mirada de variable. Yo quiero llamarlo resultados sobre los contenidos. Off results será lo que se devuelva de esta función Call. Por lo que sólo voy a cumplir con la función llamada El número más grande en. Entonces voy de paso. Recuerda que estoy esperando comprar. Se espera que pase en no más dedo entumecido Desconocido tres. Entonces estoy pasando en n uno en y en tres. Está bien, vamos, luego Semi Colón. Entonces veamos esta ejecución una vez más obtengo los tres números de mi usuario y luego estoy viendo quiero que el contenido off Esta variable llamada resultado sea el resultado que se devuelve Cuando llamé a mi función número más grande al pasar todos esos números. Por lo que cuando causó mayor número, consigue que los tres números no más entumecidos a adormecer. Tres hace su operación al final de la operación estaban enviando de vuelta el valor que es como resultado de esta operación. Y una vez más, una vez que se envía Buck, no se almacena dentro de resultado. Entonces si quisiera imprimir a la pantalla el valor más grande del que tendría que decir consola esa línea derecha resultados de colon número más grande. De acuerdo, Una entretenida interpolación aquí. Entonces una vez más eso es sostén que va a funcionar en algún lugar se va a ejecutar el dedo del pie y se va a golpear. La función principal en las funciones principales es el nombre de impresión y el nombre de impresión y y la minúscula y todo encendido. Entonces irá a la promesa. Está bien, así que me estoy ejecutando y otra vez y está solicitando primero el nombre. Entonces sólo le voy a dar la prueba de nombre. Déjate ir por eso. Por lo que se ven casos superiores detestados en él. En minúscula lo. Eso está bien. Pero entonces quiero mi número. Entonces le pega a todos esos No, ¿Eso es un prompt? primer número es un segundo número es cinco onda tercer número es 10 en vemos mayor número 10. ¿ Por qué? Debido a que impactó la llamada telefónica mostrada, hizo su operación en, luego devolvió la más grande que luego se almacenaron en resultados en. Después imprimimos de nuevo a la pantalla. Entonces esa es una introducción rápida métodos del dedo del pie y funciones en C agudo a medida que avanzas y golpeamos el objeto o entramos programación más. Te vas a dar cuenta de que las funciones están en la base de este lenguaje y de cualquier otro lenguaje orientado a objetos 13. Funciones de la manipulación de la: En este video, estaremos viendo la manipulación de cuerdas en C. Sharp. Ya he creado mi proyecto, y el nombre del proyecto es manipulación de cadenas. Por lo que puedes pausar el video aquí y crear tu proyecto de aplicación de consola llamado String Manipulation, y luego podemos recoger desde ahí ahora. Hoy solo queremos enfocarnos en algunos de los consejos y trucos y formas rápidas de procesar cuerdas en C. Sharp. No hay cadenas son una parte esencial de cualquier lenguaje de programación que representen. Bueno, yo diría que el 90% de los contenidos que estarían pasando por tu aplicación todo lo que se introduce en tu programa a través del uso de un teclado prácticamente viene como una cadena, y es importante entender las herramientas que C Sharp tiene a nuestra disposición ahora han comenzado por la limpieza de una variable de cadena, y lo estoy llamando nombre completo en DI. Ten una sentencia aquí. Mi nombre es, y siempre error ortográfico es viajar o Williams. Ahora hemos estado haciendo esto por un tiempo ahora, y si no, entonces eso es dedo del pie fino imprimir la pantalla decimos consola, que es una clase estática dada los dedos de los pies por un c agudo en. Entonces tenemos la función dentro de esa clase estática llamada línea derecha on. Después especificamos la cadena que se va a imprimir. No, esta cadena puede ser algo que vamos a escribir específicamente. Una cadena siempre viene dentro de comillas o puede ser el contenido de una variable que está fuera de tipo cadena. Por lo que el nombre completo es off type string on off course. Tienes que asegurarte de que nos pongamos correctamente nuestros casos. Entonces esto imprimirá el contenido para dedo variable. La consola nos permite probar cómo funciona eso, así que voy a cambiar. Mis inicios son manipulación de cadenas de proyecto y inicio. Y ahí vamos. Hola, me llamo Trevor Williams. Entonces o consolar esa línea de rata impresa. El contenido off son variables del dedo del pie nuestra consola. No, pasemos ahora a la concatenación. Acabo de declarar a más variables. Uno llamado nombre uno llamado apellido en. Entonces me gustaría imprimir un bloque contiguo fuera de cadena. Contiguo es otra forma de ver continuar. Waas en esa cadena debe tener mi nombre está encendido luego tener el nombre en el apellido. Por lo que la concatenación es la técnica mediante la cual unimos los contenidos fuera de cadenas juntos. Entonces voy a consolar esa línea correcta y luego voy a poner alguna cadena estática en . Entonces esto va a decir mi nombre completo es así cuando decimos cadena estática, eso significa que a menos que entremos a nuestra corte y hagamos un ajuste aquí, esto nunca cambiará. No obstante, las variables son más fáciles de cambiar porque entonces podemos usarlas toe recolectar la entrada del usuario sobre sus contenidos se definiría en base a lo que se le está asignando. No obstante, hay momentos en los que queremos imprimir dinámicamente lo que hay en una variable junto a algo que es estático. Por lo que la concatenación nos permite unir texto estático en texto variable o variable toma hasta texto de factura bura o incluso texto estático bajo texto estático. El principio subyacente es que ahora todos son cuerdas. Hay algunas formas de estafar a Capitán ocho en el 1ero 1 Que me gustaría mostrarles es usando un corsé rizado. Entonces vamos a cerrar. Por lo que tenemos res creíbles cero y luego corsé rizado en eso. Yo quiero poner el espacio calibra una brisa rizada. No, en efecto, estos son los que llamas marcadores de posición. Empiezan a contar desde cero tantos marcadores de posición como usted tiene. O vas a crear tantos marcadores de posición para tantas variables como quieras con Captain Eight en la cadena estática. Y empiezas a contar desde 00 será el 1er 1 Entonces uno el segundo y el 3er 1 sería a. Pero entonces sólo tenemos dos variables. Por lo que es cero en un nombre sobre el apellido. Nota. El espacio también es importante porque imprimirá la cadena exactamente cómo se formatea dentro de las comillas. Por lo que después de colocar son colocar tenedores ahí, tenemos que salir de la cuerda sobre prensa coma en. Después ponemos las variables en el mismo orden para que coincida con los marcadores de posición como se pretendía. Por lo que quiero decir mi nombre completo es nombre y apellido. Entonces eso significa que necesito poner la variable que tiene el contenido para el primer nombre, seguida de la variable que tiene el contenido para el apellido en ese entonces. Esto puede suceder por tantas cuerdas como tengamos. Tantas tantas variables de cadena como tenemos otra forma de contactar en ella. Y sólo voy a escoger una esta línea. Simplemente lo reescribo. Entonces consolar esa línea correcta y reescribir nuestra sentencia. Mi nombre completo está encendido. Entonces puedo usar el signo más así escribiría. Mi nombre completo es como mi texto estático presiona el signo más y dicen nombre y luego un signo más porque me gustaría dedo del pie agregar un espacio entre el nombre en los valores de apellido . Tendría que poner otro bloque fuera de cadena primer espacio en, encerrar ese bloque, agrupar en, luego cerrar signo y luego apellidos. Entonces esencialmente estoy haciendo como matemáticas de cuerdas. Solo estoy agregando tantas cuerdas como necesito dedo del pie. Únete a ellos, luego todo apagado, esto se imprimirá en una línea continua. Entonces voy a conseguir un texto estático. Mi nombre completo es con ese espacio. ¿ Ves ese espacio entre los dos puntos en las comillas? Después tuve el nombre de pila y luego después agregar otro espacio en. Entonces estoy agregando el apellido la tercera forma de contactar en ella Después de actuar cónsul. Esa línea correcta es haciendo lo que llamamos interpolación. Entonces en esta instancia, realidad empezamos o encordamos con un signo de dólar. Entonces abrimos comillas sobre entonces los temas de este Allah son brisa rizada en la entrada son variables directamente dentro de las comillas. Entonces puedo ver mi nombre completo es espacio encendido. ¿ Inyecta el nombre, tiene un espacio encendido, luego inyecta apellido todo esto aún dentro de las comillas. Probemos las tres y veamos que funcionen de la misma manera. Ahí vamos. Tres técnicas diferentes, misma frase. Mi nombre completo es problemas para Williams. dio cuenta de que los espacios están todos ahí encendidos Una vez más. Todo depende de cómo formatees tu texto en las partes estáticas. Ahora pasemos a contar la longitud de nuestra cuerda. Si quisiera saber cuántas letras había en mi nombre de pila, entonces necesitaría encontrar el Coned fuera del contenido. Entonces recuerda que lo estoy poniendo en una variable. Andi, Si estuviéramos permitiendo al usuario entrar contenido en esta variable, no sabría en ningún momento cuál es el valor fuera del nombre, sin embargo, sí quiero saber. Yo quería probablemente construir un programa que mucha gente simplemente escriba en su nombre y luego decirles que su nombre tiene X caracteres de largo. Entonces para encontrar la fuerza de una cadena necesitaría, en primer lugar, primer lugar, una variable entera y entiende Llame a esta longitud int porque necesito algún lugar para almacenar el valor de longitud. Y luego me voy Sólo llama a la variable string por su nombre. Entonces nombre, entonces puedo ver puntos en. Entonces voy a la función o propiedad más bien longitud. Entonces la diferencia Dina funde en las propiedades que me llamas funciones usando la enfermedad del perdón, pero en sus tiempos y tienes que usar el operador de puntos. Y cuando nos metamos en la explicación fuera del objeto o en la programación, entonces te explicaré que no operador un poco más. Pero una vez decimos alguna variable, alguna variable de cadena y luego decimos doctor y yo solo quitamos la longitud encendido. Entonces controlamos el espacio. Podemos ver que tenemos un anfitrión apagado. Propiedad se muestra por la llave en función pronto por el Cubo. Entonces si digo longitud de punto no es volver a recuperar la longitud fuera de cualquier cadena o lo que sea valorado esta variable de cadena tenga. Entonces voy a ejecutar este programa, y creo que mi nombre tiene siete caracteres, así que voy a poner a prueba esa teoría. Eso lo hice prematuramente. Yo no puse a la consola esa línea correcta, así que consola esa línea correcta en estaban escribiendo el valor de la longitud verbal. Y ahí vamos. Entonces mi nombre tiene efectivamente siete caracteres de largo, pero no lo es. Ese espacio también se llama como valores. Entonces si encontré la longitud fuera nombre completo encendido, solo duplicaré estas dos líneas encendidas, luego haré otro príncipe. Pero esta vez voy a decir, quiero la longitud fuera. Nombre completo en Get me acaba de ver longitud uno, algo de impresión, el valor off length uno esta vez en. Entonces me voy del dedo del pie, ver qué cuerpo que trata entonces Mi frase que está en la variable nombre completo es en realidad 31 caracteres de largo porque cada I espacio de coma Eso son cuatro caracteres encendido. Entonces todos fuera se suman. Por lo que todo lo que está entre las comillas se contará en el cálculo fuera de la longitud C sharp nos facilita reemplazar los contenidos o partes de una cadena. Pero voy a explicar a qué me refiero con eso. Entonces uno. Una vez declarada una cadena, entonces no puedes simplemente ejecutar la función y cambiar el valor de la cadena. Tienes que poner en operación como un reemplazo dentro de otra variable, y luego puedes usar esa variable. Entonces voy a tener que declarar una nueva cadena variable nuevo nombre en. Entonces voy a hacer que sea igual dedo del pie nombre, no reemplazar en. Entonces la función de reemplazo toma dos caracteres. Se toma el viejo char en el nuevo char viejo encanto, que significa qué letra o carácter o símbolo, lo que sea que esté en la cadena que quiero quitar lo que es. ¿ Qué es? Entonces quiero dedo del pie reemplazar la letra T y luego digo coma, noté que el char tiene las comillas simples, por lo que char no es comillas dobles como cadena, pero es comillas simples en. Entonces estamos colocando el té con Digamos K. Nunca he visto mi nombre espelta así o cualquier variación de mi nombre que haya comenzado su K , pero el nuevo nombre va a ser punto de nombre Sustituir cualquier té con la letra K encendida. Entonces sólo escribamos eso a la consola encendida. Entonces ver el viejo postergar esa operación. Está bien, ahí vamos. Por lo que miró dentro de mi nombre y encontró el té y lo reemplazó por una llave. Probemos una con algunas letras más. Entonces digamos que quería reemplazar todos los ojos en Williams con agujeros alguien dedo del pie. Simplemente repite esta operación. No abajo en, entonces esto. Lo estoy haciendo con apellido. Entonces apellido Dr Place y estoy reemplazando yo con Oh en. Entonces estoy haciendo nuevo nombre uno en I'm Printing Union quiere consolar y vamos a ver qué pasa. Está bien, así que cada instancia, a menudo me reemplazaron por el nuevo char, que es todo. Como dije, esto puede ser con cualquier personaje. Entonces si quería reemplazar los ojos por un signo o hashtag o un número, lo que sea, siempre y cuando pueda caber entre estas comillas y es solo uno pondré si pongo 12 vamos a ver qué pasa si pongo 12 entonces estoy salir al aire, ver demasiados personajes en carácter, literal. Entonces una vez más, un personaje sólo es singular, bien, así que o va a estar vacío duro. Va a ser aunque esté vacío si quiero. Ese espacio después de poner un espacio pero que no puede tenerlo sin contenido o con más de un, um, personajes artes. Dejo eso eso como todo ahora pasemos a comparar cuerdas. No, De vez en cuando, probablemente querremos comparar algo que se ingresa, tal vez por un usuario, y se almacena en una variable con alguna cadena que conocemos y esperamos. Por lo que queremos hacer un comparador. Quiero comparar con bits fuera de entrada, como tal vez cuando alguien escribe en un pase por primera vez, y luego tienen que volver a escribirlo la segunda vez. ¿ Quieres comparar los dos solo para asegurarte de que escriban lo mismo ambas veces? No. Siempre puedes usar una declaración if. Pasamos por su declaración, por lo que se puede ver si se va a utilizar dos variables que ya tengo aquí. Nombre apellido. Entonces, ¿y si quisiera comparar y ver si el nombre y apellido tenían los mismos valores ? Por lo que siempre puedo decir si el nombre es equivalente al apellido. Entonces esa es una manera fácil del dedo del pie. Compararlos tan fuera de curso, podemos ver si son iguales. Entonces vemos consola esa línea correcta. Tienes el nombre de costura para primero y último. Está bien, entonces les estamos diciendo el bien, tienes el mismo nombre para el primero y el último en. Entonces voy a ver que tienes un nombre diferente para el primero y el último. Entonces siempre hay esa opción fuera del if else, eso está perfectamente bien. Pero entonces a veces esto podría ser amable inexacto. Entonces, a veces quieres decir algo así como cadena en que se mantiene hasta su cuerda y realidad puedes más bien venir a la corriente. El C agudo los verá indistintamente encendidos. Entonces tienes una opción. Ese es su comparador. Por lo que puede decir string dot Comparar on. Después pasas las cuerdas que quieres comparar string a y string beans. Entonces string a sería nombre de pila y ese es el que quieres comparar. Apellido. Entonces ya ves, hay muchas formas de hacer la misma operación. Pero entonces éste es amable, de acuerdo, acuerdo, Straightforward. Se va a decir si son equivalentes que hacer esto más hacer que esto va a volver en entero. Entonces tengo que guardarlo. El valor de retorno dentro de una variable. Entonces quiero decir en resultados es igual dedo del pie cuerda. Comparar primero en común. Apellido el. Entonces voy a tener que hacer un if statement nuestros propios resultados para que puedan tener tres resultados potenciales de esta operación. Puede ser igual a cero. Él puede ser nuestro o negativo cuando es cero. Eso significa que las dos cadenas son iguales. Muy bien, entonces cuando es un cero, cuando este flujo de operación no se compara con dos cadenas devuelve un cero, así que puedo ver si el resultado es equivalente a cero. Entonces evaluaría a lo mismo que el nombre sea igual al apellido. Entonces puedo imprimir tienes el mismo nombre y apellido justo en. Entonces puedo ver otra cosa también porque entonces si es uno o uno negativo, sin embargo, simplemente significa que no son iguales. Pero entonces, cuando es uno, significa que la primera cuerda probablemente sea más grande o tenga más caracteres en la hoz en cuerda. De acuerdo, entonces cuando es un deseo, solo significa que, de acuerdo, acuerdo, la primera cadena es más larga que la segunda cadena encendida cuando es negativa. Una es de la otra manera la nuestra. Pero lo esencial a tener en cuenta es que si haces este enfoque, entonces los resultados deberían ser iguales en 20 para certificar que las dos cadenas son iguales. Muy bien, así que estos son dos es que puedes comparar cadenas. Um, puedes usar el que sea apropiado en tu momento. No. Anteriormente, cuando estabas mirando programas de entrada y salida, verías dónde cuando estás recibiendo un número o tienes la intención de recibir algo para almacenar en ah variable numérica o alguna variable que no es ya una cadena que tienes que convertir del dedo del pie de cuerda. Ese tipo de datos bien, a veces necesitarás hacer lo contrario. Por lo que habrías visto que en concatenación antes que en realidad puedes estafar tu cadena con casi cualquier tipo de datos y lo aceptará. Pero hay momentos en los que necesitas convertir a cadena. Entonces convertir a cadena es realmente fácil, sin embargo, así que tengo en variable entera aquí ya. Entonces solo voy a reutilizar esta variable en. No si ya tienes una variable y quieres cambiar el valor. No tienes que volver a especificar el tipo de datos. Simplemente puedo ver resultado es igual a cero aquí mismo para forzarlo a que son 123456789 Muy bien, noto tener signos más. Entonces voy a tener que quitarlos. Perdón. Está bien. No hay espacios. Entonces no, tengo resultado que es un entero siendo igual dedo del pie. Ah, valor off 12345789 Ese es un gran resultado entero. No, Si quería ordenar esto en una cadena, quería decir string big number es igual a Y entonces quería que tuviera el contenido fuera resultado. Entonces obtendré una flecha Simple porque va a decir que no puedo convertir, se convierten implícitamente en entero en una cadena, lo cual está bien. Eso es justo. Entonces recuerda que los enteros se usan para muff Casi quería cadena. No vas a estar haciendo ese tipo de muff. Entonces si quería convertir mi entero en remolque, tal vez una cadena, por la razón que sea, solo puedo mirar la variable que pretendía convertir. Sí dijo punto en. Entonces hay una función mágica que es demasiado string, así que solo digo resultados acoplados a string, y luego va a convertir eso en una cadena en la vez Es una cadena. Es menos molestia inventarlo porque no hay todas las situaciones que van a ser tan indulgentes. Pueden exhibir de gran en una frase en ella no lo hará a través de un estrecho. Está bien, así que hay momentos en los que querrás dedo del pie hacer, ah, conversión. Entonces solo voy a imprimir a mi banco unos conos. Mi saldo bancario es gran número, bien, así que mi saldo bancario es gran número en entonces eso solo imprimirá esa frase con esta cadena recién creada. No. Una vez más, una vez que es una cadena, pesar de que el contenido parezca numérico, no puedo seguir adelante y realizar una operación en la que se piensa int. A lo mejor me dieron un pago de $1 hoy, así que quiero agregar no $1. Entonces voy a ver un plus y luego sólo puedo decir uno más gran número. Está bien, eso fue a través de un estrecho porque estoy tratando de hacer aritmética aquí donde estoy agregando el dedo número uno algo que ahora es una cuerda. No puedo hacer eso. Por lo que voy a tener dedo fuera de curso. Simplemente manténgalo en entero en la naturaleza en ese entonces. Si necesito total para ser una cadena después, entonces puedo convertir viendo Dr String No, me refiero a este ejemplo con números. Pero entonces esto no es exclusivo de los números. Se puede convertir gráfico en cadena. Se puede convertir doble a cadena. Puedes convertir casi cualquier cosa para cadena sus restricciones en tal vez de Ari y otros tipos de colección. Pero el hecho es que, una vez que veas esta operación, o si quieres saber si tienes esa operación disponible para ti, él solo puede teclear que eres muy barco en, luego usa un operador de puntos encendido. Entonces solo puedes ver si está listado ahí para ti en inteligencia. Está bien, así que solo voy a ejecutar este programa y luego vamos a ver todos nuestros ejemplos imprimiendo a pantalla. Muy bien, así que sólo son rápido correr a través. Imprimimos nuestra primera frase, que se formó en el pleno de lo invariable. Miramos los tres tipos diferentes de concatenación, uno con los marcadores de posición encendidos con signos más y otro con interpolación. Encontramos la longitud de nuestro valor variable de nombre así como la longitud de tu sentencia. Hicimos un larguero lugar en todos los tés a mi nombre, en todos los ojos en mi apellido en. Después hicimos una comparación de cadenas donde ambos resultados habrían tenido el hecho de que es un nombre diferente para primero y último. Después de comparar el valor del nombre con el valor del apellido en, entonces hicimos una conversión de cadena para nuestra variable para variable entera Eso representa nuestro balance al cerrar esto menos que sólo va a decir que esto es solo el toque off el superficie que C afila las capacidades de manipulación de cuerdas son muy extensas en él requeriría mucho más explicación y video toe en realidad pasar por cada cosa que es capaz de apagado Pero dicho eso, te animo a experimento y apenas tipo botes. Crea una variable de cadena en luego solo usa un operador de puntos para ver todo fuera de las otras funciones que están disponibles para ti Busca en el punto severo Tu variable Lo sentimos, nombre y luego dices atracado en entonces todo lo que está aquí para ver un estudio visual. Perdón tiene una explicación en cuanto a para qué sirve. Está bien. Por lo que te animo a que solo sigas adelante y experimentes. Simplemente tipo de oración en una carrera cada uno de thes e imprimió una consola en ver cuál es el resultado. 14. Manejo de las excepciones: este video está rodeando el manejo de excepciones en C Sharp. Ya he creado el proyecto, y estamos llamando a este manejo de excepciones. Busca y pausa aquí mismo. Crea el proyecto en currículum una vez que hayas hecho eso. Ahora, como excepción es un problema que surge durante la ejecución. Off a program on git no es único para ver Sharp. Es más o menos en cada lenguaje de programación individual. Normalmente es un dedo del pie de respuesta. Ya sabes, las entradas inválidas son condiciones indeseables para una operación. Por lo que quizá te hayas encontrado tal vez en la A B M, donde te pidieron insertar tu selección y presionas una cuando te conocerías campus uno. Pero presionas una. Entonces si ves unapantalla aerostática grande y desagradable, pantalla aerostática grande y desagradable, entonces eso significa que son excepción. El manejo probablemente fue pobre porque no tuvieron en cuenta eso. Esto podría suceder potencialmente. Ahora, cuando estás escribiendo tu solicitud, eres tú quien está determinando el insumo sobre el ya sabes, el viejo puesto ¿quieres? Más importante aún, conoces los insumos deseados, por lo que hay situaciones que puedes prever un Aarón potencial. De eso se trata el manejo de excepciones. Te vas a escribir su cancha en lo que llamamos manera defensiva para que digas que bajo estas circunstancias, pasando por una época desagradable, no salgas del programa sino mostrarle al usuario un aire agradable. Un mensaje para decir: Oye, Oye, ya sabes, hiciste algo mal cuando pudimos haber sido una operación potencialmente fatal para tu programa. Por lo que he agregado algunas notas a este archivo de la corte sobre el try, catch finally y throw keywords, todas las cuales son palabras clave usadas. Cuando estamos hablando de manejo de excepciones. Conoce la tribu básicamente es sólo una cuadra que dice, voy a probar esta operación. Voy a tratar de hacer esto la captura Callos básicos atrapan cualquier aero como stop on check Si hay alguna URL después de que lo probaste, Si hay alguna URL, entonces quiero tomar alguna acción. El finalmente básicamente dice eso. De acuerdo, después de probarlo y tal vez algo fue atrapado, tal vez algo no fue atrapado. Todavía voy a hacer esta operación de todos modos, en ese entonces. El lanzamiento es una palabra clave que usamospara terminar la ejecución por lo que a veces en programación te probarías algo, Entonces te pones al día tipo articular fuera de excepción en sabían que el programador sabe que si alguna vez se detecta esta excepción, eso va a ser, ya sabes, perjudicial para cualquier operación que se trate pasó. Por lo que puedes lanzar manualmente el programa. Haute, como en cuando lo haces, literalmente arrojará la era a la pantalla y saldrá del programa. Muy bien, así que empecemos esta pequeña aventura con un pequeño programa. Yo lo escribí ya sake en los balnearios y escríbalo tú mismo. Entonces sólo estamos aceptando. Dos números estaban haciendo la línea derecha de la consola en su primer número en. Entonces estoy analizando mi entrevista en un método diferente, así que habríamos hecho convertir punto. Entonces en 32 ahora lo estoy haciendo de otra manera donde en realidad hay un enfoque en dentro del tipo de datos dentro llamado en el Parse on. Entonces funciona más o menos de la misma manera. Excepto los convertidos a en 32 tiene un rango más amplio y las partes oscuras. Pero para el propósito fuera de este ejemplo, sólo podemos usar el análisis de puntos. Entonces le estamos pidiendo al usuario dos números encendidos, luego vamos a hacer alguna división y luego vamos a mostrar los resultados. No, voy a ejecutar este programa la primera vez en. Entonces vamos a ver que 10 dividido por dos va a ser cinco. Y eso es perfecto. Y sabemos que OK o aplicación funciona Ahora probablemente estás diciendo, OK, eso es sencillo, Ese estándar, eso es lo que se esperaba. ¿ Cuál es la moral fuera de la historia? Entonces, vamos a ejecutar esto otra vez. Y entonces esta vez voy a hacer algo que sé que va a lanzar una excepción. Entonces voy a ver 10 divididos por cero el. Cualquiera que me conozca sabe que no hay división por cero. No, mira lo que hace el estudio visual cuando presioné Enter it lanza lo que llamamos una excepción. Por lo que se ve la excepción en el mango. Nos están diciendo que este video, esta lección se llama manejo de excepciones. Y nos están diciendo que esta excepción fue sistema aleado que divide por cero excepción intento de dividir por cero, dijo Italia. Cual fue la excepción. Entonces una vez más, son ciertas situaciones son no, que tu programa sólo va a liberar abrigo porque esas operaciones son ilegales. Muy bien, así que incluso en la programación, pesar de que le estamos diciendo a la computadora que lo haga, la computadora no puede dividirse por cero, lo que el manejo de excepciones nos permitiría. Y así en su en este estado, sólo tenemos que seguir en estudio visual. Y luego volverá a los Estados donde podremos empezar a escribir de nuevo tribunal. Sé que tendremos que escribir, Ah, Ah, bloquear que Dij's déjame manejar la excepción. Entonces para empezar, lo intentamos así solo puedo decir Pruébalo, luego abrir con llaves nacaradas puestas. Entonces voy a tratar de operar así solo puedo tener probar un vacío porque sabes que es un estudio visual me está diciendo que está incompleta. Entonces, ¿qué voy a probar? No necesito probar la entrada porque sé que van a poner en puesto. Pero voy a probar la operación, que es la división, ¿no? Alguien para intentar dividir dedo del pie. Entonces voy a seguir eso con una iglesia. No, hay muchas excepciones, y acabamos de ver una muy específica. Vimos uno. Ese es un sistema que divide por cero excepción. También tienes un sistema que debo excepción también tienes sistema que lo siento tiempo te pierdas mucha excepción tienes excepción de memoria de voto, tienes un número fuera excepciones. Ahora bien, no te estoy diciendo que los recuerdes todos. Solo digo que hay mucho Así que todos vienen de una clase base llamada excepción . Muy bien, entonces solo escribimos excepción. Literalmente podemos cubrir cada base. Y sólo iban a decir excepción E. Así que voy a explicar qué es eso. Pero cuando diríamos que la palabra clave excepción es como una clase base que cubre cada tipo de excepciones. Por lo que no importa el tipo de excepción que se coja, será capturada por esta clase. No, probablemente te estés preguntando, OK, entonces ¿por qué tendría que especificar la excepción de tipo off? Bueno, hay momentos en que, en base al tipo de excepción que se capta, quiere hacer algo diferente. Entonces, al igual que la división por cero, probablemente quieras dedo del pie de ellos para ingresar un minuto dino amargo o divisor no denominado. Perdón, Andi, si es tal vez, ah, sistema al que debo excepción y quieres traer algo más para que en realidad puedas tener bloqueo de captura múltiple. Entonces solo voy dedo del pie siente los bloques de captura que así es como se ve el try catch. Entonces cuando la gente habla de manejo de excepciones o escuchas a alguien decir intenta, atrapar, esto es de lo que están hablando. Intentas una operación, atrapas la flecha, y entonces en realidad puedes juzgar muchos errores. Puedo tener múltiples capturas en cada captura solo tendría unas excepciones específicas. puedo precisar. Yo quiero que la división por cero excepción quede atrapada en este bloque catch on. Entonces puedo seguir diciendo: Bueno, Bueno, realidad, en realidad, el orden aquí importa, así que lamento eso. Si quiero ser específico, entonces tengo dedo del pie hacer los específicos antes de atrapar excepción. Porque entonces si sí atrapaba la excepción antes de la división por cero, entonces catch Excepcional habría estado captando cualquier tipo fuera de excepción de todos modos. Y nunca habría llegado a dividirse por cero. ¿ Verdad? que entonces el orden mucho esté bien, como yo estaba viendo. Si solo tenemos excepción como Visual studio acaba de indicar, entonces estamos captando todas las excepciones posibles? No, hice ventas y para explicar el propósito de la e. Así que tuve e en eso. Dije E X o lo que sea. Entonces esto es más o menos un objeto que representa la excepción. Por lo que te das cuenta cuando aparecieron mensaje de excepción antes, giraron algunos detalles que son nombrelo. Si el contenido nos hubiera dicho lo que el aire awas. Entonces todos esos, ya sabes, componentes todos esos bits de información todos podemos recogerlos y especie de adentro de alguna variable o algún objeto llamado e encendido entonces eso nos permitirá, bueno, imprimir lo que queramos. Entonces digamos que probamos esta operación bien en. Entonces, después de probar la operación, captamos la excepción que dicha división por cero. Entonces cuando capto esa excepción, puedo elegir toe console esa línea correcta al imprimir un mensaje de error, operaciones ilegales en lugar de dar esa época desagradable donde paró la operación y empezó a hablarnos del sistema que dividir por cero. Que esto y aquello porque eso no significa realmente nada para un usuario, puedes darle un Aramis más elegante es decir, Hey, hombre, ya sabes, operación ilegal. Está bien, así que voy a probar la operación, luego imprimir los resultados en Entonces voy a coger cualquier flecha, entonces puedo decir Finalmente,está bien, está bien, consolar esas líneas correctas. Sólo hablaré. Consolamos esa tierra derecha y vemos la parada y pieza de ese fin de programa. lo tanto, recuerda que el finalmente se ejecutará independientemente del intento de atrapar operaciones. Se va a probar esto. Si tiene éxito, eso va a hacer esto. Por último, si lo intenta y hay un error que atrapa, entonces se va con el dedo del pie. Siguen haciendo esta familia. Entonces intentemos eso otra vez. Entonces vamos a hacer un buen 10 on on on on. Después ves los resultados en, luego terminan los programas. Entonces lo intentó y luego lo hizo finalmente intentemos de nuevo eso. Entonces esta vez estoy haciendo 10 on cero on, entonces ves operaciones ilegales. Por lo que me di mi mensaje de error el. Entonces todavía lo hizo el finalmente alguien dedo del pie tipo de mí. El mensaje de error, un poco más explícito sabe Voy a decir operación ilegal on Poner un colon, Ondo. Déjame usar la interpolación porque voy a estar imprimiendo el aire real. Un mensaje de la excepción. Entonces la excepción es genérica. Una vez más, no sé si es una división por cero nuestro sistema que debo. A veces se obtiene sistema que debo excepciones. Tienen 20 épocas diferentes dentro de ese tipo de excepción, Muy bien, así que a veces es bueno saber el error exacto que se está lanzando para que puedas ser mejor en depurar la aplicación. Pero a veces no es deliberado. Estoy siendo deliberado. No, pero muchas de las veces que escribimos código y no estamos siendo deliberados con las flechas. Probablemente me faltaba algo, así que solo voy a decir e dots on. Entonces puedo ver ese mensaje. Entonces come mensajes. El mensaje real adjunto a las excepciones a la expectativa es que cuando se lanza la excepción o carrito más bien donde el invierno imprime ilegal Operación Colón y luego el Aramis real lo. Entonces intentemos eso otra vez. Entonces 10 y cero una vez más y entonces estamos viendo aquí ilegal Operación Colón encendido. Entonces nos están dando el mensaje adjunto a la excepción, que es que intentamos dividir por cero. Entonces eso es un lindo nosotros dedo del pie manejamos errores en. Entonces una vez más la final. Seguirá ejecutando Onda ya que hará lo que tenga que hacer. Sepa que sí dijimos que hay una palabra clave llamada Throw on the throw on. Salí a poner esto por encima de esta consola, ese aviso de línea correcta. Por lo que especie de se convierte en dolar. Y si me cierro sobre él, entonces me va a estar diciendo que es inalcanzable, cesa, cesa, inalcanzable, núcleo detectado porque el hecho es que el a través sólo va a matar el programa bien ahí. Muy bien, entonces cuando digo probarte, entonces atrapar Excepción. Si digo a través, entonces sólo mata la operación. No hay un elegante mensaje de error en Vamos incluso a probar para ver si hay incluso un fin. Entonces realmente hay un fin, pero sólo vamos a validar eso. Por lo que 10 y cero quiere más encendido. Entonces ya ves, sólo va directo a los tiros. Simplemente se detiene. El programa llega al tiro. Es decir, visual studio nos está mostrando cuál es el problema. Pero entonces, si eres aplicación de consola no se está ejecutando dentro de visual studio. Entonces lo hay. No hay nada de esta pantalla para el usuario, bien, así que simplemente saldría del programa y nunca conocerían salidas blancas del programa. ¿ Todo bien? Y, bueno, está la excepción Unhand Aled. Algo en esto es el mensaje de la era que surgiría para ese usuario si lo usáramos a través. Por lo que una vez más manejo de excepciones Izabal, observando tipos particulares fuera de errores en manejarlos elegantemente. 15. Clases y objetos: este video está orientado a enseñarte un barco. Programación orientada a objetos y más específicamente, clases, objetos, métodos y propiedades ya han creado el proyecto y se le llama clases y objetos. Busca y pausa aquí y sigue adelante y crea este nuevo proyecto bajo tu solución y reanuda cuando hayas terminado. No, comencemos con lo que es una clase en una clase es una palabra clave muy, muy importante Al hablar de lenguajes de programación orientados a objetos, habría usado esa expresión varias veces en lo hizo. Esta es la explicación Ahora nuestra clase es un blueprint para un tipo de datos, ¿ verdad? Entonces para un poco más de contexto, tenemos tipos de datos. Tenemos int tenemos cadena eran lingotes. Tenemos char derecho en DSO. Hay momentos en los que probablemente necesitemos nuestro propio tipo de datos porque necesitamos definir algo dentro de cuatro programa que tenga propiedades únicas. Andi, incluso una mezcla de esos otros tipos de datos basados que acabo de mencionar en DSO Una clase nos permite definir nuestro propio tipo de datos, que puede ser una combinación de thes otros tipos y propiedades y métodos que queremos. De acuerdo, así que esa fue una explicación muy extraoficial fuera de ella. Andi. Ojalá tuviera sentido. Pero si todavía no está claro en qué es lo que estamos a punto de crear una clase, voy a explicar en detalle todo a medida que avancemos. Entonces digamos que queríamos nuestra propia clase llamada box. No, Señor, ya tenemos clase. Tenemos la palabra clave clase que nos dice Bueno, esta es una clase y se llama Programa. Pero quiero otra clase que no sea programada, así que no puedo definir una clase ni voluntad. Generalmente se desanima a la clase final dentro de otra clase. Pero sí lo necesito dentro del espacio de nombres. Por lo que dentro de las llaves para mi espacio de nombre sólo voy a crear otra clase en esta prensa entrar dos veces. Entonces diré clase, Andi, esta clase se va a llamar box, así que quiero una clase llamada box. Yo quiero un tipo de datos que, ya sabes, parece una caja. Ahora sí dije que es un plano. Entonces, cuando estás definiendo una clase, necesitas sentarte. Está bien. Ya he dicho que necesito una clase. Necesito un nuevo tipo de datos se le den un nombre. ¿ Qué aspecto suele parecer? ¿ Cuáles son las propiedades? Y cuando digo propiedades, son las características definitorias de este nuevo tipo de datos. Bueno, te puedo decir que una caja es un objeto tres D. En términos generales, caja Onda suele tener longitud, amplitud y altura. Correcto, Así que sabemos tres propiedades que tendrá esta caja. Entonces para definir propiedades, necesitaré el modificador de acceso. Entonces miramos uno en cuando estamos haciendo métodos, nuestro llamado Es estático. Bueno, hay otro. Tienes bien público. También cuenta con privado. Entonces en el caso, fuera de una clase, podemos definirlo como público. Entonces le damos un tipo de datos para que el tipo de datos pueda estar fuera de otra clase o puede estar fuera de un tipo de datos base. Entonces una vez más, esta soy yo idea definitoria. Testificó otra clase en otro lugar que me vendría bien hace un día a la hora. No. No obstante, lo estoy manteniendo simple. Tan público on, entonces mi tiempo de datos para la longitud probablemente sería algo así como doble encendido. Entonces lo voy a llamar enlace. Entonces sólo voy a decir conseguir comas set. Muy bien en. Eso es más o menos lo que parece. Tan público, doble longitud en entonces el getter y setter, significa que esto me está permitiendo recuperar el valor en esto me está permitiendo establecer un valor. Muy bien, para que pueda obtener el valor de mi propiedad llamada Length on Die puede establecer un valor. Y el estudio visual me está insinuando que, ya sabes, estoy violando la convención de nomenclatura. Entonces déjame ver qué me van a decir ahí, solo sugiriendo que las propiedades fuera de las clases deberían obtener mayúsculas. Está bien, así que intentemos eso otra vez. No, este alguien para mostrarte un atajo de teclado al definir propiedades dentro de una clase en C sharp en visual studio, puedes escribir la palabra prop on, luego doble tina superior, y luego lo hará bueno, ya sabes, completa esa línea para ti. Por lo que va a resaltar el tipo de datos. Puedo expresar el doble derecho y presionar arriba, luego pasar al siguiente, que es mi propiedad en éste. Quería ver aliento, y estoy usando la convención de nomenclatura sugerida esta vez. Entonces presiono enter on. Después lo agrega a la propiedad. Muy bien, entonces, ¿qué lo ha probado otra vez? Prop Doble tina puesta, luego doble encendido, luego tina encendido. Entonces éste va a ser altura para centrar. Ya terminamos. Está bien. Y luego felicitaciones. Acabas de definir tu primer usuario definido. Comí un tipo o tu primera clase. Sepa que tengo este tipo de datos definido por el usuario. ¿ Qué hago con él? A pesar de que lo uso. Está bien. Entonces pensemos en cómo usamos los tipos de datos regulares y ganamos el tipo de datos regular. Simplemente especificamos o tipo de datos en. Entonces dale un nombre y luego tal vez darle un valor. Correcto. Entonces, como cuando queríamos un número, habríamos dicho algo así como, ¿No es nuestro tipo de datos de nombre en. Entonces dale un valor. Cierto. No. Queremos definir la caja como una barra muy. ¿ Quieres una variable fuera de tipo cuadro? Entonces cajas un tiempo de datos? No. Y queremos una variable que represente caja. Entonces, el fin de inicializar una nueva variable o lo que llamamos un objeto. Por lo que sólo voy dedo del pie escribe un comentario aquí, crear objeto fuera de clase tipo cuadro. Entonces voy a decir algo como Box. Entonces sólo voy a llamarlo de la misma manera que llamábamos. El INT es de la misma manera. Solo estoy llamando al tipo de datos encendido. Entonces le voy a dar un nombre, alguien que le dé caja B común. Entonces es muy sensible a mayúsculas y minúsculas. Si definí clase con una cámara con una B mayúscula, entonces se va a ver de manera diferente como común B. Pero podría haber sido cualquier cosa que pudiera haber dicho Box B Box uno la misma convención de nomenclatura que hubiéramos usado para ir y Se aplicaría el nombre santo o las variables. Aquí la única excepción es que pueden mirar. El caso realmente importa mucho. Por lo que tengo mi cuadro de tipo de datos y noto que es una especie de cool concedido al igual que el programa. Entonces eso es una clase. Y luego casillas llamada concedió lo común ser cajas Kalakota al igual que Nome. Entonces esa es mi variable están en esta situación. Mi objeto sobre eso lo voy a inicializar dedo del pie una nueva instancia off box, y este paso es muy importante. Está bien, así que sin este paso, entonces bueno, sería que no funcionaría esencialmente. Entonces si solo dijera caja estar en el estudio visual Colon cívico tipo de aceptarlo. Pero entonces nada de lo que hagamos después funcionaría. Simplemente arrojaría errores. Muy bien, Así que cada vez que estás usando una nueva clase o un nuevo objeto definido por el usuario lo sentimos y habrías tipo de datos definido por el usuario son, que está en el formulario para la clase que habrías creado, entonces necesitas inicializarlo diciendo ese nombre de clase, algún nombre de objeto es igual al dedo del pie una nueva instancia fuera de ese nombre de clase otra vez en llaves abiertas y cerradas . Hay veces puede que veas contenidos en los aparatos ortopédicos, pero esta no es una de esas veces, así que no me fui dedo del pie. Ponga a la luz ese escenario todavía, y sólo vamos a seguir adelante con nuestro objetivo. Entonces sepan que tenemos nuestro objeto de caja o una variable de caja, y voy a empezar a llamarlo objeto desde No. Uno, correcto. Sigo llamando enfermo variable y puede Arana mental paralela, pero realmente es un objeto. Una vez que está fuera de un tipo de clase en bits, sin inicializado, no es en el objeto. Está bien, así que puedo decir box on entonces un operador muy, muy especial que sé que has visto bastantes veces en el probablemente simplemente nunca significó mucho para ti. Tenemos nuestra parada completa por lo que box dot en entonces. Mira lo que está haciendo la inteligencia. Me está diciendo que tengo acceso dedo del pie Ah, propiedad. ¿ Ves esa llave? Ese rango significa propiedad llamada aliento. Tengo acceso a una propiedad llamada altura, una propiedad llamada length all three off, que acabo de definir dentro fuera de mi clase. Está bien, entonces me están diciendo que puedo conseguir y puedo configurar, lo que significa que puedo imprimir caja de esa longitud si necesito dedo del pie. También puedo decir cuadro que longitud es igual a algún valor Alguien que haga eso, alguien que establezca algún valor. Entonces caja esa longitud Así caja que la longitud es de 10 en. Entonces voy a guardar caja que con nuestro aliento lamentable es igual a 15. Y entonces también voy a decir que la altura atracada de caja es igual a cinco. Entonces estoy estableciendo valores aquí, ¿verdad? Por lo que c sharp hace que sea muy fácil para usted crear un objeto en luego establecer valores para estos objetos. Entonces cuando estoy poniendo o asignando valores, ese soy yo configurando cuando estoy imprimiendo, ese soy yo consiguiendo así que realmente puedo hacer unos puntos de consola. Línea derecha. Está bien, así que ves eso, No operador otra vez. Y note la codificación de color en la consola de palabras. Se ve igual a la codificación de color on box on on program en cada otra clase a la que habríamos llamado. Entonces eso significa que los creadores fuera del lenguaje C sharp crearon una clase y luego esta clase en lo sé porque después de la inteligencia del operador punto me emite todo lo que puedo ver en la clase, tiene muchas propiedades, y los métodos del cubo representa un método. ¿ Verdad? Así que tener un método llamado línea derecha. También tienen una propiedad llamada propiedad OTA llamada propiedad era. Llamado a esto una propiedad llamada que mi clase solo tiene tres propiedades. Esta tiene tantas otras propiedades que quiero decir, puede que nunca use con toda honestidad, nunca han usado algunas de estas cosas aquí dentro, pero las herramientas están ahí. Entonces solo estoy tratando de mostrarte que cuando estás creando una clase, depende de ti. Este es un blueprint Pero luego se inicializa, y luego todo se vuelve real porque en realidad puedo interactuar con las propiedades y métodos que habrías definido. Por lo que fui a ver una consola de punto línea derecha encendido. Entonces sólo me gustaría imprimir las dimensiones de caja son caja que caja de longitud que amplitud Unbox start Height escribe. Sólo estoy imprimiendo pero la violencia. Entonces, como dije, cuando estás tratando de ver los valores que realmente estás haciendo, lo consigo. Pero cuando estás diciendo que los valores que estás haciendo están establecidos ahora, mira lo que pasa si elimino el conjunto de la longitud. Andi. Quité el get de altura. Está bien, así que no, ten un estrecho porque estoy tratando de poner un valor a una propiedad que solo me baja para acertar . Sí, es público, pero es decir que no eres un lugar de dedo bajo, un valor dentro de esta propiedad en. Entonces me está dando esa flecha porque está diciendo, Oh, eso es ilegal. Su lectura sólo se puede recuperar sólo los valores, por lo que no está dando a los hombres. Irwin. Lo estoy imprimiendo porque sólo estoy recuperando aquí. Está bien, encendido, entonces, justo de la misma manera para la altura sólo lo puse a poner. Entonces, sí, puedo poner un valor ahí, pero no puedo recuperarlo. ¿ Todo bien? Entonces solo estoy señalando todo eso también. Porque cuando vas a estar interactuando con otras clases, bueno, una, cuando estás definiendo tus propias clases, vas a tener mucho cuidado si sabes, si es necesario saber qué nivel de descuento acceso que le estás dando el dedo del pie. ¿ Qué propiedad? Entonces un ser humano probablemente lo sea. Bueno, digamos que conocerías a cualquier ser humano a menos que des a luz a este ser humano. Los habrías conocido con los nombres para que no solo sigas adelante y pongas nombre. No pones el nombre y sientas el apellido, pero puedes conseguir esa información, ¿ verdad? Entonces si alguna vez fueras a definir una clase que tal vez llamas persona, que parece un ser humano, ya sabes, estás defendiendo con propiedades de un ser humano en una propiedad de un ser humano sería un nombre de pila. Otra propiedad sería un apellido, ¿verdad? Probablemente tendrías nombre de pila con solo conseguir en el apellido con solo ponerte bien. Pero entonces probablemente tengas algo más que pueda conseguir nombre completo en ¿nunca lo harías probablemente establecer, set put saris poner un conjunto en el nombre en el apellido son así que puse pero mi hermana y mi getter en mis propiedades en mi clase Y ahora voy a ejecutar este programa. Entonces déjame simplemente cambiar rápidamente los inicios del programa. ¿ Todo bien? Así son programa muy sencillo. Esas dimensiones impresas o de caja son 10 15 y cinco, igual que todas las definimos. 10 15 5 on. Después imprimimos sobre sentencia. Por lo que hemos estado haciendo mucho fuera de entrada o pone programa. Por lo que en realidad podría modificar esto para recibir los tres números como entrada y luego establecer los valores y luego hacer la impresión. Entonces yo lo voy a hacer. Yo quería pausar este video ahora mismo e intenté a ti mismo en. Entonces tú en pausa y pasará juntos. Artes han concluido ese ejercicio, Así que pongo en algunos comentarios y Cannery aireando la cancha. Por lo que siempre es agradable tener tus declaraciones tipo fuera de un solo lugar. O sea, sí acepto que algunas cosas no sabes qué variable necesitas hasta llegar al grano, pero cuando solo puedes intentar ponerlas todas en un área. Entonces pregunté por los tres números, y luego los puse. Entonces los conseguí. Está bien, así que solo manejemos eso y CEO que funcione. Entonces me estoy poniendo la longitud y esta va a ser una caja que es de 10 por 15 por cinco en adelante. Entonces sólo se va a imprimir. Las dimensiones son de 10 por 15 por cinco. ¿ Sabes qué pasa si quisiera hacer algo con esos valores? ¿ Y si mi quería que mi caja me dijera que es volumen, así que sé que es longitud molesta puente. Sé que es altura, pero luego quería dedo del pie calcular el volumen en base a las propiedades. Saber lo que puedo hacer es definir un método para poder definir una función dentro de mi clase y solo por aviso de contexto tenemos la clase llamada Programa on. Tiene una función. Entonces pasamos por ho para definir funciones, y solo voy a usar los mismos principios excepto esta vez dentro de una clase, un nuevo cuerpo de clase, correcto, correcto, Así que las últimas funciones off las defendemos en lugar del elenco programa. Pero no quiero estos métodos dentro de programa. Los quiero dentro de mi clase llamada Box on Este método se va toe devolver los volúmenes fui a llamarlo, Get volume. De acuerdo, alguien para decir público el entonces quería devolver un valor, Sir Mobile y su valor regresando. Tenemos que especificar un tipo de datos alguien para decir doble. Entonces lo voy a llamar Obtener volumen encendido entonces no está tomando ningún parámetro y voy a explicar por qué no está tomando parámetros. No necesita tomar parámetros porque es una parte de la clase que tiene las propiedades. Entonces como resultado, hay como hermanos. las propiedades son hermanos. Se conocen el uno del otro. Los métodos son hermanos con las propiedades, por lo que en realidad puedes simplemente referirlos directamente dentro del método. No tienes que pasar ningún parámetro porque están todos dentro de esa caja. ¿ Todo bien? Entonces quiero decir, como dije, esto es un tipo de definiciones de datos. Entonces si tengo una caja que tiene una longitud con ah altura, también es el volumen. Todos esos siguen relacionados con esta caja única así que puedo pensar en una escalera. Defines la clase, le das propiedades. A lo mejor lo diste sobre método. Nuestro teléfono herramienta esquiva lo que sea, lo que están todos separados. ¿ Alguien se opone a esta caja? Está bien, así que voy a decir y se dieron cuenta de que la línea roja porque es valor regresa. Necesito volver. Entonces estoy regresando tiempos de longitud, pan, tiempos, altura. Está bien, así que eso es para que saquemos el volumen de cualesquiera tres objetos D, así que sepan que tengo este valor. Puedo volver a mi función principal O dejarme ponerla en la era donde me estoy poniendo las propiedades, Entonces sólo voy a decir en volúmenes. Yo sí dije que es buen dedo del pie. Declara variables en un oído a menos que te des cuenta de que necesitabas en otro lugar. Diga, sólo una zanahoria. Por lo que en volumen va a ser igual dedo nuestro objeto call box. Cuando digo punto te vas a dar cuenta de que tengo que conseguir volumen no hay disponible para mí. Entonces cuando digo obtener volumen, significará que funcionan autos, por lo que cuando se está ejecutando, se pone los valores de nuestros usuarios en. Después establece los valores y luego obtenemos el volumen. Pero su aviso tienen por error aquí porque diciendo que estoy devolviendo un doble, pero lo estoy almacenando dentro de fuera en int. Entonces mi mal que necesita ser de doble volumen es igual dedo del pie. Obtener volumen encendido. Entonces lo que voy a hacer es decir que el volumen de caja está encendido. Entonces solo estoy corriendo hacia atrás el valor que está dentro de mi variable llamada volumen. Muy bien, así que vamos a pasar por esto otra vez. Tenemos una caja. Declaramos un objeto de datos llamado caja lo estaban llenando con valores en. Entonces estamos d calculando. Ah, volumen. En base a esos valores, no hay necesidad local. Esta escuela se ve imagina si fueras a leer todas esas cosas en un solo lugar y se puede poner desordenado. Por lo que dentro de tu clase, puedes tener tantas funciones que incluso podría decir públicas. Um, lo mejor tengo otra función que consigue el área. Entonces voy a decir, conseguir área esta vez fuera de cualquier lado y entonces la era suele ser longitud por respiración. Entonces no es la altura escribe. Tengo otra función por lo que puedo hacer otra donde veo un área doble es igual a caja que obtienen área. Entonces tantas funciones como necesite o quiera, puedo definirlas dentro de mi clase en adelante, ya sabes, sobre una base necesidad por necesidad. Simplemente declaro mi objeto, hago mi teléfono mostrado llamar, luego obtengo el valor y puedes tener formaciones vacías también. Por lo que no siempre es Valle regresa. Yo sólo estoy en remolque. Duplicar esta línea usando control de on print out el área que estoy recuperando. Muy bien, así que intentemos ejecutar este programa, y voy a hacer algo que sé que va a lanzar un aviso de error que descuidadamente he estado usando el doble. Por lo que estoy sugiriendo que mi longitud, amplitud y altura pueden ser dobles. No obstante, sólo estoy haciendo un dentro que Pires a la línea de lectura. Entonces esta es la flecha. Si mi longitud era de 1.5 y presiono enter, entonces estoy obteniendo un error de excepción de Aled sin mano. Muy bien, así que sí hablamos de manejo de excepciones donde es bueno envolverlo en el try catch para evitar este tipo de errores. Pero sólo por el bien de la simplicidad. Yo sólo voy a cambiar esto. Entonces si tenemos en la oscuridad Pires, entonces adivina lo que también tenemos. Tenemos double dot pars art, y si estamos haciendo un doble punto partes, también necesitamos tener el valor que está siendo piratas entrando en un doble. Muy bien, Así que cambiemos estos dos dobles viejos. Como dije, es muy estricto en. Entonces simplemente cambiamos el doble motor, así que tenemos doble N uno haciendo un lote doble pars en doble, doble, doble, doble, doble, doble en todo no es relativo a dobles. Entonces intentemos esto otra vez. Por lo que la longitud es 1.5 en la respiración es 3.4 en la altura es noche hace algunas dimensiones aleatorias . Entonces no, estoy viendo que las dimensiones son esos tres valores el área o el volumen Lo sentimos es 45.9 , así que eso es 1.5 veces 3.4 veces nueve en, entonces el área es 5.1 porque eso es 1.5 veces 3.4. Entonces, no, tenemos algún tipo de datos que representa una caja. Pero, ¿adivina qué? Y si tuviéramos dos cajas o más de una cajas son. Teníamos una colección fuera de cajas. El hecho es que podemos definir tantas cajas como necesitemos. Entonces voy a decir que esto es box on. Después hay una segunda caja que necesito dedo del pie estar pendiente para el trabajo. Dimensiones antiguas para segunda ver caja. Ah, entonces no hay nada que me detenga. Entonces es igual que, Oh, Oh, podemos tener múltiples variables de enteros, múltiples variables de cadena en las que puedes tener múltiples objetos. La ortografía me está derrotando. Puede tener múltiples objetos fuera del mismo tipo de datos siempre y cuando los nombres no sean los mismos. Está bien, así que puedo tener caja a caja cinco pavos 10 ahora, imagínate tratando de llenar las dimensiones fuera. Ah, somos anfitrión de cajas llenas fuera. Por lo que sabes que sus 10 cajas y tienes que escribir un programa a allo ellos para entrar a las dimensiones para 10 cajas. Entonces vas a tener caja a caja tres caja para caja cinco y luego tendrías problemas por caja porque entonces por caja a voy a tener dedo repita todos estos pasos solo para asegurarme de que estoy consiguiendo por caja, también. Por lo que hay una manera más fácil. Yo sólo estoy dando una idea de todo tedioso se podría poner. Pero yo sólo digo que eso es lo que a estas alturas, tendríamos que hacerlo yo sólo voy a proceder con la caja también. Por lo que tenemos la promesa para los dispositivos para las dimensiones de la caja y estamos sentados e imprimiendo los valores realmente están sentados en calcular el virus word box. Entonces solo voy a duplicar todo fuera de esto y me voy a volver a hacerlo debajo, Correcto. Pero en este tiempo, voy a cambiar estos viejos Así que no voy a despejar realmente en uno en una entrada. Entonces, como dije, si tienes que volver a usar una variable, realidad puedes simplemente referirla por nombre después de que haya sido declarada. ¿ Verdad? Por lo que lo declaramos aquí. No vamos a estar llevando juntos. Solo lo estamos usando en contra solo estoy haciendo referencia a ello en. Entonces voy a cambiar estos viejos hasta la caja uno. Por lo que es una caja una caja a Lo siento. Entonces estamos cambiando estas referencias. Auto box demasiado encendido entonces. Una vez que haya terminado esto, solo te explicaré rápidamente exactamente qué está pasando aquí en. Entonces voy dedo del pie duplica todas estas líneas de impresión, Estamos bien donde voy a estar imprimiendo caja, también. Dimensiones on. Entonces notas a las que voy después sobre ella. Entonces no lo voy a hacer de nuevo Y lo que les voy a mostrar que en realidad pueden imprimir directamente desde nuestro regreso, correcto. Entonces, sobre anotar, han sugerido que pongas el sermón de valor de retorno, pero que get volume es un teléfono, hijo que devuelve algo. Entonces cuando devuelve ese valor sé que dijo en uso una variable. El Stamatis devolvió el resultado de este cálculo el Entonces ese resultado de los cálculos fueron para quedar almacenado dentro del volumen. No, no escuches imprimiendo volumen. Y yo estoy imprimiendo aire, que sabemos dónde para caja. El primer cuadro. Voy a quitar esas declaraciones para la segunda casilla. Entonces estoy sentada. Es las alturas el aliento bajo la longitud. Pero entonces estoy imprimiendo caja a conductos, y luego solo voy a llamar a la función ahí mismo. Consigue volumen en eso. Voy a imprimir de nuevo. Caja esa caja lo siento, también. Puntos obtienen área. Muy bien, Entonces solo te estoy mostrando que puedes imprimir la variable puedes hacer la llamada de retorno. Consíguelo. Guárdelo en una variable muy sosa y manipulada que podría ser más deseable si lo tienes . Ya sabes otras cosas que necesitas hacer con el valor. Pero entonces también puedes simplemente devolverlo. Hágalo imprimir directamente dentro de su operación de impresión. ¿ Verdad? Entonces tienes esos dos. Ah, Y por supuesto, hay que saber cuándo estás usando qué método. Entonces, vamos a ejecutar este programa una vez más. Donde tienen dos cajas. Entonces tengo dos casillas fuera del tipo de datos que acabo de crear. Buzón de llamadas. Voy a imprimir prompt para introducir valores para el primer cuadro el. Entonces voy a calcular el volumen en la zona que fui a avisar nuevamente el final de nosotros para el segundo cuadro. Entonces quiero decir, puedo modificar el prompt para decir para la casilla uno. Está bien, así que solo haré eso. Y luego repito eso para los problemas para caja, también. Y luego después de conseguir la violencia o la caja para, sólo estamos poniendo las dimensiones en consecuencia en. Entonces sólo vamos a imprimir caja una caja dimensión una área sobre así en volumen y luego caja a caja también en caja. Entonces solo estoy agregando estos para que tengamos algunas indicaciones visuales en cuanto a qué valores son para caja uno en qué valles son para caja también. Entonces vamos a ejecutar esto y ver obras de holdout. De acuerdo, así que ya he ingresado algunos de los valores 56 y 34 dimensiones para la caja uno en. Entonces voy a decir 54 on 10 para las dimensiones. Entonces box to percenter, y entonces podemos ver aquí Caja una dimensiones son estas tres en luego caja dos dimensiones son esas tres y esos son los cálculos. Ellos ven que todavía estoy consiguiendo el área en el volumen a pesar de que solo estoy imprimiendo directamente en la consola. Correcto alineado el valor de retorno. Está bien, Así que asegúrate de que no te confundas por la brisa temprana del libro y que estamos haciendo una llamada de función dentro de la consola esa línea correcta aquí. Entonces cuando llega a esta línea y empieza justo en el texto, se da cuenta de que Oh, tengo que hacer una llamada telefónica mostrada. Déjame ir a la diversión mostrada en entonces eso va a devolver algún valor en entonces lo que sea que devuelva es lo que consigue concatenación hizo en remolque la cuerda que se está escribiendo en la consola. Entonces, como sigo diciendo que hay muchas maneras de hacer las cosas, creo que, ya sabes, recuperarlo. Responderla en una variable es mucho más limpio, mucho más fácil de leer que algo parecido a esto. Pero una vez más, tienes ese método a tu disposición. Ahora, como acto final, les voy a mostrar la mejor manera de manejar sus clases. Por lo que habría tenido que pasar por la minuciosa explicación fuera diciendo por qué no deberíamos definir otra clase dentro de esta artesanía. ¿ Verdad? Entonces tenemos programa de clases y tuve que pasar,ya sabes, ya sabes, una reestructuración bastante fuera de registro para asegurarme de que no estuviera dentro de este corsé rizado. ¿ Qué, Dentro del nombre Space Girl? Una brisa en dit es en realidad la mejor práctica. Se menos un mucho más limpio buscando archivos de proyecto cuando y corte subrayado. En general, cuando creas un nuevo archivo por archivo de clase, así que ten en cuenta que tenemos una clase llamada programa. Contamos con un archivo correspondiente en nuestro proyecto denominado Programa. Eso es sí, lo que significa entonces cualquier clase que crees, es la mejor práctica crear un nuevo archivo. Llámala que ese nombre de clase punto CS en. Coloca tu definición fuera de una clase dentro de ese archivo. Entonces en realidad voy a hacer eso ahora mismo. Entonces voy a tomar esta clase que acabamos de crear, y voy a cortarla. Por lo que toda la cancha asociada a la clase entienden hacer control X, y lo estoy citando desde dentro de mí en adelante. Entonces perdonamos a los visitantes a los pocos segundos y todo va a ir aquí donde va a ser como, Oh, tengo, ah definición para tipo de datos aquí. Eso no existe. Ah, y iban a decir, visitantes a hacer Está bien. Sabemos lo que estamos haciendo. Entonces vamos a pasar a nuestras clases y objetos de proyecto, ¿ verdad? Haga clic. A continuación doy clic. Ya sea en. Entonces lo que estamos haciendo es agregar una nueva clase. ¿ Ves esa clase? Por lo que hacemos clic en clase una vez más. Cualquiera que sea el nombre de la clase, es una práctica recomendada dar el archivo que nombra. Voy a llamar a esta caja de cristal, así que eso va a seguir adelante y crear un nuevo archivo. Andi, incluso va a seguir adelante como faras llenando el nombre de la caja de Dios de la clase porque, contextualmente, ya está nombrando a la clase. Por lo que sólo voy a reemplazar este cable predefinido en aviso lo diciendo para referencias. Y eso es porque solo cómprame creando esa clase en caja. No hay propiedades ni nada en mi minuto detecta automáticamente eso. No obstante, el tipo de datos está de vuelta, así que sé lo que estoy haciendo. Pero entonces no tiene propiedades. No tiene función. Entonces todo lo demás sigue aquí. Alambre. Entonces solo voy a reemplazar este block off cord por la clase en la que acabo de crear. Entonces cuando vuelva a mi maldad que todo está bien. Entonces, una vez más, cuando estamos a punto de crear una clase en realidad es mejor simplemente ir a nuestro proyecto. Haga clic derecho goto anuncio, haga clic en clase dar o clase y nombre. Así que digamos que creé una clase llamada persona, está bien, y luego hago todas nuestras definiciones, todas nuestras propiedades y me siento aunque tres propiedades rápidamente, no quería aburrirte con escribirlas Segunda pausa y escríbalos si necesitas dedo del pie . Pero su nombre, apellido y edad sobre eso voy a declarar otro en esta ocasión. Estoy usando un modificador de acceso diferente, y este se va a llamar privado. Por lo que privado sería salario para argumentos. Doble de escape en Sallah re. Está bien, así que estoy definiendo estos como públicos en esto como privado Saber cuando algo es privado, significa que nada fuera dicho fuera de la clase Can Access City no puede acceder directamente a esta propiedad desde el objeto. Está bien, así que déjame poner eso en contexto para ello. Entonces voy a volver al programa. No voy a hacer demasiadas modificaciones porque persona viene en la cola final esta lección. Pero vamos a ver qué pasa. Alguien que diga persona. Yo lo noté la persona de texto, porque está en un archivo de clase. Es en el espacio del mismo nombre, por lo que se conocen unos de otros y de sus hermanos. Entonces persona en entonces, como de costumbre, después de declarar un nuevo objeto fuera de persona, alguien para ver persona P mayúscula, ese mismo de la clase persona P común que es nombre fuera del objeto es igual a una nueva instancia de una persona. De acuerdo, así puedo decir persona el objeto en say dot on entonces la inteligencia me está mostrando exactamente a lo que puedo acceder. Puedo acceder a la edad porque eso era público. Puedo acceder al nombre y apellido porque los que también son públicos. Pero no puedo acceder al salario porque es privado, ¿no? Entonces si voy tan lejos como escribir salario porque estoy desafiando visual studio y veo afilado y voy a decir bien, ya sabes, quiero ver salario, entonces va a decir que no puedes. No es accesible por su nivel de protección. Entonces porque dije que es privado, eso es información privada. No puedo simplemente seguir y decir que quiero ver salario. Está bien, así que normalmente cuando tienes propiedades privadas son miembro privado se siente dentro de una clase, entonces tú me lo que llamas función getter. Por lo que ya estamos definidos que podemos tener un valor predeterminado, obtener un conjunto por defecto una vez que definamos nuestra pública, um, propiedad. Pero entonces cuando es privado, probablemente no quieras hacerlo así para que realmente puedas hacer algo como definir una función. Y me estoy ajustando para llamar a esto público. Llámalo doble en ir a ver obtener salario y luego esta función pública a la que debería poder acceder Cuando digo persona punto regresará apio. Entonces regresa apio. Muy bien, entonces. ¿ Y si necesitara sentar el valor por salario? Recuerda, es privado y no tiene ningún getter y setter, por lo que normalmente realmente crearían otra función. Y a este le llaman sentarse para que veas doble público conseguir salario y esto va a regresar. Pero entonces ésta puede ser nula porque no necesito devolver nada cuando estoy sentada el salario, sin embargo, voy a requerir que me digas casa con sueldo estoy sentada para esta persona. Entonces necesito un valor de tu parte. Entonces voy a decir que me envíes un parámetro on. Voy a decir que me des apio con. Vamos s, entonces. No regreso, pero estoy sentado. El salario de s capital, que es mi puntera de campo miembro privado, tienen el mismo valor que el salario que está entrando a través del parámetro. Entonces los salarios le dieron un salario, así que Ah, buena condena de nombrar. En realidad, cuando se trata de miembros privados es que usan subrayado en no mayúsculas. Por lo que los públicos accesibles tendrían la letra mayúscula. Pero una vez que es privado usar un subrayado y un caso común. Entonces déjame simplemente cambiar ese barco. O sea, viste que funcionaba de cualquier manera. Entonces no se trata de apagarlo. Trabajar contra no trabajar es sólo un asunto fuera. Este es el estándar. Entonces viene alguien más, mira tu núcleo. Saben exactamente lo que están mirando de un vistazo. Muy bien, tan privado doble salario que es nuestro campo de un miembro privado en. Necesitamos una función para obtener el valor que hay ahí, y necesitamos una función para establecer de valor ahí dentro. Por lo que de vuelta en el programa, puedo guardar persona punto en solo tendré acceso a cualquier método o propiedades que tengan la identificación pública. Ire son modificador de acceso. Perdón. Ah, indicador ahí encendido. El hijo clario. Entonces, ¿eso es todo para esto? Muy, muy así que eso es todo para esta rápida introducción a clases y objetos en C agudo. Te voy a animar a que solo pienses en cualquier cosa. Piensa fuera de tu hoyo encendido. Entonces la clase final llamó Pit on. Entonces comienza a escribir todas las diferentes propiedades. Andi. Me gusta pensar en las propiedades como los conocidos en los métodos como los verbos. ¿ Verdad? Por lo que lo conocido sería como algo que está ahí por lo que una caja siempre está en turbulento. Siempre ha ido después del nacimiento. Siempre va a tener una altura, pero después conseguir el volumen y conseguir el área, o en lo alto en la institución de la persona, conseguir el salario o fijar el salario o incluso conseguir nombre completo. Entonces déjame teclear esa. Quiero que completes esta cadena pública, obtén nombre completo. Entonces quiero que definas esta función dedo del pie, pon el nombre completo de esta persona en. Yo quería compartir tu cancha conmigo en. Entonces podemos pasar por cualquier dificultad que tuvieras juntos. Por lo que una vez más, los métodos son más diversos porque esto es una acción. Obtener el nombre completo es una acción, pero el nombre siempre está ahí. Eso es más como una nota. Está bien, entonces eso es un reto para ti. Hazme saber si tienes alguna 16. Arrays y listas: Oigan, chicos, bienvenidos de nuevo en este video estará mirando prisas y colecciones en C agudo. No, dije Ari y colecciones, porque bueno, Array es el tipo de colección más utilizado en la mayoría, si no en todos, idiomas. Por lo que al entender honoree en C sharp, puedes aplicar prácticamente los mismos conceptos a C más Java y a cualquier otro lenguaje de programación . Dicho esto, sin embargo, sin embargo, existen otros tipos fuera de los tipos de datos de recolección que existen en la actualidad. Ya que estamos usando C Sharp, estamos viendo nuestra facilidad en. También estaremos viendo listas en. Entonces te daré un escabullo a los demás. Pero la realidad es que todos se comportan de la misma manera. Andi al final del día está casi un mes de preferencia, ¿ cuál elegirás? No, para empezar. Te voy a pedir a los balnearios aquí mismo. Adelante y crea tu nuevo proyecto en tu solución llamada Ari's and Collections. Y una vez que hayas hecho eso, entonces podrás continuar en el video. Entonces tomemos algún tiempo para definir sobre área, y acabo de poner algunas guías visuales en cuatro de comentarios para que sepamos exactamente lo que estaremos logrando a medida que avancemos. Pero Honore es una colección de objetos fuera del mismo ataque de fecha. O si querías una palabra B para usar ahí mismo. Ya ves, es ah, recolección homogénea de datos. Entonces eso realmente significa que puedes tener, ah, manojo números todos directamente relacionados entre sí, um, o un montón de cadenas todas directamente relacionadas entre sí. En toda la ventaja de usar honoree en lugar de Terrible como hemos estado usando sobre hasta este punto sería que si quisiera un programa para recoger las calificaciones para 10 alumnos en una clase, está bien, tendría que declarar 10 variables. Eso sería genial uno genial para calificar de tres a 10 para cobrar 10 grados. En lugar de hacer eso, sin embargo, puedo ser claro de prisa para 10 son así que van a empezar con nuestra primera área por el claro en un listo para almacenar cinco grados para algunos estudiantes. Muy bien, entonces, una vez más, si quisiéramos almacenar fibras que originalmente, habría estado declarando cinco variables. Genial. Larga acordó acordar calificar para Grado cinco Sin embargo, realidad podemos ver las fechas de tipo, que en este caso serían algo así como int antes de comenzar las calificaciones en columna vertebral en. Entonces tendríamos corchetes que indican que queremos en una carrera. Por lo que queremos una arteria o colección fuera de enteros. Muy bien, entonces le damos nuestra A y nombre. Entonces en este caso, como dije, estamos agitando grados, así que int corchetes cuadrados grados encendido, entonces tenemos que inicializarlo. Entonces decimos es igual dedo del pie un nuevo int en entonces. Bueno, esta es la sección que estamos haciendo un ary de tamaño fijo, así que sabemos que queremos cinco grados. Entonces dentro de los corchetes, vamos a ver cinco. Muy bien, entonces el Symbicort. Y así ves que este tipo de inicialización se parece un poco a, Oh, inicializamos nuestras clases directamente en objetos. Perdón. Por lo que tenemos el tipo de datos sobre el ari. Los corchetes indican que esta lesión Así que parece justo una declaración variable . ¿ En serio? Excepto que lo estamos inicializando como, Oh, lo hicimos con los objetos y donde no pueden clases. Entonces vemos, Dame una colección de enteros Andi. Yo quiero hasta cinco. De acuerdo, entonces ahora que lo tenemos declarado, podemos empezar a asignar valores y sus, ah, pocas formas de hacerlo. Pero lo haremos más adelante en esta sección donde asignamos por este arreglo, Terry. Pero luego ves que tengo una sección de prisa fija y luego tengo una resección de tamaño variable A. Entonces es cuando sé que tengo cinco grados dedo del pie recolectar nuestra ya sabes, en realidad, voy a reorganizarlo, así que voy a tratar de hacer cada una en su propia sección. Entonces te voy a mostrar una foto inicializar y realmente no sé necesariamente cuántos vas a tener sobre el número centenario debería entrar para que yo pueda hacer con el tamaño fijo una vez y luego el muy además después de otros puntos, pero presionando que tenía cuando no sé necesariamente cuántos grandes esperan, verdad. Entonces si estás construyendo, esta aplicación puede ser para vender dedo varias escuelas. Algunas escuelas pueden tener 10 alumnos. Algunos han presentado algunos de 20. No quieres poner en un tamaño fijo porque no puedes ir por encima del tamaño fijo encendido Si vas algo menos que el tamaño fijo, entonces básicamente estás desperdiciando espacio porque va dedo reserva cinco espacios en memoria para grados. Entonces esta vez sólo voy a decir int greens y me va a encantar este uno rejillas uno en DWI Recuerda que realmente dormí entre corchetes, greens uno en, luego semi colon. Entonces aquí mismo estoy viendo que quiero en ary on por No necesariamente seguro que habla Homewood. Voy a necesitar para esto cada pero sólo saber que cualquier artillería Muy bien, así que sólo estoy en diskette hombre Mujer que yo organice esto. Muy bien, Así que acaba de hacer una rápida organización fuera de los comentarios. Si no empezaste más bien, eso está bien. Yo sólo lo estoy haciendo como un bizarro Es débil. Y b Caris ¿Qué actividad estaban concluyendo, en qué momento? Entonces cuando estamos lidiando con un r a off suspiros fijos, lo que pasa una vez más es que tenemos que declarar ah, casa en el espacio. Necesitamos que Noto asigne valores a esta zona. Tener dos opciones. O puedo ver al iraní, que se acuerda, luego elegir el subíndice. Entonces lo que pasa es que al ver cinco hemos reservado cinco espacios en la memoria para esta matriz o para los valores que deberían entrar en esto. Perdón. Entonces nuestras direcciones para los valores serían lo que causaría sub scripts, verdad? Entonces come subíndice tiene, ah, velocidad. Ah, nombre encendido. Comienzan desde cero y suben hasta uno menos que el tamaño. Muy bien, entonces el administrador comenta explicando eso. Entonces cuando tienes cinco espacios, significa que tienes direcciones de cero a cuatro. Entonces la dirección cero es una. Entonces uno es entonces en el segundo espacio que dos es el tercer espacio tres. El cuarto espacio en adelante para es el quinto espacio. Entonces en el cero de Ari es muy, muy, muy valioso. Está bien, entonces, ya sabes, en regular mis pocos significan hasta conos eras un espacio, pero en la computadora cero ver velocidades. Entonces, técnicamente, si o matemáticamente si tienes un área fuera de talla 10 entonces vas a ir de 0 a 9 o cualquier talla que declare. Es básicamente de cero a n menos uno donde es del tamaño. Está bien, eso es un poco de fórmula. Está bien, Así que hice otro comentario. Si es la teoría del tamaño fuera, entonces eres las direcciones de Ari son cero dos y menos uno. Entonces una vez más, si cinco es el tamaño, entonces tenemos cero dedo del pie, cinco minutos, uno, que es cuatro. Muy bien, Así que para asignar los valores, entonces simplemente llamaría a cada uno por su dirección específica. Entonces si quisiera poner algo en el 1er 1 entonces digo cuadrículas, corchetes, poniendo ceros un subíndice o la dirección en que vería iguales que dicen uno. Está bien, así que ese es el primero acordado. Entonces solo voy a duplicar esto para acelerarlo para poder ver grados subíndice Juan subíndice herramienta subíndice tres. Entonces guión cuatro. Muy bien, entonces. Puedo usar un letrero los diferentes valores aquí. Está bien, así que tenemos a algunos estudiantes haciéndolo bien y a algunos haciendo fiesta. Eso está bien. Está bien. Entonces otra forma en que se pueden asignar valores sería ver calificaciones es igual a on. Después tienes que declarar que estás ascendiendo un nuevo apuro encendido, luego usa las llaves. Perdón. Una nueva lesión para sobre los tipos de datos tendrá que decir nuevo en entonces el tipo de datos fuera del tipo off son realmente tan fuera de curso, Si pongo un tipo de datos diferente aquí, voy a conseguir un error porque ya declaramos que las razas está encendido tipo ari entero. ¿ Verdad? Entonces eso es lo que queremos decir por su homogénea en un área puede ser agitando cadenas en enteros. Está bien. Tiene que ser uno a la vez. Entonces yo diría calificaciones sobre luego tú, luego los ins con el Kurt con las carreras cuadradas y luego en las brisas actuales. Entonces puedo deletrear cargas los valores. Entonces si quisiera así script cero para tener una partícula de valor que en este caso, pondría 10 en la coma en la 20 coma 30 común 40 derecho 50 a saber tengo 123 para cinco valores y luego tipo de implícitamente los asignaron a la apropiada dirección. Por lo que este es el primer valor que pasará al subíndice cero. Entonces estoy sentando valores aquí, y luego estoy sentado junto a esto aquí. Lo que realmente estoy haciendo es anular estos valores con esta puesta aquí mismo. Está bien, así que no quiero confundirlos con mostrarte que podríamos haberlo hecho de esta manera. También podríamos haber inicializado el ari que escribimos, así que en realidad sólo puedo comentar. Bueno, cualquiera que quiera venir en remolque sabe que el bailarín estaría en asignarle uno extra. Entonces si hubiera puesto un valor extra donde están poniendo un vestido extra como dije razas cinco en darle otro valor o me siento coma 60 aquí. Dije que tengo cinco direcciones, pero estoy asignando seis valores. Aquí están contando 123456. 123456 Ahora eso va a ser un problema. Y si intento dedo del pie, voy a ejecutar esto, no estoy seguro el problema con el que nos vamos a encontrar, acuerdo? Para que se ejecutara. Entonces me está diciendo que tengo un sistema que indexa excepción de rango Altaf. Entonces me están diciendo que este índice estaba fuera del índice es otra palabra para dirección r subíndice . Correcto. Por lo que este índice estaba fuera de los huesos de Ari. Entonces, una vez más, si lo pones para cinco, entonces se espera que no tengas más de cinco. Se puede tener menos, pero no más que bien. Entonces es lo estrictos que son los Ari cuando están evaluando los datos que se están poniendo. Yo sólo voy a quitar estos valores que bien tirarían una flecha. No, El otro dedo dimensión asignando valores a Ari serían los hechos de que no te sentarías . Andi, ya sabes, contratado, llamó a estas violetas como Scenario Give inicialmente fue que estás construyendo un programa para darle a una escuela o alguna institución para poder recolectar los valores de, Bueno, el programa va de los pies mucho a los usuarios que ingresan los valores en el Ari. Está bien, entonces ya sabemos cómo ingresar ya sabemos cómo abrirlo? Ya sabemos Hold the store Los valores adentro off son variables cuando permitimos usarlo en puerto más adelante, por lo que no extiende ese conocimiento un poco a los re. Entonces si le dijera a una institución que si tienen cinco estudiantes, les podría dar un programa. Algunos Chris Minto comentan estas líneas outs. Esos no son ejemplos, pero les estoy dando un programa que puedan eso les va a poner ahí cinco estudiantes. Muy bien, entonces lo que me gustaría hacer entonces es tener algo así como un cuatro bucles. Podría decir cuatro Tan inaudible. Aros en un bucle de cuatro es básicamente perfecto para en Ari. Entonces, pasemos por esto juntos. Entonces voy a decir cuatro ojos int, Igualdad cero, Igualdad cero, y recordar que todas las matrices empiezan a contar a cero. ¿ Verdad? Por lo que arranco con un valor de cero encendido. Entonces voy a decir que quiero que este programa o este predicho hermano corra por menos de cinco. Entonces recuerda que si decimos menos de cinco, correrás desde cero dedo del pie cinco menos uno que está más familiar al 0 al 5, menos uno. Está bien, vamos. Entonces diré, quiero que incremente después de cada corrida. Entonces lo que este cuatro bucle nos va a ayudar a hacer es pasar por cada uno fuera los sub scripts son el índice fuera de nuestro ari bastante rápido, ¿ verdad? Partes que acabo de escribir para consolar esas líneas de rata. Dos muy fácilmente. Contéstalo. En este punto, eso no debería ser muy difícil para ti. Enfermos y pausas el video de inmediato. Pero entonces lo que estoy haciendo aquí es solo incitar usa algunos ver entrar las calificaciones de los estudiantes en que solo estoy viendo consola. Correcto. Entonces esta es una línea correcta donde respiramos la línea y en la derecha siempre se pasa tantas veces como se corre el bucle. Entonces si lo corro bien, no te va a pedir que entres en la lucha de la codicia. Entonces ves razas inter estudiantiles y luego el derecho Integrar, integrar, integrar, integrar fuera de curso. El derecho no respira la línea. Entonces por eso hice eso. No obstante, um, rareza. Esos sprints. Obviamente, para eso no estamos aquí. Queríamos realmente hacer que un yo bajo a la entrada. acuerdo, tal vez percenter. Y entonces procede, ¿verdad? Entonces lo que haría aquí es uno que diga que quiero el grado con el índice fuera cualquier valor que ja's Así que recuerda, si empecé un cero en todo un reinicio fuera de cero, entonces en lugar de ver la codicia con, ah, hardcore ese índice aquí, como lo hicimos cuando dijimos grados ceros este periodo quiere está de acuerdo es que bloque podemos realidad solo ellos estuvieron de acuerdo con el subíndice R valor de índice off I. Así que eso significa cualquier valor que tenga en el momento que los cuatro se está ejecutando. Ese es el índice dentro de Ari que quiero manipular. El manejo aquí sería el dedo del pie excepto los insumos. Entonces por supuesto que conoces ese dedo del pie. Aceptar entrada. ¿ En serio? Línea de lectura de consola. Muy bien, entonces. Porque la codicia es un entero. ¿ Todo bien? Ah, lo siento. No verde, sino que me cría el trasero. Por lo que las razas representan un entero Estamos consiguiendo esa línea roja, así que necesitamos parte del dedo del pie. Entonces decimos en que pars cualquier valor que obtengamos de la consola. Está bien, así que una vez más, sólo estamos viendo integrado en. Después hacemos una pausa para las entradas. Eso es lo que esta línea está haciendo. Por lo que una pausa para la entrada a la consola que re línea cuando la persona presiona enter. Entonces lo analizamos para que sea un entero en. Entonces, teniendo análisis que estamos firmarlo dedo del pie el índice correspondiente en el Ari basado en el valor que yo haas. Por lo que ahora estos mínimos siguen corriendo de cero a cualquier valor que pongamos ahí, que, si su fin y está en menos uno. Está bien, así que intentemos eso dicho Todo bien, Así que vemos aquí que imprimimos la consola que la línea correcta se integra y luego donde se integró . Esta es la primera carrera en. Entonces está esperando. Entonces voy a poner 10. Y cuando presentador corre de nuevo No, se cuenta hasta. No hay ojos uno. Algunos ponen 20 y 30 luego 40 en luego 50. Eso es 11 señor. 2345 valores en. Entonces cuando presiono enter, vemos que deja de correr. Está bien, entonces así es como dinámicamente exceptuamos los valores en el área. Y como puedes ver, es especie fuera de línea recta. Cero hasta el final. No es poner el 1er 1 Entonces el 3er 1 Entonces tal vez el 4to 1 no volvió al 2do 1 No, es de principio a fin, ¿ verdad? No, eso fue sólo insertar los valores en la codicia. Entonces para el final de esto para ti, toda la violencia se habría almacenado dentro fuera grados similares a ese deporte off, donde no es núcleo duro. Cualquiera sería relativo a lo que el usuario hubiera puesto en ese momento. No. Cuando la persona dio vuelta a su terminado, estoy seguro que querrían ver las calificaciones a las que ingresaron. Entonces solo me voy de pie. Copia este cable. Está bien. Porque entonces los cuatro que nos siguen dedo del pie regresan por el área otra vez. Entonces en cambio, off escribiendo inte calificaciones, voy a ver que te den las calificaciones que estás para pasante fueron Bueno, puedo ganarle eso. Entonces voy a ver en lugar de hacer una pausa para entradas, ¿ entiendes? Para limpiar esto para lubricante por completo. Y entonces para lo que voy a decir en esto es para consola acoplada línea de derechos. Y luego quiero escribir el valor que está dentro de cada subíndice fuera de mis calificaciones. Date prisa. Está bien, entonces cada línea sólo va a imprimir. ¿ De acuerdo? Cualquiera que sea el valor que tenga en su momento, esos son los valores que entran en impresión. Entonces intentemos eso otra vez. ¿ Todo bien? Tan normal para ingresar a las calificaciones. Y voy a ser un poco más grande esta vez, así que puedes ver no lo estoy amañando, así que estoy poniendo saludos aleatorios 50 84th 6 30 52 on 30 on 30 on. Después imprimimos todos los grandes de las calificaciones que ingresaste están en el orden exacto en que se ingresaron , justo para los cinco. No, si no escribes tu for loop correctamente y Entonces terminas tratando de poner un extra grande aquí en el área de cinco o el ary tamaño fijo. Entonces te darás uno de esos barcos fuera. Los huesos están seguros. Estás viendo en muchos errores de huesos. Significa que eres trans referencia e índice que no existe en base a tu declaración fuera de tu Ari. De acuerdo, así que ahora que miramos, imbécil, nos ocupamos del tamaño fijo Ari, echemos un vistazo a cómo lidiamos con la variable Sizer. Por lo que son variables significan que son propensas a cambiar o son básicamente desconocidas hasta cierta situación. Entonces cuando decimos el tamaño variable, significa que estoy dando este programa toe school que no sé el número de alumnos que tienen que no saben el número de calificaciones que después de entrada. Por lo que no puedo ser tan rígido como ver cinco bien o 10 o 100. No quiero decir 100 mil cuando van a tener 50 alumnos encendidos. Entonces la computadora se estrella bajo la presión cuando realmente no tenía dedo del pie. ¿ Verdad? Entonces lo que estoy haciendo aquí es sólo decir eso, OK, ¿sé que necesito honoree. No sé de qué tamaño va a ser, pero después,ya sabes,en ya sabes, base al tamaño se basan en valores que se ponen. Entonces puedo tomar una determinación. Por lo que se inicia la Declaración Ari. El área asignaciones valoran la asignación en esta situación con más modelo. Este derecho, estamos déjame simplemente copiarlo y pegarlo para que podamos verlo dentro de su contexto Estamos hablando de lee un derecho, así que porque no le dimos una talla Inicialmente, puedo ver grados uno es igual a Onda. Sea lo que sea en el corsé rizado, cualquiera que sea el número fuera de valores que ponga, lo aceptará como sus miras. Si pongo cinco, entonces sabe que es una aérea. Satisfecho si pongo 10 bien, así que acabo de poner en cinco valores más. Se ve barato, pero sólo trabajemos con él entonces Sabe que su tamaño es ahora 10. Entonces por eso lo llamamos el tamaño variable se re ¿verdad? No, desafortunadamente, basado en la naturaleza fuera de estas matrices de tamaño dinámicamente, um, el basado en la naturaleza estricta de nuestro es En realidad es un poco difícil asignar valores dinámicamente. Entonces después de haberla definido, ciudad lo definen aquí en esta tierra donde yo hubiera dicho es igual a nuevo dentro con todo esto, o yo definiría su aquí. Pero entonces, ya sabes, ponerlo en un bucle for en poblar así, es un poco más difícil. Entonces, en realidad ver, Shar nos da otros tipos de colecciones, y uno de esos tiempos es una lista. Está bien, así que voy a aprovechar esta oportunidad no, para mostrarles la lista. Entonces realmente estoy imprimiendo los re en la variable están imprimiendo el valor. Perdón. En el muy, muy es muy similar semi. Simplemente hacer eso rápido ¿dónde? Yo sólo voy a tomar esto, um, um, corte de la anterior Perdón en adelante. Entonces lo que podemos hacer es decir en realidad algo así como el iraní, que es grados uno. Entonces puedo verlo atracado, luego ver longitud. Correcto. Entonces, al ver grados de un punto de longitud, estoy diciendo que no estoy seguro de cuántos valores hay aquí. Pero cualquiera que sea el número fuera amigos que haya, cuál es la imagen por la longitud del valor, ¿ verdad? Entonces si lo superas. Dices que saca el número total de elementos de la presa en todas las dimensiones fuera del ari . Está bien, entonces te pones la longitud de toda la zona encendida, luego corres desde cero hasta que el contador es menor que la longitud del área. Y así más largo actúa de la misma manera también. Si hubiéramos definido el tamaño así porque no encontró una talla o garantías fuera del número de ojos que pones ahí para saber cuántos hay, solo ves que enlaces, Muy bien. Pero una vez más, la debilidad aquí es que tuve que predefinir estos valores sobre. Esa no es necesariamente la mejor manera de hacerlo. Entonces tenemos otro poco de tiempo, y se llama lista u otro tiempo de recolección, y se llama lista. Entonces en primer lugar, vamos a hacer si la clara una lista. Por lo que una declaración de lista es muy similar. Excepto que no hay corchetes, diría yo, menos en. Entonces poco ver que quiero una lista fuera de cadena. Por lo que esta vez quiero estar guardando los nombres de los alumnos en los segundos de la escuela. Una lista en en el tipo de datos, que es cadena. Está bien en dar Son los nombres Una lista de nombres. Hay una lista de nombres de cadena de tipo es igual a en. Entonces simplemente lo inicializamos de la forma en que sabemos cómo. Menos cadena por lo que verás un poco de matices con la inicialización se basa en los tipos de datos y los tipos de colección con los que estamos tratando. Pero, ya sabes, medida que practicas cada vez más, te acostumbrarás a los diferentes cuatro meses. No, se nota un tipo de línea roja aquí, por lo que después incluye otras bibliotecas. Por lo que al flotar, haciendo clic en la bombilla, obtendré sistema, no colecciones que genéricas. Entonces cuando haga clic en que lo incluirás en. Entonces podemos usar el tipo de datos de lista. De acuerdo, Noto agregó a una lista. Entonces esta es la limpieza de la lista dedo del pie agregar valores a la lista. Está bien, déjame sólo poner en el comentario en valores toe assist. Para hacer eso, simplemente decimos nombres, que es el nombre del punto de lista. Entonces cuando decimos que vemos que tenemos un montón fuera, ya sabes, funciones disponibles para nosotros, podemos encontrar podemos conseguir los conos. Entonces Khan me dijo en que lo que sea, es sólo esa longitud. Entonces Collins hace lo mismo que la longitud porque, como pueden ver, no sé cuántos valores habrá en la lista. Por lo que la lista también es de tamaño variable. No lo sabemos. Podría ser uno. Podrían ser algunos. Podría no estar bien. Entonces el control nos dice eso. Pero agrega algo. Simplemente hacemos el nombre de la lista, que son nombres que tenían todo bien en. Entonces, cuando abrimos las llaves, veremos que es una función que está esperando un parámetro fuera del tipo de datos que está representando la lista. Por lo que la lista está fuera de tipo string, por lo que está esperando cadena algún valor de cadena. Entonces solo puedo contratar código una cadena ahí si quiero, así puedo ver nombre. Y acabo de poner mi nombre como el 1er 1 bien, pero entonces, la misma manera en realidad podemos hacer Ah, loop que nos permitirá agregar algo desde la consola ahora en esta situación porque no es contrarcontrol o no sabemos cuántos queremos agregar o no yo no querría su lujo porque el lujo va hasta un límite en cualquier momento por lo que podría usar un while Loop on dso. Lo que haré es decir algo como Ah, definir una variable llamada nombre en inicializada a una cadena en blanco. Entonces tenía algunas variables aquí arriba que estaba usando para otra cosa. Él los puede ignorar en caso de que te preocupa para qué fueron. Eso está bien. Yo los quité para que no te confundan. Pero en este momento solo voy a definir una variable llamada necesidad. Entonces el propósito fuera de nombre es la tienda. El valor que el usuario va a entrar en la consola, ¿no? Uhm, voy a poner al personaje de escape para que sea como uno negativo. Está bien, entonces eso significa que voy a usar un bucle while para decir un rato. El valor fuera de nombre no es nuestro nombre en. Voy a usar hasta alguna manipulación de cuerdas sabe que el nombre es una cadena. Entonces tiene un nombre que puedo conseguir un montón de cosas al respecto, ¿ verdad? Entonces puedo ver si nombre que igual a en. Entonces yo sólo voy a dar los pies los valores. Entonces quiero decir si nombre que es igual a negativo. Significado si el valor en nombre es igual a negativo. Um, lo siento. Bueno, no es igual fechado uno. Entonces solo hacemos eso. Está bien, entonces esto es un lingote, ¿verdad? Entonces esto se va a decir, es nombre igual al valor negativo uno, y entonces estoy viendo mientras eso no es cierto, entonces quiero continuar con la ejecución. Correcto. Entonces déjame solo poner mi prompt. Este bar esta anotó en lugar de escribirlo todo votar. Yo sólo voy a ver entrar nombres. Muy bien, entonces. A continuación. Voy a decir nombre es igual a puntos de consola. Leer línea. Correcto. Entonces estoy permitiendo que el usuario ingrese y necesite en la consola, um, valor en la consola, y lo estoy almacenando en la variable de nombre Justo en. Entonces voy a ver si en qué realmente copiar esta lógica. Entonces esto se llama anidación? No, aquí es donde se tiene una estructura de control mangueras otra. Entonces tienes un bucle, que es el lupine salvaje de cualquier declaración dentro de los bucles, han anidado una declaración if dentro de un tiempo sobre si las declaraciones y mientras actúas en condiciones, voy a usar la misma condición, ¿ verdad? Entonces si nombre no es igual al valor de uno negativo, entonces quiero agregar el valor que se ingresó dedo del pie los nombres menos apagados, ¿ verdad? Por lo que hemos agregado un nombre hasta ahora. Entonces este sólo va a ser duro codificado. Pero entonces dinámicamente, quiero decir que los nombres, que es mi lista, no se suman. Entonces el valor al pasar es el valor de cadena que se ingresó en la variable de nombre. Está bien, así que va a hacer eso mientras el nombre no es igual a uno negativo. Entonces eso significa en el primer giro, si entro a Emily, entonces es esto lo va a invitar lo sigue nuestro verdadero lugar Así que agregamos amuleto. Y después, si digo uno negativo, entonces se saltará por encima de esto, y luego volverá y se dará cuenta de que violó la condición en entonces no está encendido entonces De la misma forma que podríamos imprimir valores en el array es de la misma manera que podemos imprimir valores en la lista. Por lo que en realidad son bastantes maneras en que uno estará usando un bucle for. ¿ Verdad? Así sería decir nombres, no conos en su lugar. Entonces estoy viendo que en el moco cambia la sal porque solo soy canchas aburridas. Yo solo quiero asegurarme de que soy consistente. Entonces los estudiantes nombres de los estudiantes que ingresaste están entonces para I. Así que las reglas del subíndice de sellos aplican listas de dedos, ¿ verdad? Entonces puedo ver nombres en realidad, luego llamarlo por su índice exacto. Entonces una vez que algo entra en la lista, no indexa igual que lo habría tenido en el Ari. Muy bien, Así que puedo usar un bucle for para pasar por cada índice para los conos o el tamaño fuera de la lista o el número fuera de los elementos en la lista de. Entonces simplemente iteraría a través de eso. También hay otra forma llamada A para cada uno. Correcto. Entonces esto es probablemente lo que ves más a menudo que no donde dices para cada uno en, entonces lo que estás diciendo esto es que quiero cada elemento en la lista o cada elemento en la colección . Entonces, ¿qué? Yo diría algo así como se espera que cada elemento sea un arroyo. Entonces después del claro, um, el ítem como el tipo de datos que estoy esperando de la cadena, correcto. Si no estoy tan seguro, en realidad puedo usar mi palabra clave vier aquí. Entonces he estado rodeando usando fuego, y eso está bien. Pero puedes usar var, o puedes usar el tipo fuerte. Eso no es problema. Entonces en este caso, uso un tiempo fuerte solo el viento de viaje a casa. Pero estoy viendo por cada cuerda encendida. Entonces lo estoy llamando derechos de ítem para cada cadena. Elemento en la lista de la lista aquí se llama nombres, ¿ Verdad? Entonces para cada uno fuera de ellos, quiero consolar. Me refiero a una copia que uno Emirates le dijo a Console esa línea correcta en. Entonces imprimiría el artículo. Correcto. Entonces lo que sucede con este movimiento es que cada vez que pase, tomará lo que esté dentro de los nombres, lo almacenará en el ítem encendido . Entonces sería capaz de imprimirlo en la pantalla en. Entonces, cuando se agota, todos los artículos dentro, simplemente sale del bucle por sí mismo. Muy bien, entonces este está usando el bucle for. Francia en este está usando el para cada bucle. Está bien, entonces Esa es la diferencia entre listas en verbal. Entonces cuando tratas de tener autonomía, las listas de perdón en la de Barry. Entonces, cuando intentas tener un curry dinámico, tal vez no. El trabajo tiene mejor basado en su naturaleza. Es muy estricto, como dije antes. Pero entonces cuando se tiene la necesidad de una colección dinámica, siempre se puede llamar a la lista de. Entonces tienes otros tipos de datos que tienes innumerables. Tienes una cantera obl e de mi colección, observé. Tenemos un montón fuera de ellos. El realidad es que si quieres tipos de datos complejos como una clase así miramos clases y objetos. Si eres una clase que necesitabas almacenar la lista fuera de los objetos de esa clase, entonces podrías usar la lista. Está bien, así que acaba de agregar algunos comentarios solo anota lo que cada bloque fuera bueno está haciendo. Ahora lo que vamos a hacer es correr, y luego corremos a través de todos y cada uno de ellos. Por lo que el área dinámica fija a Terry en la lista. Muy bien, así que estamos empezando con nuestra historia fija fuera de cinco grados, así que sabemos que esto sólo va a correr por cinco, Uh, Uh, los datos también comprimiendo espacio no están entrando. Correcto. Por lo que eso también sería un problema para Chris Piece están poniendo alguna otra cuerda. Eso no es, ya sabes, se puede descifrar como un número. Entonces causará un problema. Pero sabemos el inicio, ¿no? Entonces sólo poner en cinco rejillas, y luego te muestra eso. Está bien. El cinco avaricia, la codicia que ingresaste están en las calificaciones. Entraste nuestro en. De acuerdo, estoy viendo un error aquí donde está viendo que no tengo Index canceló Bones, Earl. Entonces déjame parar esto en DSI. ¿ Exactamente qué salió mal? Está bien, entonces veo mis errores. Estaba reimprimiendo la codicia. Entonces lo que pasó es que tengo la longitud fuera grados uno para el bucle for. Pero entonces no cambié esto de grados grados uno. Entonces ese es mi error. Si golpeas esa flecha, discúlpate. Es grandiosos. Uno para eso. Date prisa. Está bien, así que intentemos eso otra vez. ¿ Todo bien? Por lo que procedemos a ingresar a nuestras cinco razas. Está bien, entonces aquí vemos, imprimimos reimpresos nuestros cinco grados. Eso es bueno en. Después imprimimos Oh, son los 10 grados del curry dinámico justo en entonces. Son los problemas donde nos está pidiendo que ingresemos nombres. De acuerdo, alguien que introduzca un nombre y es Emily. Uhm, voy a ver a Rauenzahn en la aleta re Andi quiere más de lo que se ha ganado. Cuando presiono enter y escribo uno negativo como mi valor, entonces sale de la mirada ¿verdad? Tan negativa. Fue el personaje de salida aquí. Estamos reimprimiendo todos los nombres de la lista. Recuerda Trip o agregamos eso manualmente, ¿verdad? Pero luego todos los demás entramos como nos fuimos adelante entonces Esto es con el para cada bucle y se puede ver que los resultados son más o menos los mismos. Pero para mí, el pecado encabeza para los cuatro. Cada uno es simplemente mucho más fácil de escribir. Muy bien, entonces eso es básicamente con las listas y colecciones. Esa es, ah, idea amplia. Cuando te haces más avanzado, ves que realmente puedes usar, colecciones um y más listas con tipos de datos más grandes, tipos datos más complejos en. No abrumes siendo esto. Escucha, pero a medida que avanzas, te harás más avanzado 17. Crea un proyecto Winforms: en este video estará configurando una aplicación de formas de viento afilado C. Ya tienen estudio visual abierto y para empezar. Lo que haremos es seguir adelante, crear un nuevo proyecto y a partir de las plantillas estaban buscando formas de viento. Simplemente puedo buscar rápidamente y buscar formas de viento en. Entonces quiero un viento formas o ventanas formas hasta punto net framework. Entonces esa es una con la que estamos trabajando hoy. Por lo que selecciono esa plantilla haga clic siguiente. Entonces le doy el nombre a mi proyecto y éste va a ser mis primeras formas ganadoras ya sabes no lo voy a hacer. , Eso es simplemente lo que voy a hacer es simular una aplicación en el mundo real. Entonces digamos que queríamos construir un formulario para apoyar un negocio de alquiler de autos. Voy a ver auto en remolque. Entonces ese es nuestro proyecto. Nombre el. Entonces ese será nuestro nombre de solución. Además, déjame simplemente corregir aquí mi ortografía. Alquiler de autos arriba en. Podemos dejarlo en el framework dotnet para que veas que tienes algunas versiones de ellas . Un marco de dotnet. Si tiene instalado visual studio fuera de la caja. Probablemente tengas hasta 4.72 O tal vez tengas 4.8. ¿ Algo fuera de esos trabajos? De lo que dejo atrás en 4.7 punto 21 puedes poner tu para que la versión también para que estemos en la misma playa en entonces puedo seguir adelante y hacer clic en crear cuando se crea este proyecto. Entonces ves algo parecido a esto y yo llamo a esto el lienzo Cities Off Farm sobre que estaremos poniendo elementos visuales. Pero antes de meternos en todo eso, tomemos un tiempo para apreciar la interfaz en Mira las partes más importantes. Entonces si buscamos en nuestro explorador de soluciones en menos los años izquierdos podrían estar a la derecha por defecto. Pero tengo mis resultados a tu configuración que menos a la izquierda encendido Si miras ahí dentro, ves su solución. Ves tu proyecto. Pero entonces tus incendios de proyecto realmente comprenden la granja un punto CS en el programa punto CS No forma un punto CS representa esta representación visual que estás viendo aquí. Entonces esto es en realidad los de forma. Si cierro esto por algún accidente, podrías, supuesto, la parte superior si haces doble click forma uno que diga, eso es lo que se va a llevar bien. Entonces esta es tu forma. Cada forma que vas a agregar va a verse así hasta que empieces a poner las cosas en esa granja siguiente programa de archivos importantes, eso sí. Simplemente puedo hacer clic en él para que podamos ver dentro, y luego ves que se ve igual que un programa de consola. Los programas de la consola vienen con un programa de clase estática por defecto el espacio de nombres, que es la carpeta en la que está encendido entonces el medio de evitar estático excepto este no toma ningún argumento. Pero si no estás familiarizado con la programación cónsul que eso, así que problema. Lo más importante a tener en cuenta es que no quieres estar editando bien este archivo, así que programa, no CS. Posteriormente, cuando sepas lo que estás haciendo, puedes editarlo, y normalmente estarías editando este fuego, esta línea y más allá. Pero las cosas que están aquí, estas funciones son inicializar Onda de er. No voy a pasar tiempo diciendo exactamente qué están inicializando esto más. Por favor, no comenten ni eliminen el. Entonces éste es lo que realmente dice lo que debe lanzarse cuando se inicie el programa. Entonces tenemos forma uno Eso son años. Está viendo lanzar una nueva instancia fuera de la granja uno en. Cuando haga eso, lanzará nuestra forma que estamos diseñando. Muy bien, entonces vamos a realizar una actividad rápida. Estamos solo con el inicio esta aplicación, no hemos hecho ningún cambio. Simplemente lo tenemos aquí encendido. Sólo vamos a dar click. Empieza en. DWI verá este césped de ventana. Por lo que ves que se lanzará esta ventana. Y si lo sostengo uno al lado del otro, ese lienzo ¿Ves eso? Bueno, los lienzos vacíos. Mi nueva ventana es corazón vacío. Entonces así es como se forma el viento. Al menos fuera de la caja. No, solo quiero señalar error que he visto a la gente cometer a lo largo de los años y luego consiguen todo lo que pasan el tiempo depurando algo están tratando de resolver un problema que realmente no tenían . Por lo que es un error común minimizar esta ventana inadvertidamente encendida. Entonces estás tratando de hacer una operación y tratando de cambiar por tu tratandode operar de alguna manera y cualquier cosa. El estudio visual no está funcionando porque todavía es de hecho humor audaz. Entonces cuando haces clic en iniciado entra en profundidad tanto Mordor viendo todos estos diagnósticos y OK, tal vez seas nuevo en el estudio visual. Esos no te destacaron, Pero entonces estás intentando,ya sabes, ya sabes, cambiar la cancha y no está cambiando ningún pensar que el estudio visual está en un estado er? Lo que pasa es que mientras estés más en la gente, no puedes hacer cambios en la corte. Entonces, si tu estudio visual se ve así, pesar de que la ventana no está arriba en la pantalla, entonces todavía estás en modo de depuración. Por lo que debes asegurarte de presionar stop o cuando cierras la ventana. Entonces lo minimicé. Sólo No. Pero si lo cierro como improbable, la X entonces sale. Los botes de depuración son comunes. El error es que la gente se olvida, ya sabes, que los lanzamientos probados luego se olvidan del dedo del pie cerrarlo. Entonces vuelven hoy a resultados e intentan hacer los ajustes que necesitemos hacer y no pueden y piensan que es un árabe, pero realmente todavía hay en las burbujas. Solo estoy señalando que en caso de que lo sepas, cuando vas por ti para que puedas estar al tanto de ese error común Ahora, la siguiente parte más importante de este desarrollo de formas de viento activó características sería la caja de herramientas. Entonces tengo mi caja de herramientas dolor tipo apagado, um UNP en los conductos de Orwell a un lado aquí. Si no ves un dolor de caja de herramientas, entonces siempre puedes ir a ver en. Entonces solo buscas dos cajas están en su taburete box, o puedes memorizar ese tiburón teclado. ¿ Qué pasa si quieres? Pero el hecho es que está ahí. Si no ves fácilmente, solo tienes que ir a ver al hacer click a Box y agrandarlo. Si lo cierras por accidente, vas a ver, truco a caja y lanzarlo. De acuerdo, así que en cualquier momento, si tengo un dolor que haces en duro, simplemente necesitas ir a ver, encontrar ese dolor y abrirlo. Entonces empecemos a mirar caja de herramientas así en barra de herramientas para ver que hay algunas categorías fuera los controles on para nuestra actividad de hoy. Yo quiero mantenerme enfocado en el control común, así que si solo, ya sabes, amplías los controles comunes y te tomas un rato y buscas y pausas video y solo te tomas un rato y miras a través de los diferentes controles. Se puede pausar aquí mismo y hacer eso, pero voy a seguir en lo primero que me gustaría hacer cuando alguien lanza mi aplicación es hacerles saber qué aplicación han lanzado. Es decir, estoy seguro de que fueron y dan clic en DoubleClick la aplicación para lanzarla. Pero entonces aún quieres una representación visual, ¿verdad? Por lo que traería una etiqueta. Muy bien, Así que gana formas desarrollo al menos por debajo de las interfaces. Dragon Trump para que pueda arrastrar sobre la etiqueta, colocarla en algún lugar. Por alguna razón me sale este error, es posible que no. Si lo haces, necesitan un molido. De acuerdo, pero aún se permitía proceder. No estoy del todo seguro de dónde consigo ese árabe, pero me lo voy a meter encima. Necesidad de revisar el mi aislamiento de estudio visual, pero empujando, empujando. Miramos la etiqueta aquí en, luego queremos dedo del pie. Ya sabes, vemos la etiqueta. No es ideal. Se guarda etiqueta uno. Um, el texto este diminuto y así sucesivamente, y entonces tu primer instinto podría estar bien. Necesito dedo del pie este texto, hacerlo más grande o cambiar las tomas que hay en él. En tu segundo instinto podría tener doble click en. Después hiciste doble clic en. Después terminaste en el mar Archivos de corte Sharp. Entonces esto es lo que llamo la cancha atrás. Entonces ahora te quiero explicar dos cosas sobre I Ya sabes, esto es solo para ayudarte a tener cuidado cuando estás haciendo estas actividades. Entonces voy a volver al diseño on. Entonces lo que te voy a mostrar es que al hacer doble clic en nuestro control un elemento visual lo que está pasando es que va a generar un stub de método en él va a generar, en este caso, un rápido evento. Por lo que un evento rápido significa que cuando haga clic en esta etiqueta, este maíz se va a disparar. No, no necesito ningún evento rápido en mi etiqueta, Realmente. Y en verdad, no necesito que pase nada cuando este Liveris hizo clic. Pero solo estoy señalando eso porque cuando haces doble clic en estos elementos visuales, todo lo que estás haciendo es generar método se detiene así una vez más, la razón de que hayas hecho doble clic, sería dedo del pie cambiar sus propiedades. Por lo que queremos cambiar las propiedades. Queremos cambiar el texto que hay ahí dentro. Yo quiero cambiar, ya sabes, lo que sea que se trate, queremos cambiar. Entonces para hacer eso estamos buscando, correcto. Haga clic en ambas propiedades causa una vez más, cuando hacemos doble click, solo generará un método en el que generarás algún evento sobre. Eso no es necesariamente lo que queremos. Muy bien, Así que cuando haga clic derecho en el elemento en este caso, la etiqueta en entonces me voy a las propiedades. Entonces lanzará otro pin que mi dolor ya estaba ahí. Pero para ti puede que no haya sido visible, pero lanzará un dolor en ese entonces. Este dolor nos permite cambiar las propiedades de estos elementos visuales. Déjame tomarme este tiempo para explicarte que todo en C agudo es una clase. Los elementos muy visuales que estás arrastrando desde la caja de herramientas ahí listados, el botón es una clase, pero cuando lo arrastras sobre, tienes instancia que se lo comió y objeto de esta clase. Entonces en el contexto, fuera de la etiqueta de la etiqueta es una clase afilada c. Lo arrastras sobre, ya sabes, tienes en objeto llamado etiqueta uno. Y este objeto tiene propiedades que se pueden cambiar en estas propiedades están todas encapsuladas dentro del objeto. Andi, por extensión, el tipo de clase. Muy bien, Así que tengo este objeto aquí en mis formas de victoria llamadas etiqueta uno. Y está fuera del tipo son la etiqueta tipo clase. Y luego voy a cambiar las propiedades para poder cambiar los fondos. Por lo que espero que paren el video encendido. Mira a través de todas las propiedades posibles que se podrían cambiar. Ahí. Bastantes no han querido pasar por cada uno. Yo sólo estoy con el enfoque en el que es importante, que es el fondo. Por lo que quiero cambiar los fondos. Amplio la propiedad de fondos veo nombre que sería el tipo de fondos que puedo cambiar eso a . A lo mejor Bueno, puede que tengas otros fondos. ¿ Tengo fondos que no tienes, pero voy a hacer algunos cambios para que puedas darle estilo. Cómo lo veas bien. Sólo lo estoy cambiando. Entonces cambié el nombre de un tamaño de jengibre, y como se puede ver, que los cambios se están revelando en tiempo real on. Entonces voy a cambiar el texto que se está mostrando porque no quería decir etiqueta uno, sino decir algo así como, Ah, auto o en sistema de remolque. Está bien, encendido, entonces actual. Nuestro sistema se apaga para que simplemente pueda volver a meterlo. Yo quería que me enviaran. Eso me gusta. Se puede ver que está más bien, se siente toda la etiqueta continua. Voy a arrastrarlo al centro, fuera de la forma misma. Por ahí. Tengo mi auto de etiqueta en nuestro sistema. Está bien, así que me llevé la etiqueta. Andi, cambio la propiedad que quería. Sé que puedo ver la manifestación fuera de esos cambios, Muy bien, así que empecemos a arrastrar sobre algunos elementos de forma reales. Y si tienes alguna experiencia construyendo formularios que conoces en aplicaciones web, entonces es el mismo concepto. Tienes un formulario tienes controles que permiten al usuario ingresar información. Andi, fuera de curso basado en elemento visual a utilizar. Estás controlando el tipo de información que estás esperando del usuario en. Entonces en última instancia se presentará un. Pero así para un sistema de alquiler de autos estará recogiendo el nombre del cliente las fechas que el alquiler está siendo yo. La fecha en la que se supone que el auto regresará sobre el tipo de auto que se está rentando el. Entonces alguna vez nos sometemos, pero agradable y simple. Pero estamos usando algunos elementos de forma y esto en el camino. Ya veremos. Exactamente entero. Cada uno funciona. Entonces, empecemos con los nombres de los clientes. Entonces voy a drogarme sobre el cuadro de texto para eso. Entonces veo un cuadro de texto, y eso, creo, es el control más ideal. Y hay un poco de aire otra vez. Pero creo que los libros de texto es el control más ideal para, ya sabes, recoger al cliente. Nombrar el nombre del cliente que se está llevando el auto. Está bien. No, acabo de arrastrar sobre el cuadro de texto. Lo tengo en el formulario, pero no sé si si vuelvo mañana lo hice para puede olvidar por qué tener ahí los libros de texto si alguien viene, ve aplicación? Es un cuadro de texto aleatorio. No saben qué información ahí estoy esperando de ellos. Por lo que es prudente de nuestra parte asegurarnos de que tengamos una etiqueta por encima de cada control. ¿ Verdad? Entonces tengo esa etiqueta en ir a cambiar las propiedades. Por lo que esta mano de obra va a ver el nombre del cliente Bryant en. Entonces te está haciendo saber eso. Bueno, esta es una señal visual de para qué sirven estos cuadros de texto, ¿no? Entonces para cada control, tenemos ah, etiqueta que va a tipo de señal al usuario. Oye, esta información me requieren de ti para este control son así ¿dónde? Por supuesto, el nombre más. Y si quieres cambiar otras propiedades, tal vez quiero que la diversión sea un poco más grande. Por lo que quiero que este sea 12. Está bien, vamos, entonces se puede ver eso. Por lo que era una especie de cobertura sobre la industria de la autofuerza de los libros de texto. Colóquelo para que todo se vea bien y uniformado. De acuerdo, así que ten el nombre del cliente encendido entonces. Hemos estado en fecha fuera elegimos citas y datos. ¿ Cuáles son las fechas en que los autos siendo se entierran en los datos que acaban de devolver? Porque quiero que veamos el recolector de fecha y hora. Um, así que me drogué eso. Entonces lo puse donde quiero seguir y éste. No nos va a dar en realidad un calendario, así que sólo voy a ampliar esto. Podrán ver las citas completas ahí en copia y piezas de cosas hermosas. Por lo que quiero calendarizar controles uno para las fechas. Es más grande ingresado, y uno para los datos está siendo devuelto. Por lo que sólo puedo copiar y pegar. Simplemente uso el control C control V después de seleccionarlo. Y ahí vamos. Entonces tenemos que seguir entonces. El sello ya tiene esta etiqueta. Tiene el tamaño divertido que quiero en lugar de arrastrar por encima de marca nueva etiqueta en ir por las propiedades cada vez. Yo sólo voy a copiar esta etiqueta dos veces. Está bien, Así que copia y pega en posición. Entonces esa es esa. Este encendido. Entonces puedo restringir la etiqueta al cambiar el texto. Está bien. Por lo que solo te estoy ayudando a ser eficiente en esto, porque puede llevar mucho tiempo cuando vas a la caja de herramientas y arrastrando cada vez, cambiando propiedades cada vez. Entonces si solo puedes ponerte cómodo, date cuenta de que copiar en el basting no es algo tan malo. Y solo sabes qué cambiar. Entonces eventualmente te conviertes en un maestro. Está bien, entonces estamos cambiando esta fecha del dedo del pie o en Ted. Andi, estoy cambiando este dedo del pie. Sea devuelto. Por lo que los textos son los que devolvió. Muy bien, Lo siguiente que estamos haciendo es ah, lista fuera de los autos tipo off y uno que se está imprimiendo. Entonces para eso, voy a usar un cuadro combinado para que esa gota no lo haga. Esto es probablemente lo que usas html y eso está bien en las formas de viento. Se llama cuadro combinado. No lo llaman un solo inicio caído. Pero entonces es posible que veas otras listas porque tienes el cuadro de lista. También tienes la vista de lista. Tan bueno, el cuadro de lista es probablemente el más paralelo quiere un cuadro combinado porque esto es un desplegable, y esto es sólo esa área con al menos en ella. Entonces voy a elegir el cuadro combinado, ya que eso es con lo que probablemente estés más familiarizado. Tanto como programador son programador web, Andi. Le hice al usuario fuera de cualquier aplicación. Entonces éste se parece a ah, ya sabes, cuadro de texto. Excepto que ves ese poco no flecha ahí, lo que sugiere que puede ser una lista desplegable, ¿ Entiendes? Ampliar esto en. A mí me buscan. Asegúrese de que todos mis controles tipo de tengan lo mismo con. Todo se ve, ya sabes, uniforme. Está bien, voy a copiar una de mis etiquetas existentes. Muévelo hacia abajo, luego cambie el texto. Entonces este es tipo de auto, acuerdo? No, me salté este paso antes, y solo muestro, ya sabes, Así que necesitamos tipo de cuadro de texto. Vas a ver que esta es la ira negra aparece en la parte superior. Entonces digamos que se trata de un cuadro de texto. Es malta. Es de una sola línea, y probablemente te estés preguntando, OK, ¿cómo lo hago más largo son aguantan. Yo lo hago más alto porque se nota sólo se puede ajustar lo que sólo de izquierda a derecha. Entonces si haces clic en esa pequeña flecha negra, puedes hacerla multi línea, que luego la hace. Ya sabes, si querías poner en un párrafo o facilidad el interés inter off un párrafo, um, cantidad de texto, entonces puedes hacer multi línea. Entonces esto sería perfecto para, como, comentarios o algo así, pero por costo de un nombre, no necesito un alto Oh, no necesito una estructura con aspecto de párrafo. Sólo necesito un cuadro de texto de los paseos del elevador. Entonces de la misma manera, cuando hacemos clic en el cuadro combinado, ves esa pequeña flecha negra en Cuando hacemos clic en ella, lo hará, ya que nos permitirá decir editar elementos. Por lo que voy a dar clic en editar elementos en. Entonces lo voy a llenar con los tipos fuera de autos que espero que aparezcan cuando seleccionemos el cuadro desplegable. Muy bien, así que los tipos fuera de curso podrían ser Honda. Ah, Toyota, Andi en un auto muy popular aquí atrás en casa estaba Lotte encendido. También tuvimos el bogey. Muy bien, Así Honda Toyota lote y bogey. Esos son los autos que tenemos en todo nuestro sistema encendido. Entonces dedo del pie complete este ejercicio, vamos a tener unos botones de envío. Entonces vuelvo a mi caja de herramientas, consigo mi botón, lo drogo sobre si mi error, pero está en la pantalla. Puedo cumplir con este botón tan grande en la pelota como quiera. Es decir, puedo redimensionarlo. Puedo volver a las propiedades y cambiar los fondos. Entonces voy a cambiar esta diversión para que parezca igual a los fondos en la parte superior. Esas son las mayúsculas de guión maduras y vacías. Y el tamaño fuera del texto va a ser algo de eso. 25. Muy bien, entonces. No quiero que diga, sino uno. Eso está bien. Por lo que quería ver Submit. Por lo que este va a ser el botón de enviar. Entonces, solo echemos un vistazo a la forma. Contamos con el nombre del cliente donde pretenden los datos en la devolución de datos sobre el tipo off car. Entonces vamos a hacer clic en Inicio, que va a guardar todos los cambios. Compila todo encendido, luego carga. Está bien. Y aquí estamos, por lo que siempre sistema de alquiler de autos encendido. Puedo probar la antorcha. Muy bien, Así que puedo ingresar el nombre del cliente. Puedo usar mi recolector de fechas y seleccionar la fecha. Eso se ve realmente genial. Entonces ya ves, tengo un recolector de citas con muy poco esfuerzo. Si haces un programa, sabes que eso no es tan fácil en el tipo de auto el desplegable sobre puedo seleccionar. Pero luego te das cuenta de ese tipo de auto Ese cuadro combinado me permite el tipo. No está en auto completo Es solo el comportamiento fuera de él. Me permite el tipo en realidad en un valor que podría no haber estado en la lista, lo cual no es necesariamente idea porque el punto de una lista desplegable es que no quieres . Se desea controlar a la persona, ver selección. Vamos a allo ellos dedo del pie entrar al final, ¿algo encendido? Después hacemos clic en el botón enviar, y vemos que bien, pesar de que se veía bien en el diseño, el renderizado no se ve que escribimos. Algunos fueron después modificados, tal vez el ancho para que la T no se corten, así que no puedo revelar eso en. Entonces volvemos atrás, sólo el sometimiento. Está bien, vamos, entonces, qué voy a hacer con teclear a Karnow el cuadro combinado, y volvemos a nuestra propiedad. Por lo que si perdiste las propiedades, siempre puedes distraer las propiedades freak de control en. Entonces lo que vamos a hacer es cambiar el comportamiento, por lo que el estilo desplegable tiene tres días más. Es tan simple cuando hago clic simplemente, te das cuenta de que ya no parece que caí. Ah, parece igual que un cuadro de texto. Eso no es lo que queremos. Entonces voy a volver atrás y cambiar los cambios al otro estilo A en cuanto pueda encontrarlo. Está bien. Y no estoy encontrando porque no tengo esto. Tener seleccionada la finca. Por lo que tienes que asegurarte de que estás seleccionando el control correcto cuando estás mirando por las propiedades si es tan simple. Despliega y luego listas desplegable. No, en realidad se parece más a lo que estoy esperando. Entonces no parece. Se ve ble sin editar desde el diseño en adelante. Seguro que cuando corremos de nuevo, será solo una lista desplegable que no me permita escribir nada ahí. Está bien, así que vamos a hacer clic en empezar de nuevo en echar un vistazo. Está bien, así que esto se ve un poco mejor. Y también alguien mostrando adecuadamente en tipo de auto me está dando la lista sin permitirme escribir nada ahí dentro. Muy bien, entonces si me siento fuera este formulario Andi, selecciono mi tipo de coche y luego doy clic en envía. Mi expectativa es que algo va a pasar. Me va a dar algunos comentarios, haciéndome saber que envié algo. Entonces ahí es donde los eventos. Entra la programación, está bien. Entonces sí discutimos antes que cuando inadvertidamente hicimos doble clic en la etiqueta y por extensión, doble doble podría hacer doble clic en cualquier otro control que realmente generará sobre método en eso es Esa no es la forma en que quiero que lo hagas. Yo quiero ser muy son mucho más deliberados a la hora de generar, um eventos para que no te encuentres con problemas más adelante. Entonces te voy a mostrar una era que podría que puedas, ya sabes, prepararte para cuando tengas sobre eventos que no necesariamente planeaste para. Entonces intentas hacer una limpieza. Yo te vas a poner esta flecha. Entonces voy a cortar el video aquí, y en el siguiente video, vamos a empezar a mirar todo el dedo del pie deliberadamente crear eventos que realmente hacen cosas . Entonces cuando estás en la cancha detrás, yo lo llamo el núcleo detrás. Entonces digamos que no lo teníamos puesto. Quería llegar al expediente de la corte para el formulario uno que CS puedo hacer clic derecho en el formulario directamente, prácticamente en cualquier parte de la interfaz aquí en el diseño en voy a ver la opción. Ese es su punto de vista. Cotizarlo directamente caricia de ti código, si lo haces por ahí se producen en la Granja View Court va a aparecer. Entonces cuando hago clic en ver corte, trae a la luz ese expediente judicial non, menos sé que no quieres editar mucho en este archivo todavía. Tal como está, lo único que es realmente, realmente importante, o más bien todo aquí, es importante. Pero este método se detiene porque una vez más, este es el método, por lo que se generó como un evento rápido en la etiqueta. Uno. Por lo que eso significa que cuando hago clic en esto, este método se va a disparar del dedo del pie. Está vacío, por lo que hacer clic en él no tendrá ningún efecto. Pero entonces, obviamente no tiene sentido. Tengo estos métodos vacíos. Hace de acuerdo desordenado y más difícil de mantener a medida que avanza. Entonces lo limpiaría. Entonces lo hice. Yo cometí el error. Voy a limpiar tops. Lo elimino todo ahora mismo, aquí está el problema con el que podrías encontrarte al eliminar eso, y si eliminas algo, asegúrate de que eso es todo lo que eliminas. Todo lo demás aquí debe permanecer igual. Clase pública parcial. Forma uno Ese nombre fuera de la granja en el expediente de la corte en él está heredando de una clase base llamada forma. Y luego tenemos un constructor en eso solo está ejecutando este componente inicializado. Si no lo haces, no te quites esto. Si quita algo más, por favor no quite estas líneas que ya están ahí. Muy bien, así que eliminé el evento click en. Después hago clic en iniciar, y luego vamos a obtener un error. Está bien, así que nos está enviando. Ahí se construyeron errores. ¿ Quieres ir a la última construida exitosa? Para mí, eso no tiene sentido hacer porque quiero ver su no quiero que el continente utilice el programa en su estado anterior. Por lo que voy a dar clic en No. Y entonces la lista de ERA me va a decir que no contiene una definición de algo, algo, algo. Entonces eso es un triste. Pero cuando haga doble clic, me va a llevar a la aerolínea sobre lo que me está diciendo, No, No, este es el archivo CS de punto diseñador. Entonces esta aerolínea es suficiente archivo que no hicimos bien. No hemos estado autorando ninguna cotización ya tu arma cae colillas el motor? Todo el estudio de desarrollo está generando esta puntuación para nosotros. Por lo que cada control que drogamos está representado aquí en la corte. Está bien, en, entonces, lo que es Lo que está diciendo es que habíamos creado un evento click en Asociarlo con etiqueta uno Andi. Entonces está buscando eso dado hacia esa función, esa es una función que acabo de borrar. Entonces todos debemos saberlo. Pero sé que sí, Si no lo haces, está bien. Siempre que tengas una función y estés llamando a esa función, si la función no existe, entonces vas a obtener un error. Por lo que hay que definir una función en. Entonces puedes llamar a las funciones de conjunto. Por lo que teníamos la definición de función. Estaba ahí, lo borramos. Pero aún tenemos el teléfono. Sean, llama en el cordón generado por el Ártico. Entonces, ¿qué? Podemos hacerlo. Entonces solo eliminas esta línea porque realmente, no necesitamos llamar a la función porque acabas de eliminarla. Entonces, al hacer ese ajuste, puedo hacer clic en iniciar de nuevo en entonces estoy en el negocio. Entonces eso es sólo otra cosa que quería ayudarte porque tal vez hubieras generado algunos eventos de click son algunos eventos que no necesariamente lo querías por accidente, y eso está bien. Eso es comprensible. Pero luego los quitas y luego estás obteniendo los errores. No están seguros ho para pasar por las épocas. Eso es todo. Entonces estamos nosotros diseñando la Forma uno en el siguiente video estaremos buscando cambiar el nombre de nuestros controles y la importancia de hacerlo en espera. De hecho, recolectaremos la información que se ingresó en el formulario. 18. Construir una forma y y: ustedes estaban continuando el desarrollo fuera de nuestro alquiler de autos formularios de viento aplicación en eran no en la etapa donde queremos realmente empezar a recolectar la información del formulario . Presentar. No. Voy a usar esto alrededor de un minuto para explicar un concepto muy importante que te puede ahorrar mucho tiempo en tu actividad de desarrollo. Y esto es cambiar el nombre de tus controles. Entonces cuando estamos diseñando este formulario, fuimos a la caja de herramientas. Arrastramos sobre los controles en reemplazarlos. Queríamos que cambiáramos algunas propiedades. Una propiedad que no cambiamos fue el nombre. Entonces si hacemos clic en el cuadro de texto, veríamos que tiene un nombre, propiedad, propiedad, y cada control en el que vas a hacer clic tiene un nombre, propiedad y el nombre aquí es de seis dólares. Uno No. Por defecto, siempre va a estar contando. Entonces si este es el primer cuadro de texto, va a ser libros de texto ganados. El segundo cuadro de texto va a ser libros de texto a la 3ª 4ª etcétera etcétera. Eso no es idea cuando tienes algunos cuadros de texto porque quieres saber qué cuadro de texto tiene exactamente el nombre del cliente. Por lo que al dejarlos como el nombre predeterminado los libros de texto en los libros de texto dedo del pie, etcétera. Cada vez que vas a querer conocer la información, van a tener que volver, click en el cuadro de texto, mirar el nombre y decir, Oh, sí, ese es el que quiero. Entonces te voy a dar un poco de técnica, no su mejor práctica. En realidad, eso te ayudará a reducir el monto de la investigación en ¿sabes, tiempo que pasas tratando de encontrar que el control que quieres sobre eso es simplemente cambiar el nombre. Por lo que tengo una convención simple donde uso un prefijo para detective determinado o toe the picked más bien el tipo off control que se está haciendo referencia. Entonces le doy un nombre que está tomando de pie la información que se supone que tiene. Entonces hagamos el cuadro de texto. Entonces tengo el cuadro de texto aquí que está recogiendo nombre del cliente. Entonces mi nombre ideal para esto no es cuadro de texto uno, pero sería algo así como T B, que es abreviatura de cuadro de texto. O podría decir txt, sea lo que sea. Pero algún prefijo que dice que esto es ah toma la caja, ¿ verdad? Entonces estoy viendo cliente de TB, cliente me. Está bien. Ahora que este soy yo nombrando los objetos, recuerda dije que cada control es un objeto. Entonces al decir nombre del cliente de TV y no cuadro de texto uno, Este objeto no es llamado nombre del cliente TB las mismas reglas que aplican dedo del pie nombrar una variable Aplicar aquí no hay espacios, no hay caracteres especiales o conjunto del subrayado Justo en el más simple el mejor. Muy bien, Así que no hay necesidad de tener ningún nombre largo, complicado con 50 caracteres. Alguien me preguntó una vez si había un límite de caracteres. Dije ahí se sabe pero no estoy del todo seguro por qué lo que tenía en mente para un nombre. Pero, ya sabes, cuanto más simple mejor. Por lo que el nombre del cliente de TV me está diciendo que este es un soporte de cuadro de texto que debería estar sosteniendo el nombre del cliente encendido. Voy a repetir eso para cada otro control porque entonces quiero poder referirlos fácilmente desde la corte. Pero empecemos con el nombre del cliente de TV encendido entonces quiero a Toby. Quiero que cuando la persona haga clic en enviar, voy a imprimir los contenidos fuera del costo. Alemania en cuadro de texto en un ya sabes, otras ventanas. voy a reconocer. Está bien. Se ha rentado auto. Dedo del pie esa persona son así que significa como, click necesita el trabajo yo mismo un botón poco necesita hacer algo cuando se hace clic. Entonces estaba hablando de ser muy deliberado a la hora de crear tus eventos, y te voy a mostrar exactamente lo que quise decir. Por lo que hacemos clic en nuestro botón, vamos a propiedades en. Entonces te das cuenta de que giro de propiedad. Tenemos esto, como papel con una gama en la parte superior. Puede parecer, ya sabes, mala calidad en mi pantalla, pero puede que se vea mejor en la tuya. Pero ese papel con ese rango, esa es la ventana de propiedades son la sección de propiedades fuera del dolor en. Entonces tenemos este relámpago, y si acabamos, vemos eventos. Entonces cuando pasamos por encima de los relámpagos, vemos el interruptor de menú en eso. Tenemos un montón de opciones fuera para eventos on. Una vez más, un evento es como una reacción a una acción. ¿ Verdad? Por lo que un click es una acción. ¿ Qué quieres hacer cuando me hagan click? Eso es básicamente lo que es un evento. Entonces tengo el botón encendido. Quiero determinar que algo debería suceder cuando se hace clic en el botón establecido. Entonces para eso necesito un stub de método para poder hacer clic en esto. Asegúrate de tener click en doble click en esta zona buscando, acreditable. Cuando hago eso, genera ese método stop, igual que lo hizo con la etiqueta cuando hicimos doble clic en él en nuestro video art anterior. Pero una vez más fui muy deliberado. Sabía exactamente lo que estaba haciendo. Tanto tiempo. búsqueda son la forma más corta de hacer un evento rápido para un botón. Seguro, es solo un doble clic en él y generará ese evento. No hay problema. Pero quiero que seas muy deliberado cuando estés haciendo eso. Entonces sabes exactamente lo que estás haciendo. Es que no estás cometiendo ningún error en el camino están reduciendo los errores a cometer en el camino . Entonces queríamos un evento rápido, así que ahora nos lleva al expediente de la corte o al tribunal atrás. Entonces es esto. Basta con echar un vistazo a cómo se ve este rápido evento. Es un vacío privado encendido entonces tiene el nombre apagado del botón, pero nadie en el marcador. Haga clic. Está bien. Entonces esa es otra razón por la que quieres cambiar el nombre de tus controles. Porque si tuviera seis botones, no querría sino un botón de clic de subrayado para subrayarlo. Haga clic en su lugar. Si llamé a este botón, envíe el entonces dije, Y luego generé un evento rápido. Perdón. Entonces si lo hubiera renombrado en las propiedades, lo cual no hice y no lo haré desde entonces, ¿dónde está esta cabeza de fuego? Me acaban de explicar el concepto que tenías. Cambié el nombre, toe submit o algo así como Bt y someto derecho y luego generé los eventos. Entonces habría conseguido Bt y presentado Underscore Creek. Entonces cualquiera que sea el nombre del control que esté en la partitura, los eventos de tipo off, esa es la convención de nomenclatura que siempre se utilizará al generar estos métodos se detiene. Muy bien, entonces el está tomando demasiado Dee parámetros, Objetos remitente y evento R e. No voy a meterme en lo que significan esos, al menos aún no. A medida que avanzas, ves su propósito. Pero bien sabe lo que quiero hacer es desplazar algún formulario fuera de mensaje para ver. Gracias por enviar su información. Por lo que tengo un cuadro de mensaje sencillo en C sharp para que pueda ver un cuadro de mensajes acoplado. Se trata de un método llamado show, por lo que si estás familiarizado con la consola, esa línea correcta es muy similar. Console ese derecho derechos de tierra al cuadro de mensajes de la consola. Ese show muestra un cuadro de mensaje con un mensaje en él en un mensaje tiene que ser una cadena. Muy bien, entonces, ¿cuál es el mensaje que quieres mostrar? Ya ves, Gracias por rentar. Está bien, así que dejémoslo. Eso es de vuelta. Gracias por cualquier cosa por no. Y vamos a ver cómo funcionan estos métodos O esta menta Cricket. Entonces cuando hago click, empiezo todo bien y luego llene mi formulario. Entonces solo estoy poniendo datos aleatorios para que ataque de auto se rente el primero, y va a volver el lunes, y luego hago clic en enviar, Entonces verás el cuadro de mensajes. Gracias por rentar. De acuerdo, así que eso fue lo que pasó cuando hice clic. Después llamó al disparo telefónico. Entonces ese es el evento por teléfono. Hijo está ahí, pero notas es que no se disparó hasta que ocurrió el click. Está bien, así que Esa es la característica pobre fuera de eventos impulsada por la programación. Entonces no, puedo inyectar el texto proveniente del libro de texto, Así que voy a usar la interpolación y hacer un poco de concatenación aquí. Entonces voy a poner el letrero del dólar antes de la cuerda y luego dentro de la calle. Yo sólo voy a inyectar. Quiero el texto del cuadro de texto. ¿ Cuál es el nombre del cuadro de texto? Recuerda que cambiamos el nombre del cuadro de texto para ser nombres de clientes de TB. Entonces cuando quiero hacer referencia a ese control, sólo necesito hacer referencia el nombre fuera de la televisión de control. Ese cliente no necesita televisión, ese nombre de cliente. Si paso el cursor sobre él, ya ves que es un cuadro de texto. Eso es un tipo de clase, ¿verdad? Pero recuerda que estos son objetos fuera de tipo cualquiera que sea el control que sean. Por lo que este es un cuadro de texto de objeto fuera de tipo, y tiene todas estas propiedades. El inmueble que me da los datos que se introdujeron en el cuadro de texto sería texto. Está bien, así que hay una propiedad de texto. Es que no lo llenamos todo. Es porque, bueno, no quieres toma estar dentro de tus libros de texto. al inicio, pero de una vez cualquiera use. Tengo inter texto en los libros de texto. Entonces quieres enviar mensajes de texto desde él. Por lo que necesitamos ver que queremos t ser nombre del cliente. Ese es nuestro control de libros de texto, no la propiedad fija. Por lo que esto nos dará el texto que se ingresó en el cuadro de texto durante el tiempo de ejecución. Entonces intentemos eso otra vez. Entonces voy a dar click. Empieza, entonces me voy de pie. ¿ Ver? Voy a estar Gil Walters encendido. Ah, un agua grande y enferma. Walters ortografía. Perdón. Muy bien, Abigail Water Walters. Y luego hago clic. Presentar el, entonces. Ahí vamos. Por lo que tenemos el cuadro de mensajes mostrando. Gracias. Donde gracias rentar. Gracias por invitar. Está bien. Entonces puedo simplemente modificar todo eso de todos modos, así que gracias por cualquier cosa. Tan pobre inglés me disculpo por. Entonces solo puedo decir Colon Andi, el nombre del cliente que se ingresó en el cuadro de texto. Está bien, así que eso es todo. Entonces voy a poner un punto de ruptura en esta línea sólo para que podamos ver exactamente qué está pasando . Entonces cuando engaño línea Bueno, para mí mintiendo 20 mi oso. Línea diferente para ti, pero hago clic en el nombre fuera del método o en la línea en la que comienza la definición del método. Estoy pensando que esto es una uva entre la izquierda, la mayoría estando en la línea, los números de la línea fría encendidos. Entonces aparecerá ese pequeño punto rojo. Entonces eso es una depuración o un punto de interrupción más bien encendido. Entonces hago clic en iniciar. Entonces, ¿qué pasa que este punto de freno va a ser atropellado en ciertas circunstancias? Entonces, mientras el programa se esté ejecutando, el punto de ruptura no está siendo. Los niños estaban haciendo todas estas cosas. Ese mismo punto no está siendo golpeado hasta que lleguemos. Presentar y luego vemos eso. De acuerdo, eso es que realmente somos causa de una función. Se hace una pausa en la ejecución. Entonces una vez que ves esa flecha amarilla, está apuntando a la línea de que no es acto sobre def. Nosotros, ya sabes, sentamos y tomamos. A veces digo: ¿Qué está pasando aquí? Cuando estamos en modo de depuración, realidad podemos ver lo que hay dentro de nuestras variables. Entonces si pasamos el rato sobre el centro, ya ves que el remitente nos está diciendo que había algunos enviar ¿verdad? Algunos se someten, son algunos de control con el texto enviar, enviaron la convocatoria a este evento, ¿no? Y si miras en el ves alguna otra cosa otra vez, no voy a llegar a ver a remolque lo que significan todos esos? Pero el hecho es que las patas del dedo del pie de Visual Studio Llosa están cortejando ejecución, ya sabes, ir línea por línea y ver algo. Entonces aquí te estás topando con el programa. Ya sabes que las flechas lógicas son algo así. Solo quiero ver exactamente dónde tu error Waas Puedes usar estos puntos de descanso una especie de pausa y paso a través. no voy a pasar por el paso, pero sólo voy a quitar los puntos de ruptura con sólo hacer clic atrás donde estaba el círculo rojo . Eso lo enciende y apaga. Entonces solo puedo hacer clic en Continuar en, luego continuará con la ejecución encendida. Entonces dice gracias por cualquier cosa sobre cualquier texto aleatorio que se introdujera en usar en el cliente nuevo. Por lo que siguiendo ese principio, quiero que detengas este video ahora mismo. Después sigue adelante y cambia el nombre de los otros controles en, Entonces intenta y ya sabes, produce un cuadro de mensaje que principio el contenido de cada uno de estos controles. Andi así que tendrías algo así como algún pedido Nuevo nombre del cliente de renta? ¿ Es este el día rentado? ¿ Ese es el ser devuelto? ¿ Eso es en el tipo de corriente? Es eso. Y eso es lo que espero ver en tu buzón de mensajes. Está bien, entonces espero que al menos paren el video e intenten qué? Te voy a guiar por los cambios que acabo de hacer. Por lo que continué en Die renombró mi Control. Por lo que cambié mi recolector de fechas, el recolector de tiempo a DT rentado. Llamo para que datos en que cambió DT rentó el para el devuelto digo DT devuelto . Entonces si no lo hiciste y quieres seguir esto sabes que puedes seguir a lo largo Esta pausa. Necesitas ir por el cuadro combinado. Tendía a CB tipo de auto así que un segundo tienen el prefijo para el tipo fuera del control en luego el nombre así CB cuatro cuadro combo DT para TB diurna para libros de texto. Es decir, depende de ti. No te estoy diciendo que uses esos prefijos. Exactamente. Puedes elegir el tuyo propio. Tan solo una humilde sugerencia que te ayudará en el camino. Todo bien en entonces modificé mis botones de envío. Entonces veamos algo de la bodega que escribí en el envío y ves algún acorde muy diferente en. Te voy a guiar a través exactamente de lo que está pasando aquí, así que me gusta que soy capaz de generar variable encendido, luego almacenar el valor desde el control dentro de la variable. No, la ventaja para eso son para mí es que cuando lo tengo en una variable, puedo hacer lo que quiera. Entonces es más fácil manipular cuando lo pongo en una variable que estar escribiendo. Si necesitaba escribir el texto cinco veces más después de que se haya ingresado en el cuadro de texto , no quiero estar diciendo TV que tome TB nombre de cliente que toma cada vez. Entonces si lo pongo en una variable agradable, conveniente, puedo usar esta terrible en el camino y hacer cualquier otro cómputo que quiera. Entonces mi humilde sugerencia para ti es que por cada control del que vas a estar tomando datos , tienes, ah, dedo variable correspondiente. Acéptalo el. Después podrás manipular los datos a través de lo verbal como quieras. Muy bien, así que tengo string user name recogiendo el texto para los libros de texto de nombre de usuario. Tengo fecha de cadena fuera y luego mira lo que estoy haciendo aquí. No. Entonces el recolector de fecha y hora va a estar trayendo de vuelta un valor fuera de tipo fecha hora, Pero tengo la intención de imprimir una cadena a pantalla para que no pueda poner una fecha hora en la cadena con la misma facilidad. Entonces tengo que hacer un poco de conversión de tipo. ¿ Dónde? Basta con ver la cuerda. Entonces estoy obteniendo sobre el valor, que habría sido agua muy puesta dentro del cuadro de texto o el recolector de fecha y hora. Esa es la fecha en entonces solo estoy viendo darme la fecha como una cuerda. Ahora hay mucho más que podemos hacer. ¿ Qué? Voy a mantenerlo simple ahora mismo hago lo mismo por ello en cadena. Fecha en el. Entonces digo que DT devolvió el valor en Entonces digo para encadenar algunos convirtiendo estos valores hasta la fecha en cadenas de remolque para que pueda imprimirlos. No, En la cuarta línea, tengo un tiempo variable diferente que nunca hemos mirado nuestros rallys no he mirado con ustedes puestos. Eso se llama var. No, esto no es realmente un tipo de datos. Este no es un tipo de datos en absoluto. Vier es como si fuera como una declaración agnóstica, um, um,que podemos usar no disponible en. Entonces esta variable será relativa a que se le esté asignando agua. Entonces déjame solo hacer un poco de espacio entre ellos. Por lo que aviso para cada otro. Dije que se supone que esto es una cuerda, así que sabemos que es una cuerda. Al mirarlo, sabemos que se trata de cuerdas. Cuando digo fuego, estoy viendo fuego porque no estoy seguro de qué tipo de valor se le pondría para que pueda declarar de su bendita barra. Y luego si asigné el número uno a esto, entonces el tipo de auto se convierte en un entero C allí. Entonces dije fuego. Pero entonces dije, tipo de auto es igual a uno. No es un entero, así que sabe que uno es un inter Sólo así la variable o el tipo de variable es no en interject amigo dicho 1.1 que ruidoso que wr flote y yo más. No, es un doble. Entonces si envío una cadena, entonces el tipo de coche no es una cadena. De acuerdo, así que el punto es que la barra es una muy, muy, muy, muy convertida, Me gusta, en realidad el amor usando virus tanto que me tomó un dedo del pie tiempo. Recuerda que puedo escribir la palabra string hasta ahora es muy, muy conveniente. Muy flexible. Puedes usarlo si lo deseas. Um, recortarás el tiempo libre tratando de averiguar qué tipo de datos eres muy borroso. Objeto tiene que ser, sólo puede ver fuego. Dale un nombre igual y lo que sea. Sí, intuí apenas la mayoría que ese es el tipo de datos con el que está trabajando en ese momento. Muy bien, así que eso es muy conveniente. Por lo que solo uso esta oportunidad para presentarlo también. Entonces dije, tipo de coche Vier es igual al cuadro combinado, que llamo CB type off car dot item seleccionado porque quiero que cuando selecciones el de las gotitas, esa es una me interesa volver a ponerme. Entonces tengo que hacer una cadena de dos porque el elemento seleccionado es, ah, escribir objetos. Entonces tengo que ver convertir que la cadena en. Entonces me da sobre el valor de cadena fuera de lo que se seleccionó. Y luego con todo eso hecho, no puedo se cuadro de mensaje. Por lo que este es el último objetivo mensaje box show. Andi, Lo que voy a estar mostrando está encendido. Acabo de usar mi interpretación y leer mi bonito párrafo alguien para decir algo como cliente Nombre Polonia en Entonces en lugar de tener que montar TV custom o nombrar ese texto puedo dos c nombre del cliente porque almacené el valor del cuadro de texto dentro de fuera esta variable. De acuerdo en entonces puedo hacer ah line break aquí. Entonces lo que quiero es cada valor en su propia línea. Entonces para hacer eso en C agudo en una cuerda, tengo que hacer algo así como, um barra invertida y barra trasera son así que este es el descanso. Esto es así que entiendo que los derechos de ruptura es casi como el nombre del cliente. Entra entonces el siguiente bit fuera del interés de la información. Cada vez que ves esto, es como un en pavo primero. Está bien, así nombre del cliente en una línea que traigo Klein que puedo presionar enter y automáticamente me solo la cuerda Calumet, seguir escribiendo. Entonces lo estoy haciendo porque no quiero escribir demasiado. Sigue a la derecha y fuera de la pantalla. Entonces yo por supuesto el nombre en. Entonces estoy inyectando la variable en. Entonces he vencido están en Ted Colon sobre ellos. Voy a inyectar la fecha variable. Avena. Muy bien, entonces me fui a romper otra vez. Entonces para mí así de rápido, sólo quiero copiar. Dijeron después de teclearlo cada vez que se rompe, ir a la siguiente línea en luego sí volvió colon on. Entonces esto se haría de todo bien y luego decir que generé correctamente. Entonces caso importa mucho, mucho Bricklin otra vez en entonces el tipo de auto. Está bien, vamos. Entonces inyectamos la variable, que es de tipo auto. Muy bien, entonces. Entonces la expectativa fue que cuando llenamos nuestro formulario y luego hacemos clic en enviar, Se supone que tenemos que ver toda esta información en. Permítanme añadir una línea más, que es sólo dice gracias por su negocio. Está bien, así que intentemos eso. Por lo que presioné inicio. Muy bien, Así que he costado probador de amonio entró a la renta. Es sábado de donde un día para ser devuelto es el cuarto sobre el tipo de autos una lota on. Después hago clic en enviar Y luego allá vamos. Contamos con nombre del cliente, la textura del cuadro de texto. Tenemos el ser rentado en la fecha y hora. La única vez que el tipo de auto es Lotte. Andi, las notas de agradecimiento Corazón. Para que así así vamos a conseguir información de o de forma en adelante, bueno, bueno, manipulándola a partir de entonces. Entonces esta manipulación es realmente sólo para presentarla. La manipulación podría ser dedo del pie, ya sabes, Um do, ah, cómputación sobre los valores que hay ahí. Podría ser que nos presentáramos a la base de datos. Sea lo que sea, el hecho es, no, sabemos cómo obtener la información. Por lo que más adelante, miramos cómo agregamos cosas que validación en todas las demás características, como enviarlo a la base de datos 19. Añade validaciones para informar los datos de los datos: como en nuestro video anterior, empezamos a construir alguna cantidad fuera de forma de ventanas de la tienda de inteligencia. Agregamos un evento click tal que cuando llenamos el en formación y para que tipo de auto haga click enviar. Después obtenemos el cuadro de mensaje donde se muestran los datos que se ingresaron. Ahora, en este video, lo que queremos hacer es agregar algo más de funcionalidad o algo o inteligencia. El sometimiento. Queremos agregar algunas cosas de validación como yo con un nombre de cliente Onda. Por lo que queremos asegurarnos de que cuando la persona haga clic envíe el nombre del cliente en el tipo de auto , necesitamos asegurarnos de que los valores tengan bean enter full costume indium y seleccionado para el tipo de auto también querrán asegurarse de que los beats son menos tal vez el ritmo. regreso no debe estar en el pasado ni más allá en el pasado y ser Trento. Ya sabes, cosas que eso es un disuasivo. Es una especie de hazañas futuras cuando se compara toa retorno. Entonces vamos a yo tenía algo de inteligencia para eso en. También veremos posibles excepciones que podrían ocurrir mientras hacemos nuestra operación. Entonces para empezar esto, voy a modificar un poco mi formulario, y lo que voy a hacer es agregar un nuevo campo en. Voy a llamar a este campo. Costarle a alguien ir a su caja de herramientas. Voy dedo del pie Lo siento. El display. Algunos. Por alguna razón, él tenía mis herramientas. Entonces sé que está mostrando muchos más de lo que necesito, pero último directamente, 10 clics muestran todo encendido. Después los trajo a todos. Entonces si tu caja de herramientas estás a las selecciones dentro de tu caja de herramientas desaparecen, puedes hacer clic derecho en el dolor y hacer clic en mostrar todo nuestro ir para elegir elementos y seleccionar los que quieras. Ahora mismo, me interesan los controles comunes porque estoy a punto de traer un nuevo cuadro de texto, arrástrelo para sacarme el pelo. Ah, eso está bien en voy a usar este cuadro de texto toe mucho el usuario para ingresar los costos en la apuesta en los libros de texto. Estoy copiando una etiqueta existente, sabes, Así que no tengo que hacer, ya sabes, ponerme el retrabajo, cambiar la propiedad, cambiar el texto de nombre del cliente a costo. Está bien. Por lo que la expectativa es que cuando la persona está ingresando a este registro, ingresen el nombre del cliente el costo. El ciervo en el retornado en el tipo de auto apagado. No, voy a renombrar el cuadro de texto. Como sabemos hemos desarrollado la disciplina para hacer porque no quiero tener que saber si son libros de texto uno o no. Entonces usando mi convención de nomenclatura, que es toe poner el prefijo TV. Por lo que fui a ver costo de TB. Está bien, así que sé que tengo un costo libros de texto o libros de texto nombrados costo o por el costo. Entonces no, solo voy a modificar mi cable para conseguir el costo. Estoy almacenando mi costo como doble. Muy bien, entonces digo que el doble costo es igual dedo del pie en. Entonces sería tan fácil a esto. Un TBI cuesta no texto, ¿verdad? Porque eso es todo lo que sabemos. Obtenemos el texto del cuadro de texto, pero aquí hay un problema. Estamos viendo que dondequiera que Red Line y su ciudad no puedan convertir implícitamente cadena de tipo a doble. Eso se debe a que el texto es una cadena encendida. Estoy tratando de almacenar el costo dentro de un tipo numérico de la OTAN, que sabemos que es ilegal porque C sharp está tan fuertemente tipado. Entonces necesito hacer una conversión así que fui a decir convertir punto a doble en, Entonces estoy pasando en el valor que está en el cuadro de texto. Entonces lo que esto hace es que saca el texto del cuadro de texto, luego lo convierte en un doble encendido. Entonces lo almacenamos dentro de fuera son costos dobles variables. Recuerda que en realidad podríamos simplemente llamar a estas variables virus que queríamos. Entonces si quieres cambiar el modo, está bien. No lo haré, pero al menos conocemos las opciones que tenemos ahora después de agregar el costo, lo que voy a hacer es agregar esos datos al cuadro de mensajes que se está imprimiendo, así que entiende duplicar uno fuera de las líneas y cambiar el texto en consecuencia. Costo algunos tenían control. D en esta línea duplicará la línea en todo lo que estoy haciendo, intercambiando votos, los datos por lo que sin costo esto impreso en mi cuadro de mensajes. Ahora, antes de llegar al cuadro de mensajes, sin embargo, quiero asegurarme de que todos los datos estén disponibles o se proporcionen antes de que llegue a esto. Por lo que esto sólo debe imprimirse Cuando todo está en su lugar. Todo se ingresa con éxito en el formulario, así que necesito comprobar y asegurarme de que el nombre del cliente esté disponible y que el tipo off car, al menos esos dos deberían haber sido seleccionados. Por lo que la herramienta que puedo usar para esto es una simple declaración if. Simplemente puedo decir si se proporcionó la cadena o si el valor se proporciona entonces o si no se proporcionó, en lugar de que haya un error. Muy bien, entonces lo que pueda ver. Y me encanta comprobar que los negativos primero en mi corte, puedo ver si el nombre del cliente justo en entonces, si tienes experiencia en programación, son de otros lenguajes de los que tal vez otros lenguajes te permitirían. Ver es equivalente a conocer Andi. Eso parece bien porque estamos revisando es para ver si el campo de nombre del cliente, que restauró en el campo nombre del cliente, que restauró en la variable nombre del cliente que estamos comprobando. Si el valor es no, eso parece estar bien. Pero entonces, si es una cadena en blanco que técnicamente no se sabe, por lo que esa comparación no daría el resultado que realmente queremos. Entonces ver agudo realmente usado o alguna manipulación de cuerdas, um, tontos, para que pueda ver. Puedo llamarlo la cadena de tipo de datos, y luego puedo decir puntos en. Entonces voy a ver que tengo a funciones que tienen una que dice es null están vacías, indica dónde, si la cadena especificada es Knoller vacía o es lo que Knoller White Space, que indica si no está vacía o consiste solo caracteres de espacios en blanco, ¿verdad? Alguien a elegir no es ni espacio en blanco. Ellos pueden elegir cualquiera, pero Isla y espacio parece un poco más integral en cuanto a lo que estamos revisando a alguien para usar ya no es espacio en blanco, luego pasar en la cadena que estoy comprobando para ver. Si esta cadena es no o contenido espacios amplios son. Simplemente está vacío. Sea lo que sea que se supone que regrese a nuestras caídas, ¿ verdad? Alguien que diga si esto obtiene, si esto es cierto o si el tipo de auto también es más baja vacíos, puedo ver si alguno de estos no es espacio en blanco inferior. No hay otro espacio en blanco. Entonces si alguno de estos es no o contiene espacio en blanco o está vacío, entonces quiero mostrar un cuadro de mensaje que digamos por favor proporcione datos de la máquina. Por favor ingrese los datos faltantes todo bien. Y entonces, cuanto a ti, no estoy, Ya sabes, basado en el tiempo del padre comprobando por ambos fuera de ellos al mismo tiempo. Um, yo limita mi capacidad de ser específico, ¿verdad? Entonces si tuviera un estado de cuenta if están condicionados solo para el nombre del cliente que podría decir específicamente que te falta el nombre del cliente si tuviera uno solo para el tipo de auto que podría decir específicamente te estás perdiendo el tipo de auto. El no lado, sin embargo, es que no quiero mostrar un cuadro de mensaje por cada error que haya ahí. Un cuadro de mensaje que o líneas todos los errores estaría bien. ¿ Verdad? Entonces, ¿dónde? No lo sé. Solo estoy viendo un cuadro de mensaje con un mensaje de error genérico basado en el si cualquiera estas condiciones se evalúa como verdadero. Está bien. Otro cheque que indiqué que quería hacer fue en las fechas, porque me estoy mordiendo y estoy consiguiendo barcos de fecha o OTAN tendieron inertes. Por lo que quiero asegurarme de que la fecha avena no tenga un valor de datos mayor que estar en. Porque eso tendría sentido. Tendría sentido que vea el disuasorio. Es el 20 de febrero, pero la fecha devuelta fue la primera de febrero. Eso no es práctico, ¿verdad? Entonces eso es ilegal en algún lugar en otro. Si la declaración sobre, lo voy a decir. No, voy a comprobar específicamente este y tener un error de cuadro de mensaje específico para esto . Y después vamos a refractar a la cancha y hacerlo un poco más fácil dedo del pie u obits más eficiente en mostrar los mensajes de error. Pero por no, sólo trabajemos en ello de la manera que lo sepas, bésame mis llaves. Entonces voy a ver si y luego estos dos son valores de fecha, así que es más fácil para ti como humano. Simplemente comparar a la fecha es el 20 de febrero un fechas mayores que el 1 de febrero en adelante. Eso sería cierto para Bird. 20 es un lo saludó y para fronterizo uno. Entonces si quisieras ser esta comparación, podría decir si la deuda adeudada es mayor que la fecha en, entonces tenemos un error, ¿ verdad? Así lo hizo todo. Estar en el Beit rentado nunca debe ser mayor que la fecha en ser la fecha devuelta, así que puedo decir si bit boat es mayor que el it en. Después mostramos un mensaje boxeo selecciones de fechas ilegales, y solo copiamos a los diputados que uno y cambiamos el texto. Selección ilegal de fecha. Está bien, pero luego te das cuenta de que tengo una línea roja en mi línea 34 con esta comparación en. Eso es porque estamos comparando dos cuerdas que está viendo. No se puede usar el operador mayor que al comparar cadena, por lo que este operador mayor que el operador generalmente se usa para los números. Al igual que si quiero comprobar si un número es mayor que el otro. Si una variable numérica es mayor en valor que la otra, entonces bien. Pero entonces no puedo comparar dos cadenas, lo que luego me dice que la forma en que estoy manejando mis valores de fecha es inhibir mi habilidad dedo del pie manipular adecuadamente estos valores. Entonces voy a volver Cambio de mi cancha un poco. Lo que voy a hacer es cambiar a estos viejos para vencer al tiempo. Entonces el volver hacia el diseño o el control Pekar realmente devuelve un valor de tiempo de beat por defecto, ¿ verdad? Entonces yo era el que trataba de convertirlo en una cadena aquí, pero el valor en sí si sobrevaloramos vemos eso? Dice que la hora de batido y la hora de fecha también se puede comparar. Se puede comparar igual que todos los enteros y dobles y otros valores numéricos se pueden comparar . Entonces lo que voy a hacer es cambiarme un poco el abrigo. Y no lo voy a convertir en una cadena ya que eso estoy obteniendo el valor y luego estoy obteniendo un error porque estamos poniendo esa fecha hora dentro de una cadena. Por lo que necesito cambiar mis tipos de datos. Entonces no, sólo voy a endulzarlo y usar var. Está bien, Hasta ahora se va dedo del pie cumplir mi variable toma sobre la identidad fuera del valor que se le asigna . Entonces estoy asignando tiempos de idea sobre la variable, y de repente es que hice tiempo. Está bien. Noté que mi error se fue enseguida. Entonces estoy comprobando si este valor diurno es mayor que este valor diurno, por lo que la avena fecha no debe ser mayor que el it en. Si lo es, entonces voy a mostrar el mensaje ilegal. Está bien. Lo siguiente que voy a hacer en términos fuera del piso lógico es intentar poner algo en su lugar que no muestre el mensaje de éxito si estas condiciones son verdaderas. Está bien, ya sabes instintivamente probablemente van a decir Oh, pero podríamos haber dicho si entonces lo contrario si y luego lo demás no te equivocarías Pero entonces no lo escribiría de esa manera. Y no estoy invierno editado lejos porque cuando tenemos un if entonces else si entonces lo contrario sólo una cuadra puede evaluar la verdad. Entonces eso significa que si decimos si entonces lo contrario si entonces lo demás, entonces sólo llegaríamos a ver un mensaje de error que está mal con el formulario. Entonces es filosófico, ¿verdad? Es decir, no hay una sola forma de hacer esto porque podrías hacerlo de esa manera. Y se podría decir: Si esto es cierto, entonces nada más se ejecuta. Si esto es falso otra cosa, si esto es cierto, entonces nada más se ejecuta en. Entonces si ninguno de estos evalúa como verdadero, entonces lo demás se activaría encendido. Entonces esto sería cierto y esto se mostraría. No obstante, quiero que sea que quiero mostrarle al usuario todo lo que está mal con el formulario cuando algo está mal con el formulario. Entonces es por eso que hice esta declaración y en este cuadro de mensaje de show on entonces esto declaraciones esta va a mostrar también si ambas están equivocadas. Pero entonces no quiero que esto se muestre para nada. Entonces solo voy a poner una nueva variable y la voy a llamar Vier es válido en ir a poner esto el verdadero derecho. Entonces declaro un lingote llamado es válido, ¿ verdad? Te estoy llamando. Es realmente No hay razón en particular para que yo nombre de esa manera. Es sólo indicativo del hecho de que está rastreando si el formulario está en un estado válido o no. Correcto. Por lo que Vier es válido el porque envío valor. cierto, Escierto,es un lingote saber si esta condición es cierta en donde no, vamos a mostrar un error. Entonces sabemos que la finca no es válida, ¿verdad? Entonces voy a cambiar. El valor de es válido. Si la declaración es verdadera de lo que está bien, ya no es verdad. Está bien, así es válido no hay caídas iguales del dedo del pie. Por lo que una vez más empezamos poniéndonos. Cierto. Queremos que sea verdad. Esperamos que esta forma sea violeta. Pero entonces vamos a revisar no por los parámetros inválidos en el primero de los cuales es si no se proporcionó el nombre del cliente o el tipo de auto, entonces vamos a decir, Bueno, no es válido. Si esto no se cumplió, entonces es válido sigue siendo cierto. Porque entonces si no se cumplió esta condición, entonces no entró y cambió el estado o valor válido. Pero entonces, si los datos son mayores a la fecha en el en, el formulario no es válido. Por lo que se valora es falso aquí. Está bien, por lo que ambos de estos comprobarán y dirán que con el es válido el estado cae sobre. Entonces lo que voy a hacer en esta anoche es decir, si es válido es equivalente a cierto. Entonces queremos proceder. Está bien, Entonces si si es mientras es cierto, entonces imprimimos nuestro éxito. Señora acabo de poner el mensaje de éxito dentro de esta cuadra. No, en C sharp, realidad se puede escribir esto como si se valora. Por lo que tienes dos formas de escribir que puedes ver un comentario más recto limitado. Se puede decir si es válido, es equivalente a la verdad quitada de la derecha de toda la declaración. Si es cierto, pero y cuando estás lidiando con un lingote realmente estás viendo, si esto es cierto y luego si quieres tomarlo, es hasta donde puedes ver si no es cierto. Pero acabo de poner en las exclamaciones y en lugar de ver si es válido, es equivalente a caídas derecha para que puedas escribirlo ese tiburón Otway Esa es una bonita escuela lo o, a lo más lenguajes de programación obliterados de esta manera. Yo solo dejo este comentario ahí para que puedas ver exactamente las alternativas que tienes. Entonces si te sientes más cómodo escribiendo de esta manera, eso está completamente bien. Entonces pasemos por esto una vez más. Entonces configuramos bandera para comprobar la validez o cuatro formulario solo digo que es válido es cierto. Entonces cuando recogemos toda la información de la finca donde suponiendo que todo está intacto bajo validez es cierto, entonces empezamos a ver si no se proporciona el nombre del cliente o no se proporciona el tipo de auto, entonces el es válido no es cae, y ahí mostramos un mensaje también comprobamos si las fechas fuera es mayor que la fecha en. Si eso fuera cierto, entonces no es válido. Y así cambiamos nuestra bandera en exhibición. Un mensaje de error. Ahora, al final de todo eso, estamos revisando para ver si el es válido. El valor sigue siendo cierto, porque si no se cumplió ni fuera de estas condiciones, entonces su válido sigue siendo cierto en Def es válido sigue siendo cierto. Entonces mostramos nuestro éxito siempre y cuando su valor de Val ID no cambiara de verdadero hasta que llegó aquí. Entonces es el éxito. Muy bien, así que vamos a probar nuestra nueva lógica. Entonces solo hacemos clic, empezamos, y luego voy a llenar o la granja primero, así que la voy a mantener, ya sabes, basado en lo que sabemos. Así que poner en el cliente, nunca poner en el costo. Pongo en el tipo de auto click submit, y luego se va a decir lo ilegal hizo selección. Y eso es porque estoy comprobando que los datos rentados deben ser mayores que el deat devuelto aquí mismo. No cambié los valores en sus ambos morosos al parecer grande, Así que si hice ese ajuste Así vemos que uno apagado. Nuestras validaciones está funcionando un click. Presentar el. Entonces vemos que todo está bien. Está bien, ya sabes, empecemos a romperlo. Si cambio el cebo rentado al quinto en el devuelto es el tercero o las fechas barco no es mayor que la fecha en. Entonces cuando haga clic, envíe selección ilegal de fecha. Está bien, entonces estamos viendo que está golpeando esto. Si declaración, si queremos ser más estratégicos para ver exactamente lo que está haciendo el tribunal, podemos en un punto de ruptura. Por lo que ya estamos en barco profundo amarrado. Podemos volver a estudio visual fuera de puntos de ruptura. Voy a ir en este punto de descanso al para Let's Put It a la última variable esa creación . Muy bien, vamos, entonces, intentemos esto otra vez. Entonces voy a tomar todo el costo Alemania en este tiempo, y luego voy a dar clic en Enviar en, entonces lo que pasa es que golpea eso. Después usando F 11 puedes ir línea por línea. Entonces cuando ves a ese león resaltado en amarillo, significa que tu punto de ruptura o tu ejecución judicial es Saber cuál es esa línea. Si golpeas 11 irá a la siguiente línea y luego línea por línea. Se puede atrapar lo que está pasando. Entonces si miro en esta variable, veo que no tiene datos, escribe el nombre del cliente Cadena en blanco. Si busco tipo de auto, veo que se proporciona Honda. No obstante, cuando salí y vuelvo a F 11, no entra en esta afirmación if porque entonces esta condición sólo fue evaluada para ser cierta . Y así donde parecía que la finca no está valorada. Entonces si 11 y luego va al cuadro de mensajes y vemos cuadro de mensaje Inter datos faltantes, haga clic. OK, pero entonces la ejecución no se hace en, continúa y decimos F 11 en. Entonces vemos que el barco dátil, que es el quinto de febrero, es mayor a la fecha en, que es 1/3 de descuento en febrero. En def. Nosotros f 11 entra de nuevo y asegurarse de que sepa que la fecha la validez es farsa y luego vuelve a mostrar ese cuadro de mensajes. Por lo que tenemos que enviar los cuadros de mensaje que se muestran en. Entonces continúa, por lo que f 11 y van a ir a es válido. Saber si es válido, es cierto comprobar si es válido, ¿ verdad ? Ahora mismo es falso. Porque si no te fijaron la primera vez, definitivamente se fijó la segunda vez. Y así porque es falso, realidad se salta por encima de eso. Si la declaración en entonces continúa. No, en esta etapa, sólo podemos golpear f cinco para la ejecución del continente, o simplemente podemos hacer clic en continuar. Por lo que habríamos conseguido las dos casillas de mensajes porque somos dos errores presencia. Muy bien, entonces vemos que nuestro tribunal de validación está funcionando. No parece la manera. Si no proporcionara un válido para un tipo de auto, habríamos conseguido que Nuestro mensaje sobre ingresar datos faltantes? No. Voy a ejecutar un experimento más y luego mostrarles otra forma a la que tenemos que ir llamó para la validación. Por lo que no voy a proporcionar un costo. Está bien, por lo que no se proporcionará ningún costo el. Entonces me voy a dar un dedo del pie, someterme y luego vas a ver mi ladrillo de corte justo delante de tus ojos. Entonces estamos obteniendo alguna forma de excepción donde ver la cadena de entrada no estuvo en un carrito durante meses. Muy bien, Entonces lo que está pasando aquí es que no proporcionamos una cadena por el costo en. Entonces está tratando de convertirlo en doble. Entonces, esencialmente, esto es decir que no puedo consolar nada. Dedo del pie un número? Sí, Como humano, probablemente has visto, pero nada como un número cero, pero la computadora viendo cero como algo y nada como literalmente nada. Correcto. Entonces es ver aquí que no puedo hacer esta conversión. No sé qué hacer aquí en adelante. Estos son lo que llamamos excepciones. Entonces cuando tenemos una excepción, puede romper nuestro programa. Si pudiera seguir viendo que sale del programa automáticamente. ¿ Verdad? Entonces cuando estás usando tus aplicaciones y obtienes esos aires fetales un clic, OK, y luego se cierra todo el programa. Esas son excepciones. Queremos reducir el número de excepciones o la probabilidad de que ocurran excepciones y terminar el tiempo de ejecución o la ejecución de nuestro programa. Por lo que usamos el manejo de excepciones porque podemos cordear defensivamente hasta cierto punto, y quizás no podamos llamar defensivamente toe. Ya sabes cuánto más extensión. Por lo que el try catch es literalmente el catcher que nos ayuda a navegar del dedo del pie son propiedad. Esa ocurrencia es Entonces lo que voy a introducir toe este botón click evento es una pista it . Entonces volviendo a mi primera línea, voy a ver probar. Entonces justo lo intento y luego voy a presionar cosas dos veces, y me genera todo el bloque. Entonces estoy probando la operación en, entonces estoy revisando la excepción. Correcto. Entonces déjame empezar por tomar todo lo que estábamos haciendo dentro de esta aplicación dentro fuera de este evento truco. Entonces sólo la cancha que escribimos. Así que ten cuidado con los aparatos ortopédicos. Acaba de hablar con este último corsé fuera de esta declaración. Atrapaste eso y lo pusiste dentro de la bandeja. Está bien, así que estamos probando todas estas operaciones y no ella Dejó de ejecutarse en el plan 27 o subrayar. Estamos convirtiendo el doble que el texto a doble. Entonces esa es la línea problemática. Entonces no tiene por qué ser un problema, pero ese es el que hemos detectado hasta ahora. El punto es que estoy probando todos estos dondequiera que se sienta al intentar cualquier off este anotado de lo que vamos a la captura. Entonces cuando uno de esos errores, como acabamos de ver con la conversión, cuando se produce ese tipo de error, entonces comprobamos. Es que atrapamos ese error. No, voy a extender esta iglesia. Voy a poner la excepción en un objeto llamado E X, lo que me permite obtener los detalles de la excepción que se está lanzando. Entonces ese mensaje de error que visual studio mostró sobre el error de sistema inválido y esto y aquello y que realmente puedo obtener esa redacción de este objeto que estoy tocando a la excepción, ¿no? Entonces puedo mostrar un cuadro de mensaje específicamente dentro de la excepción en entonces puedo decir que la excepción o el mensaje que quiero mostrar es E X. Eso es objeto para el punto de excepción en. Entonces tiene mensaje. Está bien, entonces puedo mostrar el mensaje diciendo que, ya sabes, este es el problema que te encuentras. El lanzamiento en realidad acabaría con el programa. Conoce que puedes tomar una decisión. ¿ Quieres en el programa cuando hay una excepción, o quieres continuar el programa a pesar de que hay una excepción, así que solo puedo quitar el todo comentado dicho por no. Pero puedes creerlo si quieres, pero el lanzamiento una vez más terminará el programa. Si no tienes el lanzamiento, se mostrará el cuadro de mensajes. Da clic en Aceptar en pero luego aún tienes tu programa en ejecución. Entonces veamos cómo funciona eso. Por lo que vuelvo a empezar entonces esta vez quiero probar y asegurarme de que mi manejo de excepciones funcione. Por lo que voy a proporcionar los datos que sé lo que se necesita proporcionar. Cambie las escrituras en luego haga clic en enviar y luego vea cadena de entrada no estaba en formato de carrito . Entonces lo que pasó fue que intentó la operación. Se subió a la parte donde probó la conversión en. Entonces se dio cuenta de que OK, no puedo hacer esto. Fuiste abajo para atrapar la excepción el entonces ese es el mensaje dentro de la excepción porque no escribimos nada en un cuadro de mensaje para ver esto. ¿ Verdad? Por lo que este mensaje cuadros mostrando el mensaje para esa excepción en particular. Entonces ya ven, pesar de que podemos llamar a la defensiva en contra de los siente que estamos esperando o condiciones que estamos esperando reglas de negocio que estaban haciendo cumplir. En ocasiones el sistema en sí puede tener en error que no podrías haber contabilizado. De modo que ahí es donde el try catch viene muy bien. Y podemos atrapar ciertas excepciones en No los dejes entrar en el programa, ya sabes, completamente. No. Como acto final, sólo voy a modificar la forma en que estamos mostrando los cuadros de mensajes. Está bien, así que en cambio, fuera de que esto sea un cuadro de mensaje por error, lo que voy a hacer es tener una cadena en la que voy a compilar los errores. Entonces si es Validus cae, entonces mostramos ese cuadro de mensajes con todas las oraciones compiladas fuera de la Tierra. Entonces ahora mismo tenemos a situaciones Harris. Tenemos éste. Tendré éste. Tenemos que enviar mensajes a las cajas. Lo que voy a hacer es así de claro? Un nuevo mensaje de error var variable. Pero estoy haciendo que éste sea igual a una cadena vacía. Entonces estoy empezando con un Aramis vacío porque hasta este punto, estamos asumiendo que el formulario es válido justo en. Entonces el mensaje de error estaría vacío. Entonces en lugar de decir, ERM mi cuadro de mensajes. Ese show voy a ver en lugar mensaje de error en. Entonces podemos hacer. Ah, poca operación aquí. ¿ Había iguales cercanos? Está bien, así que solo estamos viendo que estamos compilando este arroyo. Muy bien, entonces estamos viendo mensaje de error Cerrar igual a, Por favor, ingrese. Faltan datos sobre el número va a tener el nuevo operador de línea ahí mismo. Correcto. Entonces en caso de que haya múltiples líneas que estarán ahí, no quiero todas las líneas para que pueda refinar un poco esto para que pueda ver error. Por favor introduzca los datos que faltan. Entonces si no se proporcionan el costo del nombre y el tipo actual, entonces veo la validez fuera del formulario no se cae sobre. Entonces estoy agregando en mensaje de error toe la variable que ya creé. ¿ Verdad? Por lo que empieza en blanco en aquel entonces. Si esto es cierto, entonces no, tiene algún contenido. Entonces estoy viendo lo que había antes en eso. Esto están en este dedo del pie de cuerda. Sea lo que fuera que hubiera antes, eso es lo que La secuela de la OLP. Es una acumulación, ¿verdad? Por lo que probablemente estaremos acostumbrados a esto con las matemáticas. Bueno, en C agudo, lo puede usar contra cuerdas también, Así que voy a hacer lo mismo. No lo hagas abajo. Voy a ver si la dátil avena es mayor que la fecha. Y luego también quiero acumular este mensaje de error en la cadena. Entonces solo voy a ver a este nuevo personaje de tierra, ponerlo en la cuerda. Toma toda esta brisa extra en DSO. Si alguno de estos o si ambos tienen éxito, solo hubiera compilado el mensaje de error en el es válido habría cambiado de todos modos. No, yo puedo poner en eso. Si Elstone aquí para decir si es válido, entonces muestra un bots de mensaje con el éxito encendido, entonces voy a ver otra cosa quiero un cuadro de mensaje. Entonces el cuadro de mensaje no se muestra en. Entonces me fui a mostrar el mensaje de flecha. Cualquiera que sea el contenido de su mensaje esté sobre hasta este punto, quiero imprimirlos dentro del cuadro de mensajes. Entonces eso significa que si agregas otro escenario mañana donde tienes otra declaración if para la validez, entonces solo puedo agregar mensaje era y ver qué está mal. Entonces nosotros sólo por qué poner en una palabra error ahí. Está bien, así que solo lo estoy tirando por ahí tantas maneras. se puede hacer. No digo que esta sea la forma de hacerlo. No digo que esto sea un estándar. No digo que esto sea, Ya sabes, no hay otra manera. Yo quiero que tengas tu individualidad. Claro, solo te estoy mostrando que hay tantas maneras de hacer esto una vez que lograste lo que necesitas hacer. Andi. Con tal vez menos líneas fuera de la corte, el jurado está fuera sobre si menos líneas de corte significa más eficiente o no. Pero el hecho es que, si puedes lograrlo, entonces eso es bueno. Entonces probemos y veamos cómo sería esto. Entonces si empiezo bien la solicitud, entonces someto todo lo que pasó cuando someto es que va a bombardear en este terreno. Entonces si someto con todo en blanco, trata de convertir el costo de cuerda vacía dedo del pie en. Simplemente va a atrapar la época. Entonces cuando hago clic, somete es que tiró directamente a la captura y está mostrando esa época, así que eso está bien. Pero vamos a proporcionar un costo y luego es arrastre. Y si hago clic en enviar. No, es ver objeto, no, no, dijo dedo del pie. Instancia off on object reference on sintomatología. Es sentido apagado en el objeto, lo cual te puedo decir que no escribimos ese error, así que esa es otra excepción. Entonces, no, necesitamos depurar y ver exactamente lo que nos falta, Por qué estamos recibiendo ese error. Entonces si pongo mi punto de descanso en los arranques fuera de la línea, ya son esos minimizan. Ponga mis puntos de descanso y no, estoy trayendo de vuelta en mi ventana y doy clic en enviar. Entonces voy a atravesar hasta ver donde salta viejo. Por lo que se puede ver, una vez que se va a la siguiente línea, todo está bien, ¿ no? Entonces va a la siguiente línea en entonces creo que es esta línea. Es decir que la referencia del objeto no está establecida en nada. Entonces estoy aquí tratando de convertir dedo del pie. Nada que encordar, ¿verdad? Por lo que el elemento seleccionado es no. Estoy tratando de convertir árbol de aviso en. Entonces estoy garantizando que cuando es opresivo, va a ir directo a la captura, y ahí vamos. Está bien, entonces eso es otra cosa por la que no hicimos cono. Muy bien, entonces eso significa que necesitamos cambiar de tipo la forma en que estamos obteniendo el valor del cuadro combinado . Entonces otra forma de obtener el valor del cuadro combinado podrían ser los textos de pato. Usaré el texto pato para que el texto doc obtuviera el valor del cuadro combinado en. Hice un cambio de corte mientras estoy en modo de depuración, así que en realidad tengo que reiniciar la aplicación, ¿ verdad? Entonces Doc text me daría el texto que se está mostrando en el cuadro combinado. Si no se muestra texto, entonces es una cadena en blanco Eso es más seguro como estamos viendo. Um, si lo intentamos de la forma en que lo teníamos antes, vamos a conseguir una excepción en. Es posible que no seamos capaces de decírselo apropiadamente a la persona Lo siento por eso. El romance podrá decirle adecuadamente a la persona lo que está mal. Por lo que usar el texto doc probablemente sea más fácil. Entonces déjame simplemente reiniciar esta aplicación Una vez más, reiniciamos porque si hacemos un cambio de cancha mientras estamos en modo debug, no se registra en el para reiniciar todo eso. Fue rápido. Esto, um, son circulares al lado del botón de parada y posibles. Muy bien, así que intentemos esto otra vez. Entonces voy a cambiar el costo. Vimos que el trabajo de validación de costos sí llegó a la excepción. El día fui a dar click Enviar. Pero antes de dejarme despegar mi punto de pájaro porque no quiero romper puntos, no tengo que pasar. Por lo que asumiendo el punto de descanso estoy dando click. Presentar el entonces. Estamos viendo nuestro cuadro de mensajes con nuestros errores. Error, Por favor ingrese error de datos faltantes. Selección ilegal de fecha. Está bien, si cambio uno de ellos Así pongo el nombre del cliente y hago clic en enviar, entonces sólo voy a ver Oh, bueno, todavía está viendo entrar datos faltantes. Entonces es así Eso es otra cosa, también, también, porque estoy revisando tanto el nombre del cliente como el tipo de auto en el mismo comunicado. Es dedo duro ser derechos individuales. Es decir, probablemente me lo podría perder. Um, Phil Littleton diga, por favor ingrese nombre del cliente en el tipo de auto apagado. Podría ser explícito. Entonces obviamente, si tengo una y no la otra que el usuario podría deducir, así que eso está bien. Podrías cambiar el mensaje, o podría cambiar el número. Si bloques no voy a dar prioridad a Irán. No, pero déjame solo producir el tipo de auto click submit. Y luego estamos viendo un mensaje de error que narra la selección ilegal de fechas. Y entonces cambiamos eso. Es un tres y luego hacemos clic en enviar, y no, tenemos un formulario válido en fechas divididas de ser insertados. Está bien, así que eso es más o menos para construir en algunas validaciones. Una vez más, esta no es una ciencia exacta. Esto no es exactamente igual, así es como se tiene que hacer. Esto es sólo un tipo que te da algunas ideas. Ese es el todo Podrías ir a validar lo que necesitas buscar, cómo manejaba tan adecuadamente cuando son errores genuinos que no has contabilizado con los que terminan el tiempo de ejecución fuera de tu programa. 20. Crear base de datos SQL: en este video, vamos a empezar a diseñar nuestra base de datos para almacenar los datos provenientes de nuestro formulario. Por lo que para nuestra base de datos, estaremos usando SQL Server Express en DWI estaremos diseñando al menos dos tablas basadas en lo que tenemos aquí. Quieres guardar el registro de renta y otro para guardar el tipo de auto fuera porque, bueno, esta es una lista desplegable y esa lista de autos está sujeta a cambios. A lo mejor se le agrega uno. A uno se le quita, ¿sabes? Por lo que queremos crear una mesa donde realmente estemos almacenando la lista de autos disponibles para renta. Por lo que nuestro primer paso es instalar SQL Express Edition. Entonces si ya tienes SQL server de lo que estás bien. Pero si no lo haces, entonces puedes proceder a ir a Microsoft dot com slash quiero decir, te daré el enlace o simplemente puedes google SQL server on. Entonces cuando llegues a esta sociedad demasiado lisas cargas conocidas y la que nos interesa se expresa para que puedas conseguir desarrollador. Puedes obtener Express express es que sabes que es gratis en su ah edición más pequeña, por lo que toma menos la instalación esta vez, y cuanto menos recurso sea. Pero luego desarrollador está completamente destacado, y es, sabes, ya sabes,lleva más tiempo. Por lo que para ello, animaría a que sólo se consiga expreso. De todos modos no perderás mucho en el camino. En entonces. Es un paso de instalación sencillo. Puedes echar un vistazo a mi video de YouTube sobre instalarlo si necesitas algo más de orientación, pero puedes seguir adelante e instalarlo en el estudio de gestión el entonces. Se me quiere hablar por el hecho de que se ha instalado el estudio de gestión. Se ha instalado el servidor y empezamos a diseñar o base de datos No. Después de instalar SQL Server Express, podrás abrir el estudio de administración en. Entonces podrás iniciar sesión en tu servidor para que veas el nombre fuera de tu PC una onda de contracorriente, el nombre SQL Express encendido. Una vez que veas eso, solo puedes conectarte. Si no ves eso, entonces probablemente quieras ikan dejarme caer una línea y me pidió alguna orientación. De lo contrario, si haces clic en conectar en tu incapaz de conectar, entonces probablemente quieras entrar en tus servicios. Comprueba SQL Express y asegúrate de que ese servicio se esté ejecutando, entonces puedes intentarlo de nuevo. De cualquier manera, siéntete libre de llegar. Forma a mí para mayor detalle. A los que has conectado a tu servidor puedes empezar a construir tu base de datos, así que voy a hacer solo clic derecho y hacer clic en nueva base de datos. Esto lanza un cuadro de diálogo, alguien para llamar a mi base de datos de alquiler de autos. Y entonces creo, OK, OK, una vez que se cree esa base de datos aparecerá en el objeto Explorer a tu izquierda. Entonces solo voy a perforar en ambas mesas, ¿ verdad? Haga clic y haga clic en nuevo en. Estoy creando una nueva tabla. Entonces la primera mesa que estoy creando, como dije, este auto hasta soc Um bueno, la mesa es para el auto unto record. Por lo que los datos que pretendo recolectar estarían en concordancia con lo que habría diseñado mi forma toe recolectar. Por lo que quiero el nombre del cliente el costo el oso rentado ahí. No regresó en el tipo de auto apagado. Es un tipo de auto será una llave extranjera. Entonces en esta etapa, espero que todo el mundo entienda el diseño básico de la base de datos. ¿ Y por qué fueron claves foráneas y claves primarias? Si no, entonces puedes revisar mi otro curso de desarrollo de bases de datos. Tengo Microsoft SQL Server para todos y tengo mi desarrollo y dominio de base de datos SQL . Por lo que ambos esos cursos te traen enter end con el desarrollo de bases de datos y explican por qué somos claves y relaciones extranjeras y todas esas cosas. Entonces no voy a gastar estos puntajes pasando por esos detalles. Voy a seguir asumiendo que ustedes tienen la información básica. Por lo que necesitamos mesa para recoger estos campos y luego tenemos otra sección para una clave extranjera . Y recordamos que estamos creando otra mesa solo para mantener a los tipos alejados de los coches encendidos. Eso informará aquí la lista desplegable. Por lo que de vuelta en mi estudio de Administración de SQL Server, fui a seguir adelante y crear la tabla de alquiler de autos primero con una idea off type into on Será extraño key opera turbia. Perdón. Por lo que hago clic derecho, diga dicha clave primaria en. Yo quería ser auto incriminatoria. Por lo que voy a bajar a i d dedo de la identidad Selección en DSI es identidades. Sí, simplemente no lo sé y se convierte en sí. Y eso significa que contará automáticamente, ¿verdad? El otro campo que quiero es nombre del cliente en este puede ser un char de ambiente tal vez. Ah 100 caracteres de largo Siguiente Quiero el d está rentado y SQL en realidad tiene un tiempo de escritura venció el tipo también uno beats retornó en. Esto también será un tipo de datos de tiempo poco. Yo sí creo que tenía costo, así que no voy a costar. Esto sería un doble. Por lo que sí tienen un doble. ¿ Tienen doble? Algunos de doble de alguna manera flota estímulos Verificar que es un tipo de datos No lo es. En realidad es decimal cerebral que así en para los costos estaban usando decimal on. Podemos dejar que la caída ahí sentada. Entonces voy a ver auto o tipo de auto ID de tipo off car I D. Y eso es entero Podemos dejarlo en eso. Entonces podemos hacer click guardar para poder reproducirlo demasiado seguro aquí o controlar s y que estaban recibiendo este s auto en registro de remolque. Muy bien, entonces el nombre de la tabla es auto hasta grabar, y una vez más tendría todos los detalles básicos rodeando en auto real en remolque. Entonces si entro al lugar para inter car y me ponen en esa aplicación las expectativas de que cuando llenen este formulario con mi información sobre los detalles del alquiler , se guardará en esta tabla. Está bien, así que lo siguiente que quiero hacer es crear otra tabla, y eso es sólo para la lista de autos fuera. Por lo que vuelvo al Explorador de objetos, hago clic en abrir una nueva tabla, y luego quiero un I D encendido. Esto es entero derecho. Haga clic en Cedatos Clave primaria en, luego hágalo identidad. Pasear por la propiedad es ir dedo del pie selección de identidad dejando caer la su identidad debe ser Sí. Muy bien, entonces. Yo quiero el nombre fuera del vehículo, así que solo quiero idea Nombre. Eso es literalmente todo lo que quiero. Quiero cada carrito de su propia idee identificador único en su nombre. Justo en. Fui a mí que un environ char off talla 50. Está bien. Y luego veo esta mesa en estoy llamando a estos tipos fuera de autos, así que eso es todo lo que quieren. Lo siguiente que necesito hacer es hacer una relación entre el i. D. O la clave principal para el tipo off car en la columna que se supone que es la clave extranjera para el tipo off car, así que solo hago clic derecho en cualquier lugar dentro de la vista de diseño para cualquiera de las mesas. De verdad. Y entonces veo relaciones en realidad, no, no para ninguno de los dos propina. Yo quería para autos informes completos. Yo con razón dentro fuera del coche Intel grabar en. Entonces voy a las relaciones. Take ad Y luego caí las tablas y especificaciones cuando no necesito dejarlo caer en la industria. ¿ Necesita las elipsis? ¿ En serio? Entonces solo hago clic en él este botón de puntos suspensivos en? Entonces se va a decir ¿Dónde está la tabla de claves primarias? El clave principal está viniendo de la tabla tipo off car o los tipos off car establo en la columna que es la clave primaria es I D en entonces el campo en renta de autos que mucho es toe es tipo off car I D. Así que caí y luego estoy simplemente haciendo el enlace, algo que una clave primaria de los tipos off car estable debería reflejar en el tipo off car I D columna en su auto en tabla de registro derecha, y hago clic. OK, haz clic en la ropa, luego ahorra en, luego todas las cosas siendo iguales. Todo debería estar bien. Si obtienes una era ese punto, solo asegúrate de que ambos estén dentro. Entonces aquí, en la mesa de llaves extranjeras o en el auto, toda la mesa de la corte, desobediente sobre eso la clave primaria también debe estar dentro Si esos pasos son ajenos a tu no estás familiarizado con ellos. Una vez más, te animo a que solo pases por mi curso, mi desarrollo de base de datos de desarrollo SQL y dominio o un servidor Microsoft SQL para todos . Esos dos cursos te pondrán al día con todo lo que necesitas saber sobre el diseño de bases de datos . Entonces, para no, eso es todo por diseñar nuestra base de datos que fueron, ya sabes, desarrollamos una empresa o ganamos solicitudes de formularios. En el siguiente video, veremos cómo realmente vinculamos esta aplicación a la base de datos. 21. Conéctate a la base de datos SQL: en este poco se estará pasando por agregar nuestros datos basados en nuestro proyecto. Por lo que en el video anterior habría descargado e instalado Microsoft SQL Server Express. De no tenerla ya puesta, la habrías usado para diseñar dos mesas, una para la Kyra hasta grabar una para los tipos fuera de autos que son las abejas de datos. Entonces queremos saber, agregar las referencias a esta base de datos sobre proyecto, y así vamos a pasar por ese paso a paso, y Microsoft hace que sea relativamente fácil hacerlo a través del uso off radio dot net Así que vamos a ver exactamente cómo funciona eso. Entonces el primer paso es entrar en tu solución. Explorer, derecho Haga clic en el proyecto en el clic en. Entonces estamos agregando un nuevo elemento, y luego vas a la categoría de datos. Soc visual C elementos afilados se acude a los datos sobre. Entonces estamos eligiendo un modelo de datos de entidad dio .net. Entonces esa es la que estamos usando. Entonces le voy a dar un nombre. Entonces el nombre que voy a usar es auto y, uh, TV. Muy bien, entonces el nombre de este modelo de datos es alquiler de autos DB, y luego tomo anuncio. En la siguiente pantalla me pregunta el tipo off modelo que quiero. Entonces si quiero el diseñador desde base de datos y diseñar un modelo vacío frío, primer modelo o corte primero desde base de datos, parpadeando en cada uno le dará una descripción. Pero el predeterminado que se selecciona es uno en el que me interesa. Y si quieres leer lo que hace, dice, eso es sólo en remolque. Crear un modelo basado en una base de datos existente. Era una especie de conexión. Cadena en todo para que podamos interactuar con la base de datos a través de este modelo. Entonces ese es el que queremos. E f. Diseñador de base de datos. Hacemos click siguiente en, luego pasamos a una pantalla donde nos quiere. Estos zapatos son conexión. Por lo que había construido sobre la aplicación usando North Wind en el pasado. Por lo que su esperanza en esa conexión. Pero eso no es lo que me interesa. ¿ Verdad? Alguien se va a ir. Es una nueva conexión on. Entonces voy a escribir los nombres de los servidores. Recuerda que tu nombre de servidor sería tu nombre de PC. Cuadro slash SQL. Señor, Extra express más bien, pero un atajo podría ser sólo el poner un punto la caja barra ansi SQL express. Por lo que nuestro médico es equivalente a su nombre de máquina más o menos en esta situación al salir entonces que ahí se puede bajar a la parte donde se selecciona o inter nombre de base de datos. Bajas esto y ves todas las bases de datos que tienes en Escalate Express. Tengo dos. O puede que tengas pocos porque tienes estos por defecto. O tal vez lo has estado usando desde antes, pero el que te interesa es el auto hasta porque ese es el que estamos usando para este proyecto. Por lo que selecciono auto en remolque. Puedo hacer clic en probar una conexión solo para asegurarme de que todo esté bien. Pero luego hago clic en Aceptar para proceder una vez que es el nuevo C que cambia el tipo de contexto y te está mostrando la cadena de conexión que se va a generar en. En realidad voy a caminar solo por lo que estás viendo en esta sección porque parece confuso. Pero es realmente simple una vez que sabes lo que estás buscando. Entonces la sección posterior de metal solo está diciendo eso, Vale, estamos agregando. Esto es como algunas cosas para declarar el modelo que se agregará. Eso es auto generado. No tienes que preocuparte por eso. Las partes principales del mismo serían la parte que es su conexión. String es igual a la fuente de datos. Entonces fuentes de datos hablando del servidor que estás mirando. Entonces cuando digo topógrafo mirando ahora mismo, estamos mirando nuestro servidor local Nuestro propio PC con instancia de base de datos SQL Express, está hospedando nuestra base de datos En el caso de que esta base de datos no estuviera en tu PC, entonces esto no sería lo mismo valor. Esto sería que tal vez el I. P o el nombre de la máquina fuera de esa otra computadora donde está esa base de datos. Entonces estoy pasando por esto para decirte que si estás desarrollando esto en un entorno empresarial donde sabes que estás, tienes tu PC en las bases de datos en otro PC en algún otro lugar de la empresa, y necesitas conectar tu aplicación a esa base de datos central. Entonces la fuente de datos sería el nombre fuera de la máquina o la dirección I P dedo del pie esa particular máquina. Está bien. El catálogo habla de la base de datos que te estás conectando puntera en la seguridad entonces bien integrada que puede seguir siendo verdad. Resultados múltiples activos. Es eso muy importante para que múltiples personas estén conectadas la base de datos simultáneamente. Pero como puedes ver, esos ya están ahí y ya están fijados la verdad. Entonces las dos partes que quiero enfocarme en mí y son la fuente de datos en el catálogo inicial . Una vez más, fuentes de datos el nombre o la dirección fuera de la máquina que tiene la base de datos en el catálogo inicial sería la base de datos. En una empresa sentada, probablemente te cierran por seguridad, ya que en el acceso a esa base de datos central estaría medido por la seguridad. Entonces en otras situaciones, que año subió por idea de usuario y una postura dentro de la cadena de conexión para poder comprometerse . Pero eso es para una fecha posterior. Entonces ahora mismo tenemos un local. Tenemos nuestra cadena de conexión. Se guardará en el archivo hasta el conflicto para que puedas ver arriba. Doc config es uno de los incendios que conseguimos con nuestros proyectos, por lo que se modificará toe tener esta cadena de conexión, pero podemos dar click siguiente, y luego podemos elegir lo último en palabra diferente. Eso está bien. Hacemos clic siguiente otra vez. Ahora. A esta pantalla no se nos pregunta qué objetos queremos importar a nuestro modelo desde la base de datos. Entonces si caigo en tablas, voy a ver todas las tablas listadas en una base de datos, que está todo fuera de la herramienta que acabamos de crear. Por lo que puedo un palo mesas. Entonces si tenías más tablas o estás usando otra base de datos cualquiera de otras tablas, quieres todas las tablas, tú tablas de teca, quieres todas tus vistas musicalmente. Quieres todos sus terceros trámites. Tú los llevas. Sea lo que sea en la base de datos, este modelo de marco de entidad es capaz de importarlo y ponerlo en el contexto fuera de su proyecto . Muy bien, así que voy a tomar mesas en dejo estos ajustes por defecto, nota el nombre fuera del nombre Coche espacial intermodal. Eso está bien re clic acabado, y luego se va a seguir adelante y hacer su magia. Entonces una vez que termine de hacer eso, cargando cualquier creación y vemos nuestros modelos. Entonces déjame tomarme un tiempo para explicar exactamente lo que estás viendo aquí. Si estás familiarizado con el diseño de la base de datos, entonces estás familiarizado con los diagramas y uno de los diagramas como muy importante sería el diagrama de relación de entidad. Por lo que el diagrama de relación de entidad muestra, ya sabes, como una representación visual fuera de tu tabla, los campos de ahí, Tal vez los tipos de datos en cierta medida en también cualquier lanzamiento son barcos entre cada tabla cada tablas y entidad on. Entonces tienes las relaciones entre ellos. De ahí el diagrama de relación entidad nombre. Ahora bien, si estás mirando esto y estás familiarizado con lo que se ve un drd el nuevo aviso que esto se ve igual a cualquiera ya tengo las dos entidades en mi base de datos son las dos tablas. Andi. Veo la relación entre ellos. Al hacer click, esta línea va a resaltar que el yo d en tipos de autos está relacionado con tipo off car I d. En ella también te muestra que puedes acceder directamente a los datos dentro de tipo de auto a través ese se meterá en eso más adelante. Pero el punto es que el modelo te está dando acceso directo a las tablas dentro del contexto off C sharp. Entonces una vez que hayas agregado este modelo y llegues a este fuego, te animo a hacer una construcción sobre la construcción se puede hacer usando el teclado, tiburón , avena, control turno y ser, O simplemente puedes ir a construir sobre soluciones de construcción. Entonces es lo mismo, Pero en realidad no estás iniciando la aplicación. No es necesario iniciar la aplicación. Solo quieres hacer control, cambio y ser Deja que todo vuelva a compilar para que todo lo sepa. De acuerdo, Ahora la conexión de base de datos está ahí. Muy bien, Así que una vez que hayamos visto eso, tenemos una construcción exitosa y podemos proceder con el resto fuera de nuestro desarrollo antes. Muy bien, cualquier cancha que quiero sólo pasearte por este diagrama y observando. Necesidad de saber. Entonces voy a dar click derecho en el espacio vacío Click Properties on, entonces voy a decir Todo bien. En los inmuebles, tenemos dos noticias muy importantes. Una más importante, se irán. Por lo que tenemos el nombre del contenedor de la entidad, que se llama Khar en entidades de remolque. Y luego tenemos nombres espacio llamado modelo de alquiler de autos. Entonces siempre que necesitemos acceder a nuestros modelos de datos aquí, necesitamos saber para estos dos nombres, está bien. Cuando llegue ese momento, verán, sin embargo, otra cosa importante que quiero señalar. Vamos a la solución Explorer. Y luego ves que se te agregaron algunas referencias. Ves, se agregó el nuevo archivo y ves que también son archivos de clase con los mismos nombres que las tablas. Por lo que estos archivos de clase se generaron en realidad por tabla. Por lo que ves actual grabo punto CS Cuando haces click en él, lo miras. Se generó otro. Cuando lo miras, se ve justo como un C agudo plus. Entonces el punto es que cuando queremos obtener datos o insertar datos son manipular los datos estaban literalmente haciendo todo eso. Karen interfiere, llamado delincuente. Te fijas más tarde pero una interfaz llamada Link que interactuará con estas clases más nativas C afiladas en una vez que estamos interactuando con ellos en realidad estaban interactuando con nuestra base de datos. Entonces, Idi oh dot net nos da un poco agradable interfiere dedo del pie taconico nuestra base de datos sin necesidad de realmente toe worry boats, sq y otros tipos fuera de dialectos que serían necesarios para ese tipo de operación. Pero podemos mantener todo homogéneo y todo luciendo como c acorde afilado. No, Lo último que vamos a hacer en este video es en realidad muy relacionado con los datos. Y ese es el inserto, algunos valores por defecto para que cuando empecemos a conectarnos a la base de datos, no tengamos ningún problema. Por lo que note que necesitamos especificar el tipo off car desde o forma. Entonces lo que queremos hacer eventualmente es tan atar, vamos al diseño, queremos enlazar los elementos que están en esta lista del dedo del pie lo que hay en la base de datos. Entonces fuimos al dinero o nos bajamos tomando estas zanahorias, yendo a editar artículos e insertando estos. Lo que quiero hacer es tener estos en la base de datos si más de estos son menos que estos. Pero estos valores, no los quiero duros codificados, porque si el Honda es viejo mañana, quiero poder controlarlo desde la base de datos en lugar de tener que entrar en el diseño cada vez y cambiar esa opción. ¿ Verdad? Entonces, ¿cuánto vas a limpiar a estos viejos de aquí de la selección. Haga clic. OK, encendido. Entonces voy a ir a mi base de datos y luego voy a insertar estos valores en esa tabla. Perdón. Haga clic en las mesas, se expanden. Doy click en tipos fuera de autos, click derecho en Ser atrapado cualquier top 200 filas. Por lo que más adelante, en realidad desarrollaremos una interfaz que permite a hermana gestionar los tipos de autos en los días de esto. Pero por no, sólo me humor y los ató de forma manual. Entonces tenemos a Honda. Tenemos a Lada. Tenemos a Bogey Onda, un Toyota. Esos fueron los valores que tenía en mi forma para los tipos de autos. Entonces tenemos Honda, Lada, Bogey y Toyota. Esos son los tipos de autos en nuestra base de datos. Entonces en su siguiente video, realidad volveremos a nuestro código detrás en Ejecutar una consulta que recupere los tipos de autos en, luego lo une dedo del pie en la lista de artículos disponibles dentro de nuestra humilde caja en. Después seguiremos adelante y veremos fin de semana Hoe, recolectaremos datos y presentaremos a la base de datos 22. Ejecutar una consulta selección con LINQ: Oigan, chicos. engaño o actividad previa fuera de agregar o modelo de datos a tu proyecto, sabremos, sabremos, procederemos a empezar a ejecutar consultas, toe recolectar datos de nuestra base de datos y algún todo presentado en nuestra aplicación. Por lo que nuestra primera actividad es lidiar con bien existente sí. Por lo que tenemos No, Tenemos datos en nuestra tabla. Lo ponemos ahí en la mesa de tipos off cars donde tenemos cuatro autos. Toby seleccionado de en el objetivo aquí es dedo del pie modificar nuestra lista para el cuadro desplegable en comprarlo directamente relojes del dedo del pie, escuela de la base de datos. Entonces entré en el diseño. Fui a editar átomos y derecha. No, no hay nada dentro de tipo off car en su vacío, y eso es solo verificar lo vacío que está. Entonces estoy mirando la aplicación en sí, y ya ves, no hay nada ahí dentro, así que la expectativa es que después de apagarse, nuestra operación vea los autos ahí dentro. Está bien, así que déjame cerrar eso, ir a la cancha atrás, y entonces podremos empezar. Entonces lo primero que quiero hacer es crear un objeto que represente nuestras fechas en modelos. Entonces recuerda detenido que aquí hay algunos nombres que necesitamos. Toe conoce Irak. Haga clic en propiedades de agua en. Entonces necesitamos saber el nombre de nuestro contenedor de entidad, que es auto en remolque. Entidades. Correcto. Por lo que en el juzgado, atrás bajo lo público, parcial y justo por encima del control. El constructor. Perdón, voy a entrar privados en, Say, Say, lee sólo algunos declarando un objeto fuera de las entidades de alquiler de autos tipo. Por lo que este objeto encarna toda esta especie es todo el espacio que estás mirando todo el diagrama. Toda entidad representada en el diagrama está encapsulada por las entidades de alquiler de autos tipo. Por lo que al hacer referencia a las entidades intel de autos dándole un nombre de objeto voy a llamar a entidades de Parenteau sin Vamos. Ver, en día fui dedo del pie solo a semi colon en entonces Así que este objeto me va a dar acceso a cada entidad que está dentro de mi modelo o a cada mesa que hubiera insertado en el modelo. Muy bien, Así que de nuevo en registro detrás de lo siguiente que quiero hacer es en realidad inicializarlo. Entonces esta es una declaración, pero no está inicializada en este momento. Esto no es derecho. Entonces solo voy a decir que las entidades de alquiler de autos es igual a una nueva instancia off en las entidades de renta de autos . Tenga en cuenta que Vier no funcionaría aquí. No se puede ser partes claras de una clase hasta ahora. Está bien, Así que puedes hacer variables. Por el momento no podemos hacer propiedades fuera de una clase por lo que esta es una propiedad privada fuera de nuestra forma . Muy bien, así que una vez más, hemos declarado una propiedad privada fuera de las entidades de alquiler de autos, siendo las entidades de renta de autos el nombre de toda nuestra base de datos modelo. Está bien, encendido, entonces le doy el nombre del objeto con el mismo nombre, solo con una vista común en Dhere en el constructor. Solo estoy inicializando es toe una nueva instancia. Entonces ya no se sabe que es Greedo porque, no, no se está usando. Pero no te preocupes por eso todavía, ¿no son ahora lo siguiente que tengo que hacer es la figura de la esperanza es? Voy a recuperar los datos de la bestia de datos para que esté presente para cuando salga la forma. Por lo que la expectativa es que cuando abrí esta aplicación de cargas de forma sobre lo hizo se cargará con la lista desplegable totalmente equipada con los datos que necesita para llevar a cabo la operación. Entonces eso significa que necesito toe consultar la base de datos, obtener la información de la base de datos, Tenerla presentada en el formulario. Todo eso. el momento en que el usuario estaría listo para hacer clic en el cuadro desplegable. Entonces voy a agregar lo que llamamos eventos de carga de granja. Yo sólo estoy tomando el aviso de formulario. Doy clic en forma en la caja misma, o se selecciona el lienzo en sí. Y luego va de propiedades. El rayo encendido, va a buscar el evento de Lord. ¿ Ver? Entonces yo quiero que pase algo cuando se cargue el formulario. Entonces cuando los señores de la granja, quiero ejecutar esa consulta muy rápidamente. Está bien, entonces voy a generar una defensa formal. Sólo me quieren quedar así en eso. Y está viendo la forma uno en el marcador, Señor. Entonces, ¿viendo qué quieres que suceda cuando los señores de la forma? Entonces cuando el formulario se cargue una vez más, quiero consultar la base de datos, así que voy a decir algo. Tengo autos ire es igual dedo del pie, así que estoy declarando alguna variable llamada var. Yo lo estoy llamando autos lo siento alguna variable fuera tipo de nuestro llamarlo autos on, entonces necesito asignarle algo sobre lo que pretendo asignarle es registros de la base de datos de la tabla tipos fuera de autos. Entonces cuando declaré esta entidad arriba aquí, o este objeto más bien fuera tipo auto en entidades, esto representa mi beat obeso, Así que puedo ver entonces entidades de alquiler de autos encendidas. Después usa mi objeto primo doctor para que pueda usar mi no operado para ver las propiedades que hay en. Y cuando diga dot te darás cuenta de que tengo mi mesa siendo hecha referencias de registros de alquiler de autos . Si vuelvo a mi base de datos en Look Car en otro registro era un nombre fuera de la mesa, pero entonces tiene muchos registros. Entonces esa es una de las cosas entre el modelo hace por defecto intenta plural ojos los nombres de las tablas porque, quiero decir, lo llamo un nombre de tabla actual nuestro registro, pero realmente nuestro sistema actual o de registros. Por lo que realmente debería haberle llamado auto a los registros. Pero eso está al lado del punto. El hecho es que usando a mi hija operar, puedo acceder a esta mesa. Entonces esa no es la mesa que quiero, sin embargo. Quiero tipos de tipo fuera de autos. Muy bien en. Entonces. Quiero esto en el formulario fuera de una lista en algún lugar para decir que la lista del dedo del pie abre y cierra paréntesis en DSO. Lo que esto está haciendo es usar un lenguaje o un mecanismo que llamamos Link, por lo que es un C nativo agudo, pero la biblioteca de la que es se llama Link on. Es una buena forma de base de datos Korir usando acorde agudo C nativo. Por lo que una vez más, habría establecido básicamente, por instancia fuera de una conexión a mi base de datos a la declaración fuera de esta propiedad. Lo inicializé en el constructor que eso es todo lo que los constructores son para las cosas inicializadas . Nuestro ISI inicial inicializa componente ahí. Bueno, im inicializando mi base de datos a una nueva instancia el. Entonces, cuando quiero llamar en la base de datos, utilizo esos objetos que previamente se declararon e inicializaron su sin operador en. Entonces puedo acceder a mi mesa y luego básicamente, eso es todo. Entonces si estás acostumbradopara dit temprano, eso es todo. Yo sólo estoy convirtiendo en nuestras listas. Quiero en una fecha específica a la que he llamado a una C lista afilada. Por eso tengo la lista para. Entonces si estás acostumbrado al desarrollo de bases de datos, esto es lo mismo que decir Seleccionar estrella de tipos fuera de autos. Pero entonces esto es SQL. Esto no es nativo C. Sharp Soto poder escribir este tipo de SQL habría tomado muchas más líneas en. ¿ Sabes, tendría que inicializar un lector de datos que una tabla de datos para llamarlo los objetos y un montón de cosas. Pero Link lo hace tan fácil porque solo se llama el modelo de base de datos. Enciende la mesa entonces, si lo quieres en una ciudad listada para listar, y es más fácil simplemente decirlo a esto porque eso es un más universal en el momento en adelante, es más fácil maniobrar con. Entonces sepan que tenemos la lista fuera de autos almacenados dentro de para autos variables. Tenemos que ponértelo. Entonces lo que quiero hacer, una vez más, es cuando se carga la granja, que se va a incendiar. En este evento queremos obtener la lista de autos de la base de datos en, después que el cuadro combinado los muestre. Muy bien, así que el siguiente paso es ver Llama a nuestro cuadro combinado en un coche tipo CB apagado Encendido. Entonces vamos a decir este avión miembros. Entonces ahí dos propiedades que vamos a establecer. En primer lugar queremos establecer el miembro display en eso Eso va a ser igual nombre del dedo del pie. Por lo que este miembro de la obra es un texto que se ve, Art. Entonces recuerda que cuando lo hicimos configurar la manera ajustando los ítems y tú verías el texto Honda, veríamos el texto Toyota, etcétera. Este miembro de juego es el texto que se ve en. Entonces si miras hacia atrás el diseño de tu base de datos, te das cuenta de que yo d es 1234 No quieres que la persona esté viendo 1234 Eso no significa nada para ellos. Pero el texto que quieres que vean es el nombre Honda Lada cuerpo Toyota. ¿ Verdad? Entonces nombre es el miembro de visualización en el valor que nos interesa sería el i d. Así que tenemos miembro de valor, ellos muestran miembro, y usted tiene miembro de valor porque en realidad es el valor que queremos almacenar, no la pantalla. Una vez más, tenemos un auto dentro de nuestra tarjeta que tiene un tipo off car i d off tipo en, lo que significa que solo queremos almacenar la idea asociada al tipo de auto. No necesitamos volver a saber el nombre porque por eso creamos la tabla para solo almacenar los nombres en el I. D. S. Así que una vez que hacemos referencia a eso, yo d. Del actual Grabo, podemos mirar atrás y ver eso. Ah, si fuera yo d tres, entonces sabemos que es bogey o la persona selecciona bogey. Queremos almacenar yo d tres en el disco. Muy bien, Entonces el miembro de valor sería lo que pretendes almacenar realmente, y eso está en el fondo justo en. Entonces, después de sentar esos dedos, voy a ver que la fuente de datos para los ítems que se van a poner en el cuadro combinado para que el tipo C B de fuente de datos de tarjeta vaya a ser autos iguales del dedo del pie. Entonces, repasemos por esto otra vez. Soy cantera en la base de datos para la lista fuera de autos. Y luego digo que quiero mi cuadro combinado, cualquiera que sea la fuente de datos que obtenga, lo que sea el poco de la toma. Es sólo buscar un miembro de exhibición para un nombre, dijo el miembro de valor para ser I. D. En entonces dijo la fuente de datos, para ser los autos. Entonces cuando saqué la lista de autos, todos vienen con idee y nombra a alguien para mostrar el nombre fui toe store el i d on d me voy dedo del pie set que esta lista fuera autos con idea y nombre debería ser la fuente de la lista fuera artículos que entran en este cuadro combinado. Entonces empecemos y veamos cómo funciona eso en Douala. Entonces, no, estás viendo una lista de artículos para nuestro formulario o cuatro o desplegable. Entonces recuerda, limpio el foso antes, así que cargó. Ahí adentro no había nada. No, estás viendo que en realidad los datos están ahí en este dato viene directamente de la base de datos. Y para demostrar que voy a cerrar esa ventana, ve a la base de datos en un auto más. Por lo que agregamos un auto más arrancó flota en este es una super regla. Está bien, entonces, no, tenemos cinco autos en nuestra flota encendido voy a volver a ejecutar, y cuando miremos en la lista, la expectativa es que vamos a ver al Subaru. Eso fue solo un poco Así que ese es tu primer paso para conectarte a tu base de datos. Entonces, solo repasemos lo que hicimos. Configuramos ah, Farm Lord eventos porque nos damos cuenta de que hay ciertos datos provenientes de la base de datos que necesitan estar presentes en nuestra forma para el momento en que se carga la forma. Por lo que después de inicializar una conexión a la base de datos a través del uso off, se hace referencia a mis objetos que modela las entidades. Por lo que tenemos nuestro modelo en t. Inicialicé en objeto fuera del tipo fuera de ese modelo de entidad. Muy bien, entonces el claro tapir lo inicializó aquí en. Entonces me di cuenta de que necesitaba datos de esa base de datos antes de que se cargara el formulario. Entonces configuré ah form Lord evento que preocupaba a la mesa. Ecologista basado en Onda hizo los pasos iniciales para encender el cuadro combinado. Por lo que estos pasos son más o menos universales. Esto no es único al hecho de que estoy usando el modelo de entidad y esto y que Así es como configuras un cuadro combinado para heredar de una lista de elementos, ya sea una lista estática, nuestra lista proveniente de la base de datos por lo que son usando Link o estás usando los otros métodos que existen. El hecho es que así es como los datos se unen o compran los objetos a su controlador son a su cuadro combinado. Más bien. De acuerdo, así que una vez más, corrimos o Corey consiguió una lista de autos de o base de datos literalmente. Si lees de leer una lista que queda que empezó a ver, Dame una lista fuera de los tiempos fuera de los autos de la base de datos en Almacenarlo en esta variable on. Entonces, más adelante, decimos que queremos mostrar el nombre Onda y almacenar el I D encendido. Entonces la fuente de datos debería ser de la lista fuera de los autos que acabamos de retirarnos de la base de datos. Y así cuando se carga nuestra forma, vemos que está corriendo esa cantera en conseguir todos esos datos. Si quieres poner nuestro punto de descanso aquí en la aplicación de reinicio y sólo tienes que ir paso a paso para ver exactamente qué pasa, solo para estar seguro, entonces puedes sentirte libre de hacerlo. Pero ese es nuestro primer paso para conectarnos a la base de datos en el siguiente video, estaremos mirando la esperanza al hacer click. Presentar grand. No. Todo lo que hacemos cuando hacemos clic en enviar es, ya sabes, mostrar la información la próxima vez que queremos realmente guardarla en nuestra tabla de registros de alquiler de autos. Entonces eso es todo lo que estaremos haciendo en el próximo video. 23. Guardar los datos introducidos en el formulario: Oigan, chicos, en este video estará construyendo toda la funcionalidad para guardar nuestros datos de formulario en la base de datos. Entonces, hasta ahora, lo que hemos logrado fue que construimos nuestra base de datos. Uno, importamos un modelo de datos a nuestros proyectos para representar nuestra base de datos sobre Ben. Miramos cómo realmente invocamos una conexión a la base de datos. Por lo que en nuestra lección anterior, habríamos inicializado los objetos que conecta la base de datos de la tienda. Hicimos una referencia o lo declaramos, y luego inicializamos en un constructor el. Entonces no lo hagas. Aquí en una granja una función lord, habríamos corrido nuestra primera consulta usando link. Andi. Entonces solo te estoy mostrando que esto es lo mismo que cosas como estrella de tipos fuera de autos. Eso es lo mismo que esta línea en. Entonces solo sentimos el cuadro combinado con una lista fuera de los autos en la base de datos. No, La expectativa es que al hacer clic, enviar en destruir una vista previa fuera del formulario. Al hacer clic envía, La expectativa es que vamos a estar guardando el detalle que se ingresó del pie nuestro formulario. Está bien, entonces voy a modificar el cuarto de bit Así que tenemos un click de botón eventos que hemos estado usando toe. Obtener los datos del formulario. Muy bien, Y luego hacer algunas validaciones en. Entonces si es válido, entonces mostraremos un mensaje. Si no, entonces mostraremos. Ah, bueno, si su valor que con mostrar un mensaje favorable. Si no lo es, entonces mostraremos mensajes de error. Está bien, entonces lo que vamos a hacer es modificar la porción es válida. Entonces si es válido y quiero guardar los datos en, entonces puedo mostrar el mensaje. Si no puedo ver si los datos, entonces claramente no quiero mostrar el mensaje. Entonces cuando queremos guardar datos, necesitamos declarar un objeto fuera del tipo off legacy, obedecer, pegar y experimentar. Entonces cuando vuelva a mi modelo, así que si sabes que cerró el modelo por accidente, está bien. Simplemente vuelve a solución exper Y luego ves que ese archivo e d m X segundo es doble . Haga clic en eso y relanzar su modelo, ¿verdad? No. Cualquiera que sea el nombre de las cajas, suele ser mucho. ¿ El nombre está fuera de la mesa? Está bien. Por lo que se ve la caja Ahí, se ve actual en registro. Verá, éste es tipos fuera de auto. Y si miro en la solución Explorer, si dejo caer el e DMX el archivo ah, entonces verás que tienes un punto CS filtra su tabla. Por lo que tienes registro de intel de autos y tienes tipos fuera de autos, no tipos fuera de auto. Perdón. Por lo que esos archivos representan archivos de clase que representan su tabla. Estas son clases que están fregando directamente cada campo de tu mesa para que cuando hicimos el auto todo el registro, sabemos que nos configuramos en yo d nombre del cliente, el rentado, todas las tarifas son ponemos en la base de datos me acervo aquí en nuestro expediente de clase. Entonces lo genial de este proceso y el uso de Lincoln video dot net es que puedo crear un nuevo objeto fuera de este tipo de clase on, Entonces puedo guardar este objeto en la base de datos. Muy bien, así que vamos a pasar por este paso a paso. El primero que quiero hacer es en el bloque que es válido. Quiero declarar un nuevo objeto que voy a guardar. Nuestro récord de Parenteau es igual a una nueva instancia off car o cancha intolerante. ¿ Verdad? Entonces una vez más, esta clase directamente mucho es el auto tabla de discos Intel que creamos Aquí están todos los campos que están disponibles para nosotros el día directamente, mucho las columnas que están en nuestra base de datos, lo que significa que necesito para llenar estos campos con los datos que pretendo almacenar dentro campos de la base de datos. Está bien, Entonces, Bueno, todos ellos con la excepción apagada, lo haría porque creamos yo d para ser incrementos de auto. No necesito proporcionar un valor para I d. pero costo nombre alemán se va a introducir en el formulario. Ellos irán al diseño. Costa, se va a introducir mi nombre en el formulario en el juzgado. Detrás ya estaban recogiendo el nombre del cliente en los sirios en un nombre de cliente variable en dso. Lo que voy a hacer es intentar fregar los valores que se almacenan en esta variable Muppet en remolque, mi nuevo inter record off type car en registro. Está bien, entonces sé que tengo un objeto que representa mi mesa. Voy a ver que el registro de renta puntea campo de nombre del cliente. Por lo que el campo nombre del cliente en mi tabla debe saber tener el valor del nombre del cliente que acabo de recoger de mi formulario. Está bien, así que una vez más, esta es la mesa. Este es el cuadro de texto. Perdón. Almacenar el nombre del cliente en las formas de viento Estoy recogiendo el texto sobre. Lo estoy almacenando en mi local ¿Muy porque nombre del cliente? No, no, que he recogido localmente. Yo quiero empujarlo a través de la base de datos. Voy a declarar un objeto fuera de la mesa que pretendo llenar con los datos. Y luego voy a decir que este campo de objetos llamado nombre del cliente que fregona directamente campo de la base de datos. Quería tener el valor proveniente de mi aplicación de formas de viento. Muy bien, entonces. Yo quiero repetir ese proceso para todos los demás o registro de alquiler atracado teatro impreso va a ser igual a ¿En qué campo? ¿ Qué tengo? Almacenar datos rentados siendo valor parentado se está almacenando en mi fecha variable. Avena. Entonces no puedo nombrarlos deliberadamente bondadosos con poca intensidad para que pudieras ver la diferencia y no confundirte. Por lo que los datos rentados se va dedo del pie tienen el valor que se almacena dentro de fuera de fecha avena justo de la misma manera. En detalle de control ajustado duplicar esa línea. ¿ Regresó? Se va a tener el valor que se está almacenando en él en. Está bien, así que solo construyes oh, a tu modelo. Por lo que para cada campo para el que pretendes almacenar datos en tu base de datos para siempre sentir que no está presente en tu objeto, solo los sientes sobre los datos correspondientes para ello. Por lo que el muelle de registro de renta está encendido. Entonces la siguiente será costada. Eso es igual dedo del pie mis costos variables en. Entonces el final son los datos del auto. Entonces, no, tengo un pequeño error aquí con mi costo. Entonces estoy almacenando Costas doble, Pero entonces el tipo de clase es decimal porque lo declaré como decimal dentro de mi base de datos . Muy bien, así que el costo es distante. Milla. Está bien, déjame ver. Ah, podría haber usado float así que podría cambiar el tipo de datos aquí solo para hacerlo bien, pero probablemente sea más fácil. Acabo de costar Está aquí, así que probablemente pueda ver algún punto decimal esta noche y luego sólo voy a hacer una parsa desencarweled hasta partes en ellos el análisis cuestan todos los derechos y eso va a despegar aquí. De acuerdo, un ligero error de cálculo ahí que no se ocupó de eso porque la función piratas está esperando una cadena a diez centavos que pasa en un doble. Entonces vamos a volver a reunir nuestros pensamientos. Creo que tal vez pueda usar un costo implícito aquí y solo ver esto en milla que ver si eso funciona. Entonces a veces en realidad se puede hacer una luz de casting Esto Así que miramos otras dos formas de hacer casting. Puedes hacer tipo de datos, análisis médico o puedes ver convertir punto a encendido. Utilizamos una de esas funciones. Aquí hay otra forma de hacer nuestro casting. Por lo que acabas de utilizar Prentice es el tipo de datos al que quieres costar el dedo del pie. Entonces el valor viene después, escribe esto funciona a veces tan situacional. Simplemente encuentras el que funciona en ti. Muévete, a la derecha. Entonces sepan que tenemos el costo sobre el valor final que necesitamos para entrar a nuestra mesa, que está viniendo de o ganar formas sería el tipo off car I d. derecha. Entonces el tipo de auto I d es un entero porque es el valor de clave externa que necesita el tapete vuelta al valor de clave primaria fuera del auto, que es 12 el 12345 basado en los datos que tenemos aquí. Entonces ya sabemos que estamos cargando el cuadro combinado con el nombre en el I D. Pero lo que estamos recolectando del cuadro combinado es el texto. Entonces si lo miro, realmente soy colecta en el texto. Necesito recoger el i d real detrás del cuadro combinado. Entonces para obtener el valor seleccionado literalmente, el cuadro combinado va dedo del pie tener una propiedad llamada valor seleccionado. Correcto. Por lo que voy a volver aquí abajo a mi tipo de auto me d encendido entonces quiero decir CB tipo off car. Entonces esta es mi propiedad de cuadro combinado. Perdón. Este es mi control de cuadro combinado. ¿ Verdad? Y luego digo punto Entonces voy a ver que hay una propiedad que es un volumen seleccionado para que pueda desplazarse por si no estoy seguro. Ho para empatar a la gente valor seleccionado, está bien. Y luego piensas que eso es todo visiblemente flotar sobre él. Ya sabes, es que esto es solo un tipo de objeto genérico, y estamos tratando de insertarlo en un entero para que podamos usar otra conversión de tipo de datos implícita . Sólo estaban el corchete abierto. Dame un inter presente asiático off. Cualquiera que sea el valor seleccionado en el valor seleccionado una vez más sería cualquier valor que se marque dedo del pie el ítem que se seleccione en base al hecho de que tenemos valor miembro siendo I d . Está bien, Entonces lo que voy a hacer es crear un punto de descanso sobre el es válido, y luego voy a correr. Entonces vamos a dar un paso y sólo ver sostener nuestra mesa. Objeto se llena viejo. Está bien, Así que siento a la hija. El nombre del cliente es costo del usuario de prueba es de 25 conjurados. Déjame cambiar fechas para que no violemos ninguna fuera de la validación el. Yo quiero ir con cuerpo, alguien a quien dar click, nos sometemos pegado. Nuestro punto de ruptura es válido es cierto. Por lo que sólo podemos usar f 11 para dar un paso y luego vemos aquí uno que estamos declarando sobre objetos que representan nuestra mesa. Muy bien, entonces no, hemos declarado objeto. No, empezamos a llenarlo en entender a paso. No teclees auto I d on defy flote sobre mi objeto y acabo de perforar en Introduce Ver todos los valores costo Got set Test user God dijo que los dos días se pusieron dijeron el tipo de ideas de auto no puestas aún porque me detuve en esa línea. Entonces si presiono f 11 y va más allá de esa línea, entonces se puede ver que la idea de tipo off car es tres. Está bien, así es como se obtiene el i. D.real D. Eso es el valor que se seleccionó de la droga. Conocido una vez más. Eso es importante porque en realidad vamos a estar almacenando el I D. En lugar del nombre real fuera del auto no están en dso puedo expresar sus cinco Onda. Seguimos a ver nuestro mensaje de éxito. No, Cuando miro en la base de datos, no quiero ver los datos. Está bien, así que solo lo hacemos y lo aseguramos. Entonces cuando selecciono detener 1000 filas de esta tabla, no quiero ver los datos en esta tabla porque donde realmente no guardamos. Entonces llenamos la mesa, pero no hicimos nada con los datos con los que la llenamos. Entonces voy dedo del pie salir del libro más que entonces, vamos a terminar esperanza lo que necesitamos hacer. Entonces sepan que he llenado el objeto de tabla con todas las necesidades de datos. Sé que necesito dedo del pie, pasarlo a la base de datos en, luego guardar en eso. Eso son realmente dos pasos. Está bien, así que sólo voy a decir algo como Onda ellos. Simplemente me recuerdo fuera del nombre de los objetos de la base de datos. Por lo que Kyra entra en entidades que representa mi base de datos, algunas con solo un auto hasta que las entidades puntan entonces el nombre fuera de la tabla o colección fuera de registros de la tabla es Kyra hasta registros. Entonces digo punto otra vez anuncio número uno del dedo del pie. Y entonces lo que estoy agregando está en esperar sobre objeto fuera de registro de alquiler de autos. Adivina lo que tengo en objeto off car hasta tipo de registro en forma de para registro Intel. Correcto. Por lo que creé el objeto todo tu registro. Está fuera de tipo auto en registro. qué parte está la mesa? DSO Voy dedo del pie Añadir este objeto que acabo de construir acaba de terminar ya sabes, construyendo y poniendo todos los datos en. Sólo lo estoy agregando. Toe la colección fuera de registros para esa tabla. Muy bien, entonces. Yo lo voy a ver. Abismo. Quiero cambios de dedo guardar. Ahora. Una vez que hago esas dos líneas encendidas, luego hago clic. Vuelve a empezar. Voy dedo del pie Philo la forma. Asegúrese de que todo sea válido el. A continuación, haga clic. Presentar el. Entonces pasemos una vez más. Entonces solo voy a hacer F 11 a través de todas estas líneas y luego eso es relleno u objetos. Entonces si vuelvo a pasar el rato sobre los objetos, mira los datos que voy a ver que los realmente divertidos se sienten llenos. Ves uno sin Onda. Posteriormente, llegaremos a por qué eso es no y por qué no importa en su momento estaban creando el objeto están creando el registro. No importa que esto sea no y no importa que esto sea cero ya que estoy creando porque se va dedo del pie atrapado un incrementos de todos modos, justo en adelante. Después fui a F 11 así que no se pone las palabras de parte agregando a la colección que f 11 on. Entonces guardamos los cambios en luego pasa a mezclar líneas, ¿ entiendes? F cinco on. Entonces vemos nuestro Oh, son, son, ya sabes, mensaje de éxito y hacemos click. OK, pero luego vemos que vimos fuera eso antes de lo que buscamos eso es diferente. No. ¿ El registro real está en nuestra base de datos? Entonces si vuelvo sobre el dedo del pie esque UAL management studio on Die reerun esta plaza donde seleccionar los ítems de la tabla, entonces voy a ver mi registro en la base de datos. Y si miras, ves que tenemos uno como el i d. porque una vez más, auto incremente el nombre del cliente lo cual fue un mal intento de deletrear la palabra test en tenemos la fecha rentada la fecha, devolver el costo en el tipo off car i d on una vez más este i d mucho está de vuelta, por lo que sobre registros. Entonces yo tipo de yo d seis. Si no hay seis en, por eso atar el cuadro combinado como lo hicimos en el ex Lord. Por eso vincularlo es muy importante. Está bien, por lo que tantas veces como compañero, esta forma y poner información y presentar la expectativa es que va a crear un nuevo registro. Llenar el registro con los datos en, luego guardar. Está bien. En nuestro siguiente video, veremos construir viejas otras ventanas para que podamos ver,ya sabes, ya sabes, como los tipos de autos que hay en la base de datos así como los registros de renta en la base de datos. No estaremos diseñando ni bien en la lógica. Simplemente estará buscando extender el diseño fuera de nuestra aplicación de solo una granja a tal vez muchas formas. Puedo mostrarnos la fecha que queremos. 24. Crear formas adicionales y ventanas: en este video, vamos a estar buscando diseñar formularios adicionales en nuestra aplicación actual. Ahora, la realidad de la situación es que estamos escribiendo una solicitud para una corriente de negocios . Por el momento, tenemos un formulario en. Permítanme que lo suba rápidamente, y este formulario es realmente solo recolectar datos que van hacia la creación de registro de alquiler sobre. Seguro que si te sientas, pienso en eso. Hay mucho más en nuestra corriente de negocios, entonces solo, ya sabes, ya sabes, registrando el hecho de que alguien que nombró el costo ese día regresó y rentó el tipo de actual click. Entonces hay más en el negocio y que hay otras cosas que hay que hacer. No, el problema es que no quieres intentar hacer todo en un solo formulario, porque este es un formulario estamos usando este formulario para llamarlo nuestro auto en Tyler record. Por lo que las formas de ganar nos permite construir múltiples formas, y cada forma puede tener su propia, uh, funcionalidad sobre casi todas son autónomas, lo que significa que todos son capaces de actuar por su cuenta. Entonces en este video, sólo vamos a explorar lo que va a crear una forma completamente nueva, Onda Hole. Íbamos a lanzarlo desde otra granja. Entonces de vuelta en nuestro proyecto, vamos a hacer click derecho en nuestro archivo de proyecto en nuestra solución Explorer, recuerda dónde la solución y luego tenemos este proyecto, ¿no? Entonces tengo razón. Da click en el proyecto y luego voy a dar click. Agregar, entonces puedo ver nuevo artículo o puedo decir forma. De cualquier manera, voy a obtener el mismo cuadro de diálogo. Pero en última instancia voy por el formulario alguien para empezar con Nuevo ítem y luego en nuevo ítem, puedo buscar un formulario, pero luego puedo ir a las subcategorías a la izquierda y ver formularios de ventanas en. Entonces lo que voy a hacer es seleccionar la plantilla de formulario, que es un formulario de ventanas en blanco. Gana formas ex, y es así ver que obtienes un formulario en blanco, una plantilla en blanco. También es pedir un nombre, así que nuestra primera forma que habríamos iniciado el proyecto con lo que se llama forma uno. Eso no me dice realmente qué va a haber en ese formulario, ¿verdad? Entonces si tengo hasta 10 formas diferentes haciendo 10 cosas diferentes. No quiero formar uno para que forme tres. Trato nombrar mis formularios de la misma manera que trato nombrando mis controles. Entonces voy a construir esta nueva forma en. Voy a llamarlo yo y Ventana y pronto te explico por qué lo estoy llamando yo y ventana, porque en realidad voy a estar usando esta nueva forma para algo muy especial. Entonces lo llamamos yo y ventana y luego hacemos clic, agregamos, y luego un dedo bajo de estudio visual. Crea esa nueva forma y danos este nuevo lienzo CC. Se ve igual que todo forma una mirada antes de empezar a arrastrar sobre nuevos controles en tal ahora mismo el hecho de que lo nombramos en mí y ventana viene profundo por defecto con la palabra significado para abrir la barra de título. También notarás que el nuevo archivo se llama yo y ventana y cada otro archivo asociado con él también se llama yo y ventana. Yo sólo voy dedo del pie adecuadamente capaz de ello. Entonces solo voy a volver a mi diseño de formulario uno y sólo voy a copiar esta etiqueta. Solo estoy aburriendo esta etiqueta, poniéndola en la ventana principal. Entonces voy a cambiar el texto que hay en él. Por lo que acabo de hacer clic derecho se va de propiedades en. Entonces solo voy a cambiar el texto para verme y ventanas para que cuando se lance, sepa exactamente dónde estoy. Correcto. Entonces yo y ventana Lo siento, hombre. Ventana Ahí vamos también no quiero ventana media sólo se imprima así en camello cascarón en el en la barra de título. A lo mejor quiero algo más. Simplemente voy a dar clic en el formulario en sí, ¿verdad? Haga clic, vaya a propiedades en entonces voy a cambiar el texto que se está mostrando fuera de su cierta distancia para ver significa ser estafa Presione enter y luego eso se ve un poco mejor en los ojos ahora mismo Vamos a ver cómo se ve esta ventana media. Entonces cuando hago clic en iniciar todavía se va a lanzar el formulario uno. No, este es el Formulario uno. Hemos estado trabajando con el Formulario uno ahora tienen un nuevo formulario en. Me gustaría ver este nuevo formulario en la ventana. obstante, Noobstante, no necesariamente sé cómo llegar a ese formulario Así que necesito poner algo en la policía que me perdí para lanzar este formulario cuando lo necesite. Correcto. Por lo que al salir del barco amarrado con solo hacer click Detener. Lo que voy a hacer en el formulario uno es traer otro botón. Entonces les voy a mostrar cómo pueden ir a lanzar otro formulario desde un formulario lanzando otro formulario. Entonces tenemos forma uno. Siempre va a llegar a la forma uno por defecto. Pero quiero que cuando haga clic en este botón, vea otro formulario. Y en este caso, tengo ventana media como mi siguiente formulario o mi siguiente ventana que se puede mostrar, ¿ verdad? Entonces solo voy a ir a Toolbox, rápido, ir a mis controles, ponerme un botón. Sólo estoy poniendo un botón aleatorio ahí. Nada espectacular. Esto es sólo puramente experimental. Es sólo temporal, pero sólo quiero demostrar que me pasa el punto de que se puede lanzar ventana desde otra ventana. Entonces solo voy a cambiar una o dos propiedades en este botón on No lo dejes mar. Lánzame y ventana. Lánzame y ventana. Ese es el texto de este botón bien, por lo que este botón simplemente se supone que lanza la ventana principal en este momento. Tendría que hacer eso al hacer click. Entonces eso significa que si voy a esperar el dedo del pie inferior, haz algo cuando se haga clic que necesito unos eventos rápidos, ¿ verdad? Entonces, si terminas esa frase, no te faltan saludos. Por lo que hago clic derecho en mi botón, volver a propiedades el rayo en doble clic en la era arroyo. Entonces ahí, dos vías. Ahora solo puedes hacer doble clic en el botón que generará automáticamente un evento de click. O podrías hacer todo lo que acabo de hacer yendo a propiedades, Entra en el rayo y creando el evento de tic. Como dije antes, siempre trató de ser muy deliberado, está bien. No, tengo mi botón. Me di cuenta de que tengo pero nadie click aquí y luego tengo mas un guión bajo. Haga clic en Subrayar uno. Entonces ahí es donde vienen los nombres conflictivos porque no cambié el nombre de este botón en este botón también es pero nadie. Sé que son dos botones con nombres similares con eventos de click similares, así que una vez más es mejor si renombras tus controles. Está bien, así que tengo el evento click botón para mi nuevo botón encendido. Entonces sólo voy a escribir dos líneas fuera de la cancha que van del dedo del pie. Dígame o díganme el botón que cuando se hace clic, lanzó esta nueva ventana o se lanzó esta nueva forma, ¿no? Entonces voy a decir yo y ventana. Entonces recuerda que todo en C Sharp es una clase. Por lo que la granja uno es una clase. Si lo miramos, Formulario uno es una clase que está heredando de una clase base llamada forma, derecha. Si entro en mí y ventana, también tiene sus propios expedientes judiciales. Puedo hacer clic derecho en mí y ventana ir a ver cable on. Entonces voy a ver que esa ventana media también es una clase fuera de sí misma. Se me llama y lo sabemos porque eso es lo que llamamos el archivo. También está heredando de la forma de clase base, ¿verdad? Entonces, lo que necesito hacer para iniciar en instancia fuera de una ventana media es el declarar un objeto fuera teclearme y ventana. Entonces este soy yo declarando objeto sobre inicializar Es un nuevo yo y ventana derecho, recuerda y ve Sharpest. Por lo que inicializamos en objeto fuera de una clase en. Entonces voy a llamar a una función dentro de este objeto llamada Mostrar. Tan similar a agujero mostramos nuestra caja de mensajes siempre se dijo señora Box, no mostrar, derecha. Y entonces eso es lo que aparece del cuadro de mensajes a la pantalla. Si bien todo lo que digo aquí es que quiero una instancia fuera de mí y la ventana puesta. Entonces quiero mostrar esta ventana una vez creada el. Entonces solo discutimos el uso del virus. Podría simplemente salvarme ahí mismo en lugar de verme y ventana. El objeto es igual a derecho. Entonces tienes las dos formas en que puedes escribirlo, cualquiera que te sientas más cómodo, si eso está bien. Entonces no, las expectativas de que cuando haga clic en este nuevo botón, este experimento todo botón en este auto en la ventana del sistema, se lanzará ah ventana para la ventana principal o se lanzará fuera de la forma ventana principal. Entonces intentémoslo. Entonces eso empieza. Está bien. Por lo que tengo mi auto en remolque, forma arriba y luego hago clic en Launch main window. Andi, ahí vamos. Está bien. Entonces cuando hago clic, lánzame y ventana. Sí aparece solo un prisma y otro monitor nota que cada vez que hago clic, se va del dedo del pie. Ap up esto yo y ventana Así puedes hornear en alguna inteligencia en algún momento para ver si una instancia fuera de ella ya está abierta. Entonces no abras más, ¿verdad? Pero por no, vemos que podemos lanzar otra ventana en cualquier momento que queramos. Una vez que tengamos en su lugar la cancha adecuada. Ahora eso es más o menos para todo. Nosotros Global lanzando un formulario adicional a partir de una forma existente, entiende que Cerrar todas las ventanas Arkin dispersado Stop toe exit, debug mode. Todos juntos voy a hacer una cosa más en concordancia con las mejores prácticas que estoy tratando de promover en mi video. En lo que va de eso es el renombrar forma uno de Simplemente forma uno que CS porque, sí, fue la primera forma. Sí, fue lo primero que estaba ahí. Entonces por defecto, es la forma uno. No obstante, cuando empezamos a construir en otras formas, no quieres tener que mirar al experto en soluciones y adivinar que la forma uno es el auto en una ventana de la misma manera que solo podemos mirar esto y deducir que media ventana representa . Es decir, la ventana es la misma. Deberíamos poder mirar al hallado él para el alquiler de autos. Sé que es toda la ventana de registro del auto. Entonces voy a renombrar este formulario en cambiando el nombre de este formulario. Visual studio me va a permitir dedo del pie cambiar cada referencia a esta forma una clase lo largo de mi solución. Entonces el nuevo nombre, así que para renombrar, puedo hacer clic derecho en el archivo y ver Cambiar nombre en. Entonces lo voy a llamar registro de renta son Seamos más específicos impar registro Brent. ¿ Verdad? Por lo tanto, recuerda que esta ventana se trata de permitir o aún insertar nuestros informes completos. Son todo tu registro percenter entonces visual studio me está preguntando o diciéndome que estoy renombrando un archivo. No, está preguntando, ¿Me gustaría renombrar todas las referencias a la granja una en todo este archivo en? Voy a decir que sí. Yo sí quiero hacer eso y notar qué edad tiene un estudiante es refractarnos todas las referencias para mí para que cuando construyo control, turno y estar no haya errores en mi corte. Además, las mayores ventajas que cuando miro en mi solución Explorer, puedo directamente son detectar inmediatamente todos los formularios y para qué sirven no son así. Lo último que voy a hacer es buscar en mi programa ese archivo CS No. En nuestro programa ese archivo CS, tenemos todo el núcleo que se ejecuta, ya que en el momento en que se inicia el programa. Al hacer clic en iniciar lo que realmente sucede es ese estudio visual o se verá el motor aún programado archivo RCs, que ejecuta esta función principal. Entonces si estuvieras haciendo las aplicaciones de consola y estarías familiarizado con el hecho de que hay una función principal en todo momento justo encendido, entonces lo que hace se inicializa algunas estrellas visuales, algunas cosas de representación de texto. No lo sé. No me voy a sentar ahí y maestro donde estas dos líneas, sin embargo, sólo te aconsejo que si vas a moverlas, asegúrate de saber lo que estás haciendo. De lo contrario puedes dejarlos solos con uno que puedes modificar es aplicación dot run donde se está ejecutando en la comprensión de una nueva instancia off. Bueno, acabamos de cambiar el nombre de forma un dedo después de registros enteros. Entonces lo que pasa es que cuando haces clic en iniciar, lo hace. Esta línea hace esta línea en. Después corre una nueva ventana de un torrente que grabo, razón por la cual esa es la primera forma que aparece. Entonces sé que tenemos una forma de ventana media que queremos hacer la ventana de aterrizaje para nuestra aplicación enter. Podemos cambiar esto de enunciado. Me graba y ventanilla No, Lo que ha estado rematando está arriba. Cuando el programa se ejecuta, se va a poner en marcha las ventanas medias. Entonces intentemos eso. Por lo que hago click. Empieza en. Lo que surge primero es la ventana media, Muy bien, entonces, no, el siguiente nosotros que tenemos es transformar sobre toda la aplicación en lo que llamamos una interfaz multi documento o una M D. Yo aplicación, donde nuestra ventana principal con orificios tira de menú que nos permite ir entre todas las características en las respectivas formas que se necesitarán para soportar una funcionalidad para esta aplicación . Otra funcionalidad incluiría tal vez, como un archivo fuera de todos nuestros registros completos. Muy bien ahora, sólo estamos agregando, pero no los vemos a menos que vayas a la base de datos, no quieres enviar personas a una base de datos. Se quiere que la gente pueda verlos en la aplicación. De igual forma, necesitamos poder gestionar lista de autos en. Hay otras cosas que tal vez queremos hacer en nuestra aplicación actual que no podemos hacer bien? No. Yo también lo soy. Y sabemos que no será la ventana de aterrizaje ni el 1er de que se lance para mostrarnos todas nuestras opciones a partir de entonces. Al hacer clic en cada opción, lanzaríamos el formulario respectivo para esa característica. 25. Crear una aplicación MDI: En nuestro video anterior, comenzamos a hacer algunas modificaciones al piso para su aplicación. Lo más notable, el hecho de que creamos una nueva ventana son Neuf forma win on. Después establecemos It's Toby, la forma inicial que se lanzará cuando comience nuestra aplicación. Por lo que cuando hago clic en iniciar Onda, estabamos tradicionalmente veríamos la forma off actual. No, estamos viendo por encima de mí y ventana. Entonces no, necesitamos comenzar a transformar la ventana media en una ventana media real y un contenedor. Empezamos a mirar el concepto fuera de interfaces de múltiples documentos. Y así es lo que vamos a hacer en este video. Voy a relanzar mi y el diseño de Windows y voy a quitar esta etiqueta en. Yo sólo voy a conocer esta media ventana un poco más grande, así que siempre puedo solo ya sabes, yo solo el ancho son lo natural con fuera de la ventana con una altura despegada. Peor aún, arrastrándolo están por, ya sabes, expandiéndolo lo están colapsando como en consecuencia. No, Lo que quiero de la ventana media es poder lanzar otras ventanas. Y ahora mismo realmente sólo tengo uno al otro. Pero ya sabes, estamos construyendo una aplicación completa estoy seguro si la dibujaste o conceptualizaste, puedes imaginar que hay unas cuantas ventanas que probablemente necesitaremos construir antes poder tener un aplicación que probablemente va a vender. Remolcar un auto, Interagencia. Ahora vamos a meternos en la carne fuera del asunto. Entonces lo que quiero hacer es ir a mi caja de herramientas on. Voy a querer un menú. Entonces voy a traer encima Ah, muchas una tira en el día. Yo sólo lo voy a agregar a la parte superior aquí. Y entonces este ministerio me permitirá empezar a construir un menú. Entonces al igual que con la mayoría de las aplicaciones de Windows, ya sabes que has archivado tener vista de editor. Es por etcétera. En realidad estoy usando la tecnología CME que te usan este tipo de menú fuera que es la tira de menús , ¿ verdad? Entonces yo sólo estoy arrastrado por esta tira de menú en ese entonces. No, me está permitiendo empezar a escribir las opciones de menú que tengo para poder decir gestionar listado de vehículos . Está bien, así que eso es como quiero decir, ya sabes, ese será mi expediente y cualquier Tampa multinivel. Por lo que para el siguiente nivel, voy a tener añadir vehículo. Voy a tener quita vehículo tal vez, um, um, y es vehículo Onda vista listado. Muy bien, así que esas son las muchas opciones que imaginé para el manejo fuera de los vehículos. O sea, medida que vayas con probablemente se lleve también a Olga, porque tal vez podamos conseguir al menos tres de descuento. Estos no lo hacen de un solo formulario, pero por no, solo te estoy mostrando que Eso es lo que puedes hacer para construir un menú, verdad? Entonces eso es dinero en la lista de vehículos en. Entonces voy a decir dinero para rentar nuestros discos justo en. Entonces el siguiente nivel sería el dedo impar nuestro récord de Intel. Ah, fines de semana ver archivo. Por lo que este sería el archivo fuera de todos sus dedos de los pies que han ocurrido en la base de datos hasta ahora . Entonces probablemente querremos editar registro de renta, ¿verdad? Entonces el ruso no voy a poner eliminaciones porque tal vez querrías que tu acostumbrado sea capaz de agregarregistro completo, que tenemos una pantalla para ya. Eso siempre empezó. Desearíamos que vieran todos nuestros registros completos que han sucedido en. A lo mejor te las querrías a Eddie Tarrant. Graba porque ya sabes, si alguien cambia de opinión sobre un contrato de alquiler que se suponía que traería el martes, y en su el martes, lugar quieren traer de vuelta el miércoles. Y deberían poder entrar y editar ese registro de renta. No te metes así, así que voy a dejarlo en esto para no encenderlo. Vamos a pegarnos, a empezar y a ver cómo se ve eso. ¿ Todo bien? Entonces, no, tenemos o May y Window. Y vemos que tenemos nuestro menú encendido cuando hacemos clic en estos botones mientras no pasa nada , ¿ verdad? Por lo que aún tenemos algo de trabajo que hacer para que estas opciones de menú sean realmente útiles. Entonces el 1er 1 en el que creo que deberíamos trabajar es el récord total, ya que esa es la característica real que hemos estado construyendo para conocer de todos modos. Entonces lo que voy a hacer es volver a mi menú, ampliarlo, Andi, no conozco a algunas personas. Tengo este problema como lo hago, pero al hacer clic en él, se supone que se expanda. Si no lo hace, entonces bueno, le hago clic hasta que sea acreditable el. Hay dobles picos justo ahora rompiendo mi propia regla cardinal. Pero cuando hago clic en él y se convierte en un poco presentador, y luego cae hacia abajo. Entonces si tienes la dificultad para conseguir que caiga como acabo de hacer, entonces eso es lo que solía ir por nuestra cuenta. Eso no lo sé. Soy un estudio visual se está comportando así, pero solo estoy trabajando con ello. De lo contrario, no deberías tener un problema. Entonces lo que queremos es un evento rápido en este ítem del menú, porque la deducción sería que cuando vengo a gestionar tus registros completos y hago clic en total registro entero. Y la expectativa es que mi ventana de registro de alquiler no debería entrar. Por lo que una vez más haga clic en evento. Siempre puedo dar click derecho Goto Properties Goto Landing Boat y cambié nuestro solo puedo hacer doble clic en él, y generará ese click. Sucesos pararon para mí. Noté que la convención de nomenclatura me va a decir el texto que está en el Barton, y luego es un elemento de menú de tira de herramientas. Subrayar el clic. De acuerdo, así que esa es la convención de nomenclatura en porque inadvertidamente, sin embargo, hace clic en el medio. Conseguí los registros de alquiler gestionados, apareciendo eventos rápidos. No, recuerda que si te equivocas, haz clic en evento y solo lo eliminas. Vas a tener que hacer alguna cantidad de limpiador porque si lo dejas a la vez, entonces vuelves a tu diseño. Vas a terminar con este error de aspecto desagradable, que es realmente peor de lo que realmente es, porque solo puedes hacer clic en Ir a la corte en la sección. Aquí en él te mostrará la línea en la cancha generada que está tratando de llamar a la función que acaba de eliminarla para que solo puedas quitar esa línea encendida. Entonces no deberías tener problemas a partir de entonces. Por supuesto, medida que avanza, solo haces turno de control y estar para seguir construyendo tu aplicación para asegurarte de que no tengas aire. Diga, mira, mi constructor tiene éxito en puedo cerrar cualquier pestañas no deseadas y mi vista de diseño ha vuelto a la normalidad. Entonces, ¿dónde estábamos? Estábamos buscando configurar los eventos de click para más de muchas tira son para despojar de muchos artículos , Así que si recuerdas cómo me lanzamos y ventana desde o auto intel form, entonces puedes escribir la cancha. De lo contrario, sólo voy a ir a revisarlo una vez más. Entonces lo que hicimos en todo nuestro registro externo fue poner en este botón puramente experimental. Pero lo que hizo fue lanzar las ventanas principales. En realidad voy a quitar el botón porque no lo necesito. No es útil o no es necesario seguir adelante. Por lo que lo quité del diseño. Pero voy a la cancha atrás. Sólo voy a revisar el núcleo que escribimos en el evento click de botón. Espero que noten también que quitar el control no quita los eventos que se le adhirieron. Entonces el adventista ahí dentro sólo tiene cero referencias porque no hay nada que lo esté llamando arte. Entonces dentro de este rápido evento, lo que hicimos fue lanzar una instancia fuera de la ventana o la forma en la que queremos lanzar. Entonces llamamos a la función Dark Show dentro de esos objetos. En realidad solo voy a eliminar este evento de clic no deseado, así que si lo tuviste, puedes eliminarlo. Si sientes que quieres quedártelo, eso no es problema. Lo dejas en paz, pero voy a volver a mi ventana principal, mi evento click en la ventana que pretendo lanzar es agregar registros de renta. Entonces necesito una variable. Y voy a usar alambre esta vez. Alguien para guardar ire ID Parenteau registro. Está bien, así que sólo habla algunos errores ortográficos aquí. Nuestro récord de alquiler es igual a un nuevo ejemplar fuera de mi clase. Agregar registro Renta. Por lo que nota apagado. Curso que. Sí, es el mismo nombre, pero uno es un caso común. Una unicidad. Capital A. Este es un nombre de clase. Este es objeto. Nombre. Está bien. Así que sí asegúrate de que te adhieras a las estrictas reglas donde viene. Casquillo de puntera. Está bien, Así que sepan que me despejarían este objeto a lo siguiente que necesito hacer es que agreguen una renta un disco atracado, así que está bien. Y luego puedo ahorrar en, luego presionar start on. Entonces cuando nuestra ventana se lance, vamos a probar el pensamiento. Por lo que hago click. Agrega todo su disco, y ahí está. Una vez más , vino sobre mi otra pantalla. Entonces no, tenemos nuestro botón trabajando. Va a funcionar de la misma manera tantas veces como voy a dar click. Se va a lanzar bien esa ventana, así que eso no es deseable. Uno y dos notan que esta forma vino sobre mi otra pantalla porque es puede venir en cualquier punto donde se sienta cómodo. Y esa no es necesariamente la experiencia que queremos. Preferiríamos que esta forma sea especie atada a la ventana media, y que cuando cerré la ventana principal, todo se cierre. Andi. Todo está atado al yo en ventanas. Entonces tenemos otras dos cosas que tenemos que hacer. Entonces voy a volver a mi diseño de ventana principal encendido. Voy a cambiar una opción muy importante en lo que concierne al hacer los contenedores M D I . Por lo que interfaz multi documento significa que cada formulario sería visto como un documento más o menos en entonces la apariencia MD I o que multi documento interfiera padre o contenedor sería el lugar de almacenamiento para todos los apagados. Esos documentos son todos esos formularios. Por lo que tan pronto como se crea una forma, se crea dentro fuera de los periodos y no puede existir fuera de la apariencia fuera. Entonces lo que tenemos que hacer es en mí y ventana nos derecho, click va o propiedades y luego buscamos nuestra propiedad es MD I contenedor. Por lo que encontrarás que bajo windows style on. Entonces puedes cambiar. Se trata de contenedor MD I. Dame eso. Cierto. Así que nota la diferencia en su apariencia Cuando se cae, se ve, ya sabes, animado, brillante, que más vibrante. Se ve más vivo cuando veo a Truell. Entonces se ve muy bien fuera y se amortiza muerto. De acuerdo, pero entonces ese es uno de esos males necesarios para que sea el contenedor MD I. Ahora lo hemos convertido en el contenedor. Pero tenemos un paso más donde cuando estamos lanzando nuestra ventana, necesitamos decirle a la ventana que es peer in spirit. Quién comparecería es más bien correcto. Por lo que en este momento sólo se lanza. A pesar de que este es el aspecto MD I, la ventana que se está lanzando no sabe que se trata de un niño MBI I. Muy bien, entonces voy a añadir esta otra función donde voy a decir tus puntos de registro completos o qué? Voy a cambiar una propiedad más bien así que estoy viendo pronunciar tell record dot m El I aparento derecho es igual dedo del pie esta. Está bien, así que déjame explicarle exactamente qué está pasando aquí. Entonces uno ya sabemos que estamos lanzando nuestra ventana. Sabemos que estamos mostrando Así que estamos declarando el objeto y luego lo estamos mostrando en medio. A pesar de que te estoy diciendo que habiendo creado ese objeto, debes saber que tu apariencia MD I es esta. Y esta es una palabra clave en C agudo que significa cualquier clase en la que estés. Entonces yo y ventana se está representando por la palabra clave que esto porque MD I parent espera algún formulario o algunos objetos fuera de un formulario para ser asignados. Entonces cuando digo esto, esto es como una manifestación son un objeto fuera de la ventana principal. Es una palabra clave en cualquier clase. Entonces si voy a los otros registros completos y veo esto dentro fuera de la clase discográfica Eloranta , esto representa en registro de renta. Por lo que siempre es relativa del dedo del pie la clase en la que se está utilizando. Entonces cuando digo esto dentro de la ventana principal, nota al hacer clic en él, me resalta y ventana. Pero C sharp automáticamente está diciendo eso. De acuerdo, sé que represento la ventanilla media. Entonces estoy diciendo que esta ventana media es la apariencia MD para el registro de renta A. Ah, otro objeto de corte entero en Entonces quiero mostrarlo. Entonces veamos qué diferencia significa eso. Entonces cuando hago clic en inicio o ventana se lanza y podemos ver ese verde muerto, podemos ver la diferencia en Entonces voy a lanzar a Arent un disco. Eso es lo que quiero hacer Un aviso que se lanzó directamente dentro de la ventana. Esta vez no tuve que ir y arrastrarlo sobre la pantalla. Onda también se dio cuenta de que está completamente contenida dentro de esta ventana media. No puede ir a ninguna parte no importa lo que haga, no puede ir a ninguna parte. Puedo minimizarlo por dentro fuera de esta ventana de hombre, puedo maximizarlo dentro de esta ventana media la puedo cerrar en mi camino. Ventana principal sigue viva en DSO Esto me permite Así que cuando termine de ponerme esta ropa , entonces adelante y ver el archivo o ver el listado fuera de vehículos, Sea lo que sea, puedo hacer eso después. De acuerdo, así es como funciona la ventana principal en MD Prefiero sostener el concepto MBI I. Yo me creé y ventana para que pudiera ser el contenedor MDR en seguir adelante. Todas las demás formas se lanzarán sin administrar dentro de esta ventana media. Antes de irme, sin embargo, quiero hacer algunos cambios cosméticos. Entonces voy a cambiar la ventana media de mensajes de texto de solo yo y ventana para decir algo como, um, ya sabes, renta de autos Cruz, renta de autos Cruz, Um en adelante, dentro de nuestro formulario de alquiler de autos fue decir después del coito, en lugar de decir Kyra hasta el sistema encendido, también con el cambio que quita dentro de la barra de título para esa forma. Entonces yo solo salgo y déjame solo hacer todas ellas a simple vista. Por lo que haga clic derecho en mi formulario entrar en propiedades en Maine. Protocolo de ventana. alquileres de autos de este Krul que es nombre fuera de nuestro negocio son, ya sabes, sistema de gestión de autos en remolque. Perdón, sistema de gestión actual. Hagamos una genética causa un producto que pretendemos vender, así que no queremos marcarlo antes de venderlo. ¿ Verdad? Entonces ese es el nombre en nuestro significado en nuestro yo y ventana. Voy a ir a Adam anti registro, y voy a cambiar la propiedad por la granja un texto. Por lo que voy directamente a ir a propiedades que me muestran los eventos solo hago clic sobre propiedades. James. Un texto sobre éste va a ser anuncio para registro de la OMT en ir a cambiar el texto en la etiqueta. Por último, en, este va a ver agregar registro de renta. Está bien, entonces hay algunos cambios cosméticos. Simplemente sigue haciendo que nuestra aplicación se vea y se sienta un poco más oficial en. Entonces puedes pensar en empezar. Podemos simplemente echar un vistazo más a todo. Tan solo asegúrate de que todo sea de la manera que queríamos. Entonces cuando voy a después de todo el registro se va a lanzar la nueva ventana dentro de la aplicación en se ve un poco mejor en no más fácil a los ojos. Sepan que todo parece que tiene más sentido. Y podemos hacer un artista de maldición solo para asegurarnos de que no rompimos ningún núcleo existente. Entonces sólo voy a poner en un registro de renta de prueba en enviar on Ahí vamos. Si quieres ir a la base de datos y verificar que entró, puedes hacerlo, pero sé que entró porque no modificamos el formulario. Por lo que cada forma. Una vez más, es autónomo. Es su propio documento. Se va a comportar fuera de su propia inteligencia basada en lo que se les ha concedido en el llamado fuego para esa forma. 26. Ver los datos en una cuadrícula: en este video, vamos a empezar a diseñar un dedo del pie de pantalla, ayúdanos a gestionar o listado de vehículos. Entonces, solo iniciemos nuestra aplicación y actualicemos con lo que hemos hecho hasta ahora. Y tenemos muchos listados aquí que nos permite el add remove, edit y view listing. Entonces en realidad sólo voy a hacer todo fuera de eso desde, bueno, una ventana encendida. ¿ Sabes, caso por caso probablemente diseñará otra cosa? Entonces voy a modificar todo este listado o escucha. ¿ Son muchos tira y sólo han manejado vehículo listando a alguien para quitar todas las opciones infantiles de ese menú en? Simplemente puedo dar click en borrar. Entonces cuando hago clic en ese y se seleccionó, podría expresar borrar en él en realidad sólo eliminará esos muchos elementos. Entonces ahí es donde puedes ir bote quitándolos ¿verdad? Entonces quiero uno que diga administrar listado de vehículos, y cuando haga clic en él, voy a lanzar una nueva forma que va mucho dedo del pie. Consulta todos los vehículos en la base de datos en, luego realiza las actividades de multitud desde ahí. Entonces voy a hacer todo desde una ventana. Entonces en primer lugar, me fui toe no click Onda hacer los eventos de truco en ese botón. Por lo que hay número de actividades que necesito hacer y solo una gran X. Y no hace falta que se hagan en ningún orden en particular. Por lo que estoy creando el evento click. Pero no voy a poner nada en el cricket doblado porque, bueno, la última razón del rápido evento sería lanzar la ventana. Y aún no he creado esa forma, ¿verdad? Entonces, sí, tengo el evento tick, pero necesito crear el formulario. Entonces, ya sabes, orden particular. Tengo cosas que hacer. Solo digo eso para decir que no crees que tenemos un orden estricto fuera de nuestra serie actividades que se tienen que realizar en un orden particular. ¿ Verdad? Así que ten un evento rápido ya. Podemos volver a eso, pero voy a hacer clic derecho en mi proyecto. Goto add Di nuevo artículo en una vez más. Estoy creando un formulario en blanco el. Entonces esta vez lo voy a llamar gestionar listado de vehículos. Muy bien, así que mi formulario está gestionado listado de vehículos. Puedo pasar algún tiempo haciendo algunos cambios cosméticos donde voy a cumplir con el texto en la barra de título, Not look. Así que ya sabes, programación parece Todo bien, así que gestiona listado de vehículos en. Entonces voy a empezar a mirar algunos controles nuevos en el primer nuevo control sería el control vista de cuadrícula. Entonces en mi caja de herramientas, fui a entrar a los datos de subcategoría en entonces estoy con C uno. Esa es su cuadrícula de datos ve la vista de cuadrícula de datos, pantallas, filas y columnas fuera de datos y coincidió en que se puede personalizar. Está bien, entonces eso es lo que vamos a conducir. Entonces lucho con esa vista de cuadrícula de datos, y te das cuenta que es sólo esta gran caja verde. Por lo que sólo voy a ampliar esta gran caja hasta cierto punto. Si uso esa corriente que me pongo por ese menú encendido, puedo editar columnas en columnas, ya sabes, habilitarla. Es borrar y agregar. Yo sería hijo teléfono brilla a la grilla si quiero. También puedo doctor en los contenedores si documento continente todo este contenedor y eso no es necesariamente lo que quiero, porque voy a poner en una etiqueta en la parte superior para decir, gestionar listado de vehículos en. También voy a poner algunas otras cosas aquí dentro. Entonces, ya sabes, tal vez empiezas con una idea de lo que quieres hacer, y luego te das cuenta de eso Oh, pero no tienes que hacerlo que podríamos hacerlo de otra manera. A veces eso sucede. Entonces empecemos por no tenerlo embellecido en ellos eran para traer más etiqueta. Por lo que tengo una etiqueta en anuncio ya todo nuestro disco. Entonces en lugar de ir y tratar de diseñar en marca nueva etiqueta, entiende Para copiar esto, vuelve a mi nueva forma, pégala, asegúrate de posicionar su en ir a cambiar el texto. Voy a propiedades, cambio el texto, y este es listado de vehículos gestionados. Está bien, entonces esta reposiciónala en consecuencia. Nuestro es nuestra nueva ventana para gestionar el listado de la semana No. Lo más importante, la parte más importante de esto son nuestras vistas de cuadrícula o vista de cuadrícula nos darán como una representación tabula fuera de los datos que le digamos que queremos ver bien para que puedas pensar excel o incluso en la base de datos. Cuando hicimos una estrella selecta de una mesa y vimos notamos que obtenemos esa representación tabular . Eso es exactamente lo que esa vista de cuadrícula de datos nos permite hacer. Entonces lo primero que hacemos con estos los llamo o controles esenciales porque etiqueto es esencial, pero no tanto. Pero quiero saber el nombre fuera de mi vista de cuadrícula, ¿ verdad? Entonces voy a propiedades después de pensar revisión, y puedes tomarte algún tiempo y mirar las propiedades y darte cuenta de que estas propiedades con cada control, sus diferentes propiedades on off course, cada control es único por derecho propio. Pero la 11 propiedad común va a ser nombre en. No quiero que mi vista de cuadrícula de datos se llame vistas de cuadrícula de datos. Voy a llamar a este devi, ya sabes son GV grid view Justo en Este es auto, el interruptor de vehículo de la tienda sobre uno. Entonces recuerda mi prefijo y luego el nombre apagado. Sea lo que sea que este control sea para tan gran vista para lista de vehículos, entonces me voy a poner a punto esta forma que cuando se carga, ejecuto una consulta para los vehículos. Andi, puse esos datos o los datos que van de esa cantera dentro de esta vista de cuadrícula, ¿ verdad? Entonces recuerda que hicimos algo parecido a eso cuando estábamos buscando lanzar nuestro auto donde lo debe o agrega o en forma de registro Tyler, cuando queríamos asegurarnos de que nuestro o combo box tuviera todos los datos necesarios del listado fuera de las tarjetas . Correcto. Entonces en este caso, queremos un dedo del pie de vista de cuadrícula tener esos mismos datos cuando se carga el formulario. Entonces ya que quería pasar cuando los señores de la forma. Entonces cuando esto sucede, esos son los eventos que yo quiero. Por lo que voy a dar clic en el formulario, ir a propiedades el rayo encendido. Digo que cuando los señores de la forma quiero esta cosa en particular dedo del pie pasa bajo, envió un doble clic dentro de la sección Lord. Y no, está diciendo: Vale, Vale, este es el nombre de cuatro en el marcador, Señor. Entonces cuando los señores de la forma, ¿qué quiero que pase el dedo del pie? Entonces lo siguiente que quiero hacer fuera de curso es establecer la conexión de base de datos, y luego puedo empezar a ganar mi consulta. Entonces si te olvidaste, sostén eso funciona. Se puede volver al expediente judicial de Eloranta Record donde lo que hicimos fue declarar objetos que representaban nuestras conexiones en la base de datos. Lo inicializamos adentro off para constructor on. Entonces donde necesitábamos el dedo accede a la base de datos. Simplemente llamamos a ese objeto, ¿verdad? Entonces vamos a seguir ese mismo patrón. Entonces en nuestra nueva forma, lo primero que quiero hacer es en la clase. Estoy definiendo un privado sobre estoy haciendo leer. Sólo eso es más recordar, porque en dotnet eso siempre sucede. No es, ya sabes, puedes hacerlo sin leer. Sólo que eso está bien. Pero yo quería estar fuera de tipo entidades de alquiler de autos, aunque si olvidaras de dónde venía este nombre que en el archivo e d. M X que habrías creado para este proyecto. Eso es un auto intel db dot cd una mezcla en mi caso. Pero si tienes un nombre diferente, debe ser dot e DMX. Puedes hacer doble clic para ver tu modelo de datos, pero cuando vayas a propiedades, verás el nombre del contenedor de la entidad, y ese es el tipo de clase que representa la conexión a tu fecha de abejas. Está bien, así que si alguna vez olvidas el nombre o estás haciendo uno desde cero, solo buscas entidad, nombre de contenedor y cualquier nombre que haya ahí ese es tu tipo de datos. Está bien. Por lo que de vuelta en nuestro nuevo expediente judicial para nuestro nuevo formulario, decimos privada leer solo los tiempos son entidades de alquiler de autos, que es nuestro nombre contenedor entidad en eso. Voy a darle el nombre del objeto. Entonces visual studio siempre está haciendo sugerencias, y eso es realmente genial. Tomé una de las sugerencias en el formulario anterior donde dije, autos impar. Déjame encontrar ese expediente judicial rápidamente. Entonces en la anterior donde accedo a la base de datos, utilicé estudios de recursos sugieren una y eso está bien. Pero muchas de las veces en Internet, probablemente veas algo así como contexto que se está usando o en la partitura. Db. El hecho es que el nombre fuera del objeto no es no lo es. Es inconsecuente a la funcionalidad, bien, así que puedo significar mi objeto cualquier cosa. Entonces en esta situación, lo voy a nombrar subrayado db Eso dicho, sin embargo, sin embargo, sí promociono consistencia. Entonces si iniciaste por un camino continuaste en ese parque, si quieres cambiar el camino, cambia el camino, derecha, garganta tu cancha así que no has subrayado DB en esta forma en, entonces auto en registrar entidades de Renta en otra forma y luego otra forma. Te sientes de otra manera y lo llamas Contexto son CTX No hagas eso. Los padres tienen una convención de nomenclatura consistente. Lo estoy haciendo de esta manera sólo para mostrarles que cualquiera que llamen al objeto es inconsecuente . Está bien, así que voy a usar DB en esta situación. No obstante, más adelante, pasaré por un dedo todo normalizado en el marcador. Db Todo bien. Tan privado Leer en el auto hasta que las entidades db en el interior fuera mi constructor en la noche debajo del componente inicializado. Voy a decir en el marcador, D B es igual a una nueva instancia fuera superior y entidades. Entonces esa es la inicialización, ¿verdad? Entonces cuando nuestras salas de programas son cuando se lanza este formulario, es sabe del DB, entonces se inicializa es sus componentes y el db Andi Entonces a lo largo del resto del formulario, cualquier momento necesitamos hablar con nuestra base de datos, tenemos nuestro objeto db de subrayado. Entonces lo primero que quiero hacer es correr esa cantera para conseguir el auto en algún lugar para salvar autos de ira . Andi uso autos y vehículos indistintamente. Entonces, cualquiera que quieras usar, está bien. Pero los coches Vier es igual conexión de base de datos del dedo del pie acoplado en. No quiero que el auto entre en un disco así puedo ir a desplazarme hasta ver la mesa que se parece lo que quiero, que es tipos fuera de autos. Y entonces puedo decir eso a enumerar. Entonces quiero la lista, o al menos fuera de los tipos de autos en mi base de datos en. Entonces estoy almacenando todos esos dentro de una variable llamada Los autos no están encendidos. Entonces el siguiente paso sería dejar que la cuadrícula de datos No, que debería estar mostrando lo que se está volviendo dentro de la lista de autos para que pueda decir GV ¿verdad? Entonces porque lo renombré y cuando es un gran ciclo de visión, es GV lista de vehículos dot data source disease. Bueno, autos de remolque, ¿verdad? Por lo que la lista fuera de los autos que regresan de la base de datos servirá como la fuente de datos para mis escrituras son geniales. Entonces veamos cómo se ve eso. Haga clic en iniciar. Entonces cuando sale la ventana, estoy dando click y no pasa nada. ¿ Y por qué no pasa nada? Y vemos que todavía tenemos un arroyo, cualquier artículo. Pero no está pasando nada. Y eso es porque no terminé mi click. Significaba así terminé de cablear el formulario. O al menos para no. He cableado el formulario alguien para volver a mi diseño de ventana media o al archivo de la corte u otro en. Entonces aquí es que eventos rápidos después tanto del diseño? Porque me perdí unos ítems de menú necesito eliminar este. Está bien. Bien. ¿ Tan saben que hemos limpiado los interferidos de vuelta en nuestro expediente judicial? Lo que tenemos que hacer es dejar que el botón inicie las nuevas formas. Algunos sólo en para salvar la ira en este va a ser listado de vehículos es igual a nuevo Andi. Yo lo llamo vehículo mi listado de vehículos. Está bien, vamos, entonces tengo que decir que es MD I aparición. Es este vehículo listando que el padre del FBI Fácil trimestre esto, que es ventana media. Andi, Finalmente, después de cuando todo eso fuera del camino quiero mostrar. Está bien, así que intentemos eso otra vez. Alguien es un lanzamiento nuestra aplicación en. Entonces cuando hago clic en administrar pico listado Ahora estamos viendo nuestro listado en. Mira esto. No. Entonces estamos viendo la vista de cuadrícula, Andi. Es decir, se ve algo anémico de distancia. Ve la caja verde grande y vemos la rejilla llenando tanto de la caja como sea posible. Vemos que estamos consiguiendo sobre el I. D y el nombre en esta columna aparentemente aleatoria de la base de datos call car a los registros. Pero el hecho es que estamos viendo la corriente nuestros registros en esa vista de cuadrícula para que podamos volver a esta ventana encendida puede ser limpiarlo un poco, Alguien para salir de esto. Entonces voy a modificar el ancho fuera de esta gran vista porque realmente no necesito para llenar Ya sabes, ese espacio para dos columnas. Entonces estoy viendo que d nombre en los registros de alquiler de autos de Dwell. No explico cuál es esa columna aparentemente aleatoria, pero quiero agregar los botones. Por lo que sí sacé la capacidad de editar agregar, quitar los autos del menú, listando en la ventana principal. Entonces lo que voy a hacer es poner botones dentro de esta ventana que se encargarán de ayudarnos a hacer esas acciones, verdad? Por lo que fui dedo del pie tienen cuatro botones son tres botones. Entonces me refiero a un botón y solo lo estoy copiando. Yo estoy cabreando. Ten una lanza uno. Todo bien entonces, para mis botones para las propiedades uno quiero que se necesita para ver lo que quería hacer Así Pero en uno digamos que me queremos este el auto agregar nuevo, ¿ verdad? El botón tres. Quiero esta y otras propiedades de giro para que no tenga que seguir entrando y yendo también botón tres. Yo quiero que este esté en su auto encendido. Entonces éste sería borrar auto. Muy bien, entonces. Otro paso del dedo del pie importante teniendo mis botones es que no quiero que sean Bt y un botón. Un botón, dos botones. Tres. Yo quiero que tengan nombres sensatos que los pueda hacer referencia en el tribunal detrás. Correcto. Entonces Pero en una, voy a renombrar a Bt y ese es mi prefijo para auto de anuncio de botón. Está bien. Edit car va a ser BT y lo auto. Está bien. Y entonces el final sería Bt end. Elimina auto. Está bien, entonces puedo seguir adelante y crear eventos de tick para ellos desde no si quiero. Por lo que voy a hacer doble clic en agregar auto y aviso porque le di un nombre sensato. El evento de truco es muy claro. Bt y en auto en el marcador. Da clic a la derecha para que pueda simplemente seguir adelante y crear todos esos eventos gruesos en consecuencia. Así que basta con volver y hacer doble clic cada uno hasta que tenga esos eventos rápidos. Y es por eso que no me gusta fijar propiedades porque en la hora de escribir código, no es útil, ¿ verdad? Entonces tengo tres botones de clic eventos para tres botones en mi formulario, así que eso es sólo algunas cosas cosméticas. Empecemos de nuevo y veamos cómo se ve eso. Está bien, entonces no, vemos que una rejilla es un poco más pequeña en. Tenemos los datos siendo mostrados en la orilla, pero luego a la derecha, vemos nuestros botones. Y si bien todos son botones muertos porque tienen eventos de clic, pero los eventos de click no están haciendo nada por ahora, así que no, quiero limpiar un poco de la cuadrícula. No quiero la idea y nombre columnas obesas, mostrando en letras comunes así. Entonces lo que haría es dentro de mi función de Señor de forma. Cuando dije la fuente de datos así se dio cuenta de que uno, la cuadrícula de datos está generando las columnas relativas dedo del pie los datos, se está alimentando. Entonces lo estoy alimentando la lista fuera de autos en la lista, fuera autos, cada objeto tiene i. D. Tiene nombre en alguna lista fuera de registros de alquiler de autos. ¿ Verdad? Que pronto se explican exactamente qué es eso. Bueno, al menos más adelante, veremos exactamente qué es eso. Entonces lo que voy a hacer para mi cuadrícula de datos es que voy a decir GV lista de vehículos punto en entonces quiero especificar que quiero la primera columna, que sé que va a ser yo d. Así que puedo ver columnas. Y si alguna vez has trabajado con arias o colección Así que estamos trabajando con lo menos en Eso es un tipo de colección. Si alguna vez trabajas con honoree, sabes que los corchetes representan um puedes especificar exactamente qué subíndice del ari quieres, verdad? Entonces si no lo has hecho, está bien. Entonces déjame explicarte. Por lo que las columnas aquí, Este es un gran control de vista. Y entonces digo, quiero las columnas. Y si son columnas, eso significa que es nuestra colección. Hay más de una columnas quiero la primera columna, que sé como programador va a ser yo d. De todos modos, así puedo decir corchete cuadrado cero, porque en computadoras se empieza a contar desde cero no son un derecho . Por lo que el primer subíndice fuera cero binario. Entonces el primer subíndice cero en luego quiero que la propiedad fuera de este que es el texto del encabezado sea igual al texto. D en nuestras gorras. ¿ Verdad? Entonces estoy viendo eso después de que me ponga este material autos. Después me pongo y dije que la fuente de datos en este punto se habría generado todo fuera de las columnas . Digo que la primera columna que se generó quiero que el texto del encabezado sea yo d. Y luego quiero la segunda columna. Hijo iba a duplicar esa línea y Jesús sustrato de 0 a 1 en adelante. Yo quiero que este sea nombre en todas las gorras. Está bien, así que vamos a ver. Sostén eso. Entonces si hago clic en iniciar, entonces voy a ver que estoy consiguiendo nombre idee en ellos desde Ian Kerr Inter Records. Pero al menos los encabezados de columna están cambiando en consecuencia, así que eso es alentador al menos, Muy bien, así que lo siguiente que quiero hacer es eliminar el hecho de que estoy recibiendo pero ese auto aparentemente aleatorio Inter Columna Registros. Pero antes de hacer eso, permítanme explicar un poco lo que eso representa. Entonces abrí mi modelo de datos, que es el archivo E DMX, y estoy viendo este BRD. Si buscamos en la tabla tipos, fuera de auto o tipos de autos, veremos que tenemos el i. D. Tenemos el nombre y luego abajo tenemos esta propiedad de navegación llamada registros de alquiler de autos . Correcto. Así que sólo me humor un rato. Y déjame llevarlo en este viaje. Si tienes un sistema de renta encendido, entonces tienes un auto que se alquila varias veces. Entonces eso significa que este auto está asociado con múltiples registros, ¿ verdad? Entonces si quisiera saber cuántas veces mi creo que nuestro auto llamó Lada o Honda, cuántas veces se rentó mi Honda, entonces tendría literalmente una lista fuera de las veces que este auto fue rentado, ¿ verdad? Entonces eso es exactamente lo que representa esta propiedad de navegación. Dice que para cualquier auto que vas a mirar, te puedo mostrar la lista fuera de nuestros registros completos con los que está asociado porque están relacionados. Muy bien, entonces. De la misma manera, la corriente que grabo conoce el tipo exacto de auto que se rentó en este registro. Entonces esto es todo el enlace Andi Andi en trabajo diferente, realidad global. Te está ayudando así que formes buenas relaciones entre tus mesas y en realidad coronate a través de múltiples mesas con mucha facilidad, pero sin meterte demasiado en, ya sabes, complicando. Exactamente. Sostenga su derecho usado. No, no necesito la referencia del auto en registros todavía. Por lo que de vuelta en mi expediente judicial, voy a retocar un poco esta cantera para seleccionar exactamente lo que quiero. Entonces esto es hacer una estrella selecta. Hicimos una estrella selecta en nuestro Arent nuestro disco una vez más para o combo box, donde dije que hacerlo de esta manera es igual que decir select star. En este caso, no queremos estrella. Literalmente solo queremos i d y nombre porque cuando lo estamos haciendo de esta manera. Estamos consiguiendo pero la columna aleatoria, aparentemente aleatoria del auto y Tyler Records, ¿ verdad? Entonces voy a volver a seguir. Te voy a mostrar todo el fin de semana tratar a alguien a comentar este juramento en ir a ver que así es como lo haces Selecciona estrella de tipos fuera de autos, ¿ verdad? Sólo para que quede claro. Pero luego voy a reescribir esta cantera, y fui a pasearla exactamente por lo que estamos haciendo. Entonces voy a guardar nuestros autos una vez más es igual dedo del pie la conexión a la base de datos punto la tabla que quiero. Pero entonces no voy a decir eso para enumerar. Esta vez. Yo voy a decir eso. Seleccionar. Muy bien, entonces. Cuando haga eso, voy a tener que trabajar un poco. Yo lo voy a llamar magia. Pero como dije, estoy aquí para guiarlos a través, así que quiero seleccionar sólo las dos columnas que quiero. Seguro si te dio si estás acostumbrado a SQL de lo que crees que necesito decir, Oh, yo d Kameni. Bueno, desafortunadamente no es que simplemente en c sharp, vamos a tener que hacer lo que llamamos una expresión lambda donde creamos sobre objeto. Correcto. Entonces esta es Lambda. Entonces esto eso es justo lo correcto. No hay nada más que explicar. Lo único que puedo explicar aquí es que esto no tiene por qué ser agudo. Esto podría ser una w Esta podría ser una palabra. Es decir, puedes usar cualquier expresión que quieras, pero la cola o la expresión que uses aquí va a representar cada objeto que esté dentro de la colección. ¿ Verdad? Entonces así es justamente como se inicia una expresión londinense. Tienes una expresión. ¿ Qué quieres usar? Una letra o palabra o lo que sea en entonces tienes igual en, entonces el mayor que decir o simplemente lo llamo la flecha. Correcto. Por lo que tienes la expresión que la flecha en entonces Esto te permite ver qué columnas quieres de la tabla. Entonces estoy diciendo selecto. Entonces inicializo expresión de alumna encendido, luego usando la expresión maderera puedo ver Q Docks. Yo d derecho. Pero entonces no quiero solo idea. Quiero un nuevo objeto. Entonces lo que quiero ver es nuevo en, entonces estoy abierto. Abrí mis llaves encendidas entonces adentro fuera esto voy a especificar que quiero en i d siendo igual tokyu dot i d Entonces puedo usar mi coma y decir que quiero una nueva, um una nueva propiedad llamada nombre en ¿Debería tener el valor Que ese nombre. Está bien, Así que si estás acostumbradoa SQL y un Lessing, bien, donde en SQL habrías dicho algo como, Selecciona esto y le das un alias. En caso de haber seleccionado una columna, diría Seleccionar I d como otro nombre y seleccionar nombre como otra cosa o lo que sea. Así es como vas a hacer un Lessing dentro off link, ¿ verdad? Entonces una vez más, déjame simplemente guiarte a través de lo que estamos haciendo. Estamos diciendo que quiero conectarme a la base de datos, dame la tabla en, luego quiero seleccionar, y luego hacemos expresión alarmada encendido. Después, después de la expresión londinense, estamos seleccionando un nuevo objeto. Por lo que literalmente estamos construyendo sobre objeto sobre la marcha. Este es sólo un nuevo objeto que estamos creando para su propio propósito en lo que yo quería. Mi objeto es una propiedad llamada I D, que va a obtener el valor que viene de la base de datos con una coma I D, otra propiedad llamada nombre, y se va a obtener el valor que viene de la base de datos con la palabra nombre encendido. Una vez más, estos son alias, ¿verdad? Por lo que podría haber usado cualquier cosa aquí. No tuve que volver a usar el nombre de la idea. Pude haber usado auto me d justo encima. Pude haber usado nombre del auto. Realmente no importa. Entonces me toca a mí saber qué es lo que estoy nombrando a estos. Una vez más, estos son alias. Si estás usadopara SQL on, entonces para tantas propiedades como estén regresando y quiero y quiero crear una áreas solo podría ver coma en hacer el mismo Alias es igual a lambda expression dot Cualquiera que sea la columna que quiera para Lambda Vera hermano on. Entonces, después de hacer todo eso, noté que todo eso pasaba dentro de los tirantes rizados. Entonces terminaría con un semi colon, pero entonces probablemente me gustaría hacer una lista para también, así que me gusta listar así y confía en mí, hace que sea mucho más fácil justo cuando duales indagación. Simplemente haz todo, al menos después. Si estás seleccionando, esperando una colección fuera de los resultados justo en, entonces algunas personas en realidad traerían esto a múltiples líneas, por lo que realmente harían algo como la cantera aquí en adelante. Entonces dicen que selecto en otra línea y luego algo que incluso rompería un poco más a ese entrenador. No voy a hacer eso. Wonder Así es como irías un barco construyendo sobre sistemas de canto Alias. Por lo que esta situación será más como Seleccionar en Entonces diría algo como i d como auto I d. coma como nombre de coche de tipos fuera de autos. Muy bien, así que les estoy mostrando que el enlace es muy poderoso y sí crea alguna abstracción maravillosa del típico SQL mientras mantiene c acorde agudo. Sí se necesita práctica. No se queda acostumbrando. Entonces si tienes dedo del pie tipo de hazlo dedo del pie, poder leer los beneficios de lo que te permite hacer, ¿ verdad? Entonces si vuelvo a empezar entonces miramos por encima de la codicia. Vemos que estamos volviendo. Yo d Estamos regresando. Nombre el. Sólo nos estamos acercando. Esos dos no estaban consiguiendo de esa tercera columna otra vez, y eso es una vez más porque especificé lo que quería seleccionar. Y aunque cambié los nombres, aún conté una gran visión de que las ideas I D deberían ser el nombre de columna para el 1er 1 Yo nombro el nombre de columna para el 2do 1 así que sólo voy a poner nuestro punto de ruptura. Um, en el punto donde estamos sentando la fuente de datos en quiero cerrar la ventana y voy a volver a cargarla. Entonces voy a mirar por dentro mi variable de autos donde ves que está regresando con cinco . Y si miras el listado de objetos, estás viendo idea de auto y nombre del auto. Por lo que creamos objetos personalizados que queríamos crear una lista en entonces que esa lista de objetos personalizados se está utilizando como fuente de datos para o cuadrícula en. Después colocamos la columna. Nombres en entonces o se muestra arenilla, así que estoy quitando los puntos de ruptura haciendo clic. Continuar en eso es lo que todos vienen. Por lo que en el siguiente video, comenzaremos a ver cómo cableamos de estos botones para agregar a la base de datos edición Ah, registro de autos sobre quitar ah registro de autos 27. Gestionar los cambios de base de base de datos de base de datos: en este video se estará explorando haciendo algunos cambios, almacenar base de datos y esperar hacer esos cambios en la base de datos se reflejarán en nuestro diagrama e d m X. Por lo que en la actividad de hoy, vamos a estar sumando algunos campos más del pie de nuestro establo vehicular. Ahora mismo, sólo tenemos una idea, y tenemos un nombre, así que sabemos que yo d es una clave primaria en eso es todo. El incriminatorio es solo hacer un seguimiento de todos los registros sobre Do have a name, pero en realidad para almacenar información vehicular, necesitamos algo más que solo un nombre. Todas las cosas que probablemente estaríamos almacenando serían como el año el make the model . Por lo que eso realmente dividiría el nombre en make y model make ser la marca on, entonces el modelo siendo, ya sabes, el tipo de vehículo fuera de esa marca. Entonces, por ejemplo, tendría Honda Civic derecho Honda siendo el Mick sobre cívico ser el modelo. A lo mejor tienes aliado aviar simplemente es número etcétera. Entonces tal vez tengas más o menos cosas que te gustaría almacenar en tu base de datos. Pero hoy estará modificando nuestra base de datos para acomodar esos campos adicionales. Entonces yendo a nuestro estudio de administración SQL, acabo de ir a la base de datos, telefoneé Tabla apropiada recordar y dijo, Diseño en entonces estamos aquí en la vista de diseño donde puedo agregar o quitar columnas como me parezca conveniente. Entonces sí dije que voy a estar agregando algunos me fui a ver Bueno, no voy a reemplazar nombre por año. Lo que voy a hacer es reemplazar year certain name con Mick ahorita que voy a añadir un modelo. Y también va a ser environ son 57% para copiar esto porque se va a repetir. Tendremos el VIN. Ese es el número de identificación del vehículo. Esa es una de esas cosas del gobierno. Tenemos el número de matrícula, Así número de matrícula, que también es un gráfico de barras 57. A pesar de que es su número, no estamos haciendo ninguna matemática con ella en mi película. Mi filosofía general cuando se trata la base de datos sobre números sería que si no estoy haciendo matemáticas con ella, no necesito almacenarla como un tipo de líder numérico justo en. Entonces eso realmente lo facilitaría si tal vez empiezo agitando solo números y luego se convierte en alfanumérico. Después de un tiempo, entonces ya no habrías frijol un tipo de datos numéricos on. Entonces el final sería el año, que sólo puedo establecer que sea ese. Simplemente me sentaré que quiera ser entero. Está bien. Entonces efectivamente, eres porque eres 2020 o 2018 etcétera. Eso sería una especie de números divertidos. Usaré esa para ser un entero. Entonces después de hacer esos ajustes a la base de datos y ya sabes, al Sur algo consistencia. Entonces si bien no son gran cosa, me gusta mantener mi, um ya sabes, mis convenciones de nomenclatura tipo de consistencia si estoy usando gorras. Gorras divertidas si no estoy usando gorras y no estoy usando gorras, así que solo para normalizarlo todo, solo quiero que todo comience con una letra mayúscula encendida. Entonces voy a ahorrar en. Entonces esto va a desencadenar una actualización a la mesa. Entonces en la base de datos, mi ocho a tabla no tiene nuevos campos. Y si voy y selecciono el top 1000 entonces vas a ver todo fuera de la rosa apareciendo con todos los vehículos que teníamos hasta la fecha todos fuera de ellos, apareciendo con el make the model y los campos adicionales que agregué. Entonces aquí en el make lo que era nombre no es la marca, ¿ verdad? Entonces hay unos pocos que tal vez necesitemos algún refinamiento porque no hay marca Bogey, realmente y verdaderamente cuerpo es sólo algo que llamamos el Volkswagen Beetle de vuelta aquí en Jamaica. Pero entonces, esos son sus muchachos. Entonces no podemos ser eso más tarde. Eso es parte de la tarea que nos ocupa, pero en última instancia se ve que nuestra estructura de base de datos se ha actualizado con éxito. Entonces, sin embargo, cuando vuelva a mi solicitud, vas a notar que la mesa misma, aunque me refresque, creo que hay un re fresco aquí mientras no lo hay. Entonces aunque yo fuera el refresco, esto no se actualizaría. Por lo que en realidad tengo que pasar por algún proceso para que se actualice este modelo de datos. Por lo que vamos a empezar dando click derecho en el espacio vacío tenemos los medios hace los documentos o diagrama se abran una vez más cuando haga clic en el espacio vacío y luego voy a decir actualizar modelo desde base de datos. Cuando hago clic en que regresamos. Un dedo del menú similar habría ganado. Cuando estamos creando los datos en, entonces puedo ir a refrescar, dar clic en tablas y hacer clic en terminar. Una vez que haga eso, entonces vas a ver algunas actualizaciones. Pero entonces a veces esto no funciona exactamente cómo lo imaginamos. Porque si te das cuenta que retuvo la idea original y el nombre en asumió los campos adicionales en. Después se hizo cargo de propiedad adicional, que no necesariamente queremos. Por lo que a veces en realidad es más fácil. Haber actualizado la base de datos para realmente solo seleccionar todas las tablas son todas las entidades en el modelo en quitarlos lado los ha resaltado en presiono delete on. Entonces me preguntará, ¿ Estás seguro de que quieres eliminar? Puedo decir que sí porque al final del día, eso está apagado muy poca consecuencia que la base de datos en sí fuera de curso si construyo bien, No, voy a conseguir algunos errores porque cualquier cosa que estuviera haciendo referencia a esos modelos no es Winchester en el aire porque ya no existen. Está bien, así que aquí acabo de hacer un proyecto de ley que estoy viendo un montón de errores porque estoy haciendo clases de dedo de referencia que ya no existe alguien a quien volver a hacer clic derecho. Entonces puedo ver el modelo de actualización desde la base de datos una vez más. En este momento, usaría el otro. Entonces porque acabo de borrar todas las tablas saben que el motor se está dando cuenta de eso. OK, hay tablas en la base de datos que no tengo en el modelo, y esas serían mis dos tablas de todos modos, así que puedo simplemente hacer clic en tablas igual que lo que haces La tasa de trabajo en el diagrama Haz clic en terminar en él importar las nuevas tablas con sus nuevas columnas y ahí que se ve un poco mejor. Entonces estamos regresando o dos mesas, y estamos recuperando tipos de auto con todo fuera de los sentidos del asiento original para más bien de las modificaciones que nos encontramos. No. Habiendo hecho eso, en realidad tenemos que volver atrás y refractor verano para el frío porque estaría haciendo referencia las columnas que no existen. Entonces si voy a mi maneja vehiculo listado ese formulario CS on guy, mira, estoy viendo que aquí cuando hicimos nuestro selecto especial somos amigos en q dot idea con un yo común y nombre lindo. Estos dos ya no existen. En realidad, no, en realidad estamos seleccionando que punto i d con un capital I Así que ahí hace, Curador. Solía capitalizar el caso. Esos importan, sin embargo, configuras unas columnas en SQL o en la propia base de datos, ¿ verdad? Entonces recuerda que cuando lo estábamos diseñando, fui y cambié lo común i d dedo capital I d había cambiado el nombre de cuando cambié el nombre de columna a hacer. Entonces esas pequeñas cosas sí importan. Entonces porque escribí corte de facilidad lo común que d en entonces fasciné una columna llamada nombre Hay que volver atrás y hacer esos cambios para no quiero nombre. Pero esta vez quiero a Mick justo En esta situación, sin embargo, hay más columnas que quiero mostrar porque este cable estaba poblando mi vista de cuadrícula . Entonces no quiero sólo ver que d en ser como cuestión de hecho, verdad probablemente no quiero ver idea alta. Por lo que esta vez en realidad puedo modificar esto. Algunos sólo quieren comentar Avena. Este cable existente en estoy invierno reescribir alguien para guardar autos ire es igual a mi objeto db puntos el televisor que me interesa tipos fuera de autos. Y son sólo línea de freno justo aquí y ver punto Seleccionar en. Entonces estoy seleccionando. Bueno, primero necesito mi expresión lambda. Estoy usando Q de nuevo en luego mi flecha en. Entonces las columnas que me interesan esta vez son lindo punto Hacer coma dos puntos modelo. Bueno, lo siento. En realidad necesito dedo del pie especificar el nuevo objeto de nuestro pero Así empecé a escuchar en las columnas que estaba alrededor. Falla previa tengo que decir es quiero un nuevo objeto abierto brisa rizada encendido. Entonces empiezo a enumerar cada uno con sus nombres. Yo diría que Mick es igual a en día me se que puntos, Mick. modelo de coma es igual al modelo de puntos Q. El Viena es igual del dedo del pie. Mastica ese Vin. ¿ Verdad? Entonces recuerda que cuando estamos haciendo nuestro nuevo modelo, puedo determinar cuál quiero ser el nombre fuera de la propiedad. Pero entonces lo estoy mapeando. Este es mi nombre al que se lo estoy dando. Simplemente estoy haciendo que sea igual dedo del pie están mapeando su valor del dedo del pie viniendo de lo que se está seleccionando de nuestra tabla. ¿ Verdad? Entonces solo estoy sintiendo todo este modelo. Por lo que una vez más hacer el modelo Vin coma encendido. ¿ Qué hace? ¿ Tenemos? Tenemos el año es igual dedo del pie ducto masticar en. Ese sería el año de Judá. Andi. Por último, tenemos las súplicas de licencia. El número es igual al número de matrícula de punto enorme. Muy bien, entonces sólo iba a romper la línea en el número de matrícula porque se va fuera de pantalla. Esa es la única razón por la que estoy haciendo eso. Entonces si no quieres hacer eso, eso está bien en entonces me voy a punta del dedo con mi semi colon. Por lo que reciben ¿Nuestro estudio realmente lo formateó para ti? Porque son aliados que bien, te vas fuera de pantalla, Tienes mucho algunos hace, poniéndolo de nuevo de la forma en que el estudio visual lo quiere. Entonces al final ese selecto, voy a ver que para enumerar porque me gusta trabajar con el tipo de datos de lista duro. Entonces repasemos esto una vez más. Estamos seleccionando de nuestra mesa tipos off cars on. Estoy seleccionando un nuevo objeto por lo que siempre lambda expresión en. Estoy seleccionando en un nuevo objeto que tiene se siente hacer modelo Vin año en menos simplemente número on para cada off estos campos. Solo estoy asegurándome de que estoy de vuelta el valor apropiado viniendo de nuestra base de datos, ¿ verdad? Y luego después de seleccionarlos a todos, sólo estoy convirtiendo eso en una lista. Entonces cuando en realidad ejecuto esto y solo voy a comentar estas dos líneas, recuerda que hicimos estas dos líneas porque querías que los nombres de las columnas parecieran legibles por humanos. Pero mira lo que va a pasar. Entonces voy a salir a estos dos, está bien, bien, así que no voy a renombrar ninguna columna. Entonces después de seleccionar autos en esta variable, entonces estoy sentando esa variable como la fuente de detalles en mi vista de cuadrícula. Y luego hago clic en iniciar, voy a mi listado de manejo de vehículos, y luego te vas a notar que el Grande en realidad está generando con todo fuera de las columnas que vienen de mi modelo. Por lo que Make tiene su propia columna. Modelo tiene su propia columna. Vin tiene su propia columna fuera de curso. Todos estaban vacíos en la base de datos de ahí están vacíos en la vista de cuadrícula, pero el punto es, utilicé una costumbre. modelo dos genera las columnas para la vista de rejilla. Por lo que en este punto, en realidad podemos retroceder y aumentar o diseñar fuera o listado de vehículos. Sepan que vemos que tenemos una gran vista que probablemente necesita un poco más de espacio. Probablemente no quieras que tus usuarios se desplacen directamente desde la izquierda para ver todos los detalles en el auto para que podamos reorganizar el diseño para que la vista de cuadrícula tenga un poco más espacio. Entonces déjame simplemente salir de esto. Volver de punta nuestra vista de diseño en. Entonces lo que voy a hacer es expandir esta tabla ampliará un poco más esta ventana, mover los botones así que debajo de la vista de cuadrícula encendido, entonces voy a expandir la vista de cuadrícula y hacerlo un poco más ancha. ¿ Verdad? Entonces, no, que sea más amplio Vamos a ver cómo se ve eso. Está bien, Así que así es como se ve la mía. No se siente todo ese inter grid on off course, cuantas más reglas aparezcan más autos tienes es más que esto se expandirá horizontalmente bien verticalmente. Perdón. Ahora, en sólo para volver a visitar o agregar toda su ventana de registro, otra modificación que tal vez quieras hacer es a la lista desplegable para tipo off car que veas que no se ha revertido a eso. Um, bueno, aspecto raro Siri está fuera de los artículos que vimos cuando solo estamos tratando de poblarlo para que podamos volver atrás y volver a visitar esa corte donde realmente estábamos vinculantes. Por lo que sólo quiero agregar una renta un record flick correctamente puede ir a ver cancha el. Entonces encuentro una función de señor de la forma donde la estábamos poblando. Por lo que en realidad estábamos poblando todos los tipos de autos eran vinculantes. El miembro de visualización, para ser nombre en el enlace del miembro de valor a ser idee. Entonces uno quiero cambiar esto el capital que d en. Entonces el miembro de valor puede ser nombre. Pero entonces lo que haré es modificar la cantera que se estaba utilizando para llenar el cuadro combinado inicialmente. Entonces lo que voy a hacer es comentar todo a esta plaza que se está utilizando otro tipo de calle . Es que sigo elogiándolos a todos porque quiero que veamos de dónde venimos y dónde vamos. Está bien. Alguien para salvar autos ire es igual a en mi entidad objeto dentro de off total tarjeta que es formalmente forma uno es entidades actuales. Entonces esa es otra razón que dije antes Mantenlo consistente porque no quieres después adivinar qué nombre usado en qué forma Si usas un nombre en todos los formularios y solo sabes que este es el nombre del objeto que estás usando, verdad? Entonces en este, usamos auto en entidades como nuestro nombre de objeto. Entonces nuestro objeto que tiempos fuera de los coches encendidos, entonces voy a hacer una cosa similar donde voy a decir que Select on. Entonces voy a hacer mi cordero, la expresión encendida. Entonces voy a crear un nuevo objeto y tú objeto abstracto sobre este nuevo objeto realmente necesito d para ser igual a Q puntos, I d. derecha. Por lo que sí necesito i d Aún para mi miembro de valor el. Sí necesito nombrar a alguien para crear un campo madre llamado nombre que se va a mover de nuevo a nombre, que ya estoy esperando. Pero entonces por nombre, voy a ampliar su orbital con sólo un lindo punto may. Y luego voy a concatenar una cadena vacía en Teoh en lindo out make y luego agregar en cola modelo. Entonces, en otras palabras, cuando recuperamos los registros de la base de datos después de que esta cantera volviera, el i d. Y estaban recuperando algún nombre de llamada de campo el cual se va dedo del pie tienen un valor de la Mick en el Cadena Indy en el modelo. Entonces si es un Honda Civic, entonces esperamos ver a Honda Civic aparecer en nuestra lista desplegable. ¿ Verdad? Entonces después de hacer eso en guy execute on, entonces cargo el anuncio toda tu ventana de registro. Después fui a obtener un error en hacer esta flecha. Voy a espiritar los detalles de la época, y sólo voy a hacerte saber que es porque nos perdimos el pensamiento más completo. Por lo que siempre digo que me gusta trabajar con listas esta estrella muy flexible en el día, realmente causan problemas. Yo marchei me voy a poner sólo en el punto policíado que me perdí antes, y luego fui a empezar de nuevo y luego vas a ver que esta vez corre y allá vamos. Por lo que ama apropiadamente esta vez y se puede ver en nuestro desplegable sí tenemos nuestro lo que teníamos como nombre está mostrando de nuevo, pero no tenemos nada como modelo en nuestra base de datos. Entonces sólo para demostrar que se va a mostrar Honda Space, sea lo que sea, aeropuerto como modelo, voy a volver a seguir. Me fui dedo del pie. Modificar los registros, ¿ entiendes? Para ir a nuestra mesa. Haga clic derecho Decir cualquier top 200 simplemente lo voy a hacer rápido y sucio para que nadie lo diga. Honda Civic. Por lo que tenemos un Honda Civic para padres. Está bien en. Yo sólo voy a asegurarme de que se comprometa en. Entonces voy a ejecutar de nuevo en vemos qué pasa. ¿ Todo bien? Por lo que saber se dejan caer en esto. Vemos aparecer el nombre, pero realmente es el make space. El modelo. Entonces los otros encima del alma moderna que estás viendo es el Mick. Muy bien, Así que eso es lo que puedes hacer para personalizar la experiencia del usuario. Porque si uso las miradas a esto, realmente no saben qué fue para conseguir que Honda y Civic aparecieran en una tierra que solo están viendo en el Civic. En lo que a ellos se refiere. Justo en. Entonces, en nuestro listado de vehículos, cuando vuelvo a visitar esa página, estoy viendo que tenemos Honda Civic apagado en blanco, en blanco porque no pusimos ningún dato para el resto fuera de esos, Está bien, Por lo que en nuestro próximo video, vamos a ver implementar alguna adición en cualquier cosa o agregar y editar funcionalidad para nuestros discos en nuestro auto en remolque. Registra función de listado de vehículos. 28. Crear y editar vehículos y editar: en este video, vamos a empezar a construir algunos funcionales para detrás de nuestros botones toe add, edit on delete o cars from o database antes de continuar, aunque quiero mostrarles algún cambio que hice aquí a la vista de cuadrícula donde estábamos llenando vista ordenada con el modelo personalizado o una colección o una lista fuera del modelo personalizado proveniente de nuestra base de datos para el modelo make Vin year y menos simplemente número en la columna para un número de matrícula habría mostrado esto en caso Camel, lo que ustedes saben es indeseable para mí en cuanto a presentación. Entonces lo que hice fue ir por debajo en realidad establecer un tix de encabezado personalizado para la cuarta o la quinta columna que tendría frijol en nuestras vistas de cuadrícula. Recuerda que esto sería 01234 por lo que el 4to 1 habría ganado el arte de texto de encabezado personalizado. Por lo que para poner en alguna funcionalidad primero necesitamos entender el comportamiento que estamos apuntando para un inicio temprano al que estoy apuntando. El comportamiento que estoy esperando es que un usuario seleccionaría una columna en, luego haga clic en un auto o simplemente pincharían. Agrega auto nuevo en nuestro ya sabes, aparece una nueva ventana, lo que les permite llenar el formulario click. Presentar el. Vamos a hacer al menos la carne en el modelo en el veamos el número de matrícula obligatorio, para que sepas que puedes personalizar tus propias validaciones. Pero voy a poner en alguna cantidad de validación en esa forma si seleccionan flecha y luego hacen clic en editar que la expectativa es que una ventana similar a la ventana add new car se abrirá , permitiéndoles modificar los detalles fuera lo que sea registrar el seleccionado el, luego cuando hagan clic, enviar nuestro para ver si cambia. Se actualizará que en la base de datos de manera similar, cuando el selecto un rol y luego haga clic en eliminar, queremos toe one le preguntó a un Mardi seguro qué quieren eliminar, y si proceden a dar click sí, entonces procedemos a borrar el auto. Entonces en este video vamos a estar mirando unas cuantas cosas donde vamos a estar creando una nueva forma, y luego estaremos viendo la sobrecarga de constructor como todo el fin de semana pasados valores en nuestras formas que esta forma cargará con un conjunto de valores. Entonces en esta situación, realidad vamos a usar la misma forma para el auto add new en la edición. Porque son los mismos años de inicio en los que estamos construyendo una forma. Entonces nos fijamos en pasar valores en, como en el momento fuera de carga para que nos volvamos diferentes. Ah, viene de la misma forma sobre diferentes funcionalidades. Yo quiero hacer algunas modificaciones a mi codiciosa visión. El primero que voy a hacer es incluir el i. D. Así que sí construimos el modelo personalizado. Dijimos hacer modelo. Todas las cosas que queremos mostrar al usuario están por aquí, y te das cuenta de que son una especie de avaricia fuera. Entonces si pasas sobre él, la tierra que bombilla te está diciendo realmente que ya que el nombre personalizado que le estamos dando es el mismo que el nombre de columna real que realmente no necesitamos, toe mismo E es igual al mismo nombre de columna. Entonces si solo dejas que el bote de forro y usas su sugerencia el nuevo C que simplemente lo reemplaza , entonces ve que solo podrías referirlo como yo. Está bien, así que podrías pasar y limpiarlo si quieres, pero voy a dejarlo como está. No. Para que quede claro qué está pasando exactamente. La modificación que quiero hacer, sin embargo, está en la d. porque cuando selecciono nuestro rol en, entonces quiero dar clic en editar. Necesito saber qué Ron seleccionando y la mejor manera de saber qué habitación seleccionando o qué auto estoy seleccionando es saber el yo d fuera de ese vehículo. ¿ Verdad? Entonces de la misma forma que necesitábamos i d cuando lo estábamos guardando en al corriente un informe, recuerden que fueran a enlazar el miembro de valor fuera i d Necesito una forma de encontrar ese miembro de valor en mi lejos de mi grilla para que cuando haga clic en él, pueda hacer un buscar ese automóvil en particular basado en su identificador único, que es d en. A continuación, devuelve esos datos al formulario para que pueda estar listo para su edición. Entonces lo que voy a hacer es solo continuar debajo del número de matrícula on, Entonces sólo voy a decir lindo que yo d Así que podría decir I D es igual a lindo i d. Pero entonces la bola del Relámpago una vez más aparece diciéndome que esto es redundante. Entonces no necesito decir que la idea es igual al mismo nombre de columna. Entonces ¿solo conducir mi punto a casa o para apaciguar estudio visual? Yo sólo voy a ver un lindo que i d Sólo para demostrar que no tenía que especificar un nombre de columna todo el tiempo, ¿ verdad? Entonces estoy incluyendo lindo i d en el conjunto de datos que se está devolviendo, lo que significa que mi cuadrícula de datos definitivamente va a generar una columna para el I D, que no necesariamente quiero causa no necesito ver la columna I D. Entonces lo que voy a hacer es debajo donde dije el texto de cabecera para el número de matrícula . Fui a decir GV lista de vehículos puntos columnas en entonces puedo especificar que quiero la Quinta Columna Cardwell La sexta columna o columna con el subíndice cinco, que representaría mi d. lo quiero. Quiero que su visibilidad se establezca Toe Falls amigo. Entonces a pesar de que está ahí, no aparecerá. Pero sé que está ahí. Yo estoy sentado ahí porque sé que cuando necesito el valor de él, puedo obtener ese valor. Entonces lo estoy poniendo ahí, pero lo estoy haciendo oculto. Está bien, así que sigamos adelante y preparémonos para agregar formularios de edición. Por lo que sólo voy a grabar mi proyecto en una nueva forma. Voy a llamar a este anuncio que vehicula o añadió vehículo, y entonces esa es mi nueva forma. Entonces voy a explorar algunas nuevas técnicas de edición, um, en esta. Entonces lo primero que quiero hacer es cambiar el título, Así que quiero Bueno, en realidad voy a poner el título sobre la marcha. Entonces les voy a mostrar que muchas de estas cosas se pueden controlar desde la cancha atrás, um, um, en ese momento, como en tiempo de ejecución, correcto. Por lo que estoy usando para dos propósitos agregando y editando. Pero cuando va a ser el momento de añadir algo, quería decir un vehículo, pero quiero leerlo. Yo quería decirlo vehículo. ¿ Qué? No quiero que diga editar vehículo, ¿ verdad? Entonces te voy a mostrar cómo puedes sentarte eso durante un tiempo de carrera. Otra cosa que queremos ver en esto es el apagón Leo. Entonces si voy a mi caja de herramientas on, voy a la sección de contenedores y veo que tengo unas cuantas capas. Tienes el panel de piso, que puede Toma cosas y las almacena uno al lado del otro automáticamente de la caja de grupo, cual se suele usar como cuando tienes botones de radio y casillas de verificación que quieres asociar entre sí. Tienes un panel. Tengo contenedor dividido. Tienes controles superiores y tienes mesa Leo alguien para pedir prestada la mesa, un voto aquí, arrastrarla sobre, ya sabes, seca sobre la sección que yo quería y te das cuenta que es sólo una caja grande, ¿ verdad? Una caja de rejilla grande. Entonces lo que pretendo hacer aquí es poner las etiquetas a la izquierda en la Contras a la derecha, realidad pueda redimensionar esto. Y te diste cuenta de que la cuadrícula que las celdas realmente redimensionan en consecuencia. Tengo un barco que Meachum una base de datos tiene 12345 siente que hay que llenar así que necesito al menos cinco rollos. Por lo que usando la corriente negra en la parte superior derecha en la esquina, puedo agregar surgió. Puedo agregar columnas como necesito seguir. También puedo editar las filas y columnas. Yo quiero agregar unas reglas sobre. Como dije, necesito fuego. Entonces eso es 12345 Así que tengo un extra. Puedo quitar el último para el costado. Esa fue la columna. Déjame deshacer eso rápidamente. Muy bien, alguien dedo del pie quite el último rollo, en realidad. Y luego te das cuenta de que, ya sabes, dimensionar no es tan agudo. Por lo que siempre puedes simplemente drogarte al redimensionar como más te convenga. Y esto puede que aún no funcione o para ser el mejor, por lo que en realidad puedes simplemente ir a editar filas y columnas en. Entonces puedes ver el tipo off dimensionando uno para tus columnas en. Puedes usar el desplegable en la parte superior y ver Rose, y puedes elegir el tamaño que quieras para tus reglas para que veas que tienen porcentaje y tienes a alguien absoluto para seleccionar todos. Y luego voy a decir que quiero que todos sean 50% eso y hago click. Ok, ¿ves eso? Todo tipo de normaliza. Y si me expando, son todo tipo fuera expandirse con eso. ¿ Verdad? Entonces esa es mi mesa e haute on. Entonces voy a caer en el botón agregar, así que apenas crecí sobre mi botón click. OK, encendido, entonces quiero que mi botón vea guardar cambios, ¿ verdad? Entonces tengo un botón que es que guarden cambios. Andi, voy a poner ese a la izquierda y luego voy a tener otro botón que va a ver a canciller, ese que estoy poniendo a la derecha. Entonces, ya sabes, solo estamos construyendo esto para que puedas tener ideas de diseño diferentes de mí, y eso está bien. Eso es realmente excelente si estás pensando de manera diferente a mí. Pero si no lo estás, entonces eso también está bien . Estamos en esto juntos, así que solo estoy colapsando un poco esto. Entonces voy a poner encima o etiquetar para que sepamos que cada forma que tratamos de poner una etiqueta en la parte superior. Entonces me voy a esta etiqueta ver anuncio o editar auto nuevo tan extraño auto derecho para en realidad voy a dejar esta etiqueta en blanco encendida. Mejor aún, voy a lograrlo. Ves, lo que quería ver es en cuanto más así que voy a simplemente cambiar su nombre para que conozca el control desde el Corbyn en algún lugar para llamar a su título lbl. Muy bien, Así que hasta sus etiquetas, Sí. En realidad no estábamos nombrando a las etiquetas porque no necesariamente necesitábamos llamarlas desde la cancha detrás. Pero quiero llamar a este, y quiero sentir el contenido relativo al estado de ánimo que esta forma está delante. Por lo que una vez más, estoy creando un formulario lo estoy llamando a editar vehículo. Esta forma va a tener el doble propósito fuera proporcionar campos para Adina auto versus editar un auto. Justo en agregar y editar son más o menos las mismas operaciones. Bueno, al menos los mismos campos están involucrados en ambas operaciones, así que en la caja de herramientas, sólo voy a apoderarme de unas etiquetas, drogarlas, dejarlas dentro de estas reglas. Entonces te puede tener Te puede molestar tratando de ponerlos, así que solo estoy pegando pegando para que todos vayan al lado izquierdo Y luego solo elimino los extra de la respuesta correcta porque realmente no los quiero ahí encendidos. Entonces me drogaré sobre los cuadros de texto. Entonces todo aquí es realmente un cuadro de texto de todos modos. Muy bien, entonces cuadro de texto dentro de ese. Y solo estoy pegando, Así que estoy llenando todos estos con cuadros de texto. Entonces modifico mis etiquetas para que la primera etiqueta sea para el me fuera del auto. El segundo nivel sería para las propiedades de clic derecho más grandes y las propiedades europeas . Puedo moverme un poco más rápido, por lo que el otro sería para el modelo. Y entonces quiero decir, en una situación del mundo real, probablemente quieras darles listas desplegables para mí puede modelar, causar que en ellos estén escribiendo en Honda sin en cada uno son Toyota y deletreándolo con un extra e cosas así. Por lo que probablemente quieras darles bajadas. Pero por la simplicidad fuera de esto de estos ejemplos y estas lecciones no voy a entrar en todo eso. Yo sólo quiero que tengamos algunos conceptos clave a nuestro alcance. Entonces el siguiente sería el vin. Se acabaría el próximo naval. Niza es o son año hermano on. Entonces el final sería el número de matrícula. Está bien, para que fuera rápido Cada etiqueta cambie la propiedad para el texto. Si quieres, puedes conocerlos más grandes y más pronunciar. Eso está bien. Yo sólo voy a dejar los que nosotros por No. Muy bien, entonces. Contamos con los cuadros de texto respectivos para obtener los valores para cada uno. Ahora pasemos al expediente de la corte y empecemos a agregar algo cool que hará más o formar un poco más dinámico. Entonces como es típico, tenemos nuestra clase. Tenemos el nombre fuera de la forma heredando de una bestia formulario de última llamada. Y entonces tenemos nuestro constructor base que está inicializando los componentes, ¿no? No, en este constructor base, realidad puedo comenzar a establecer otras cosas. Entonces quiero tal vez establecer el título. Entonces si este constructor o el formulario se carga usando este constructor, entonces quiero un texto de título para ver agregar vehículo nuevo. Muy bien, entonces tal vez yo quiera el pozo. Podría cambiar el texto del botón también así, como dije antes. Queremos asegurarnos de que ponemos controles de tienda de nombres, así que en realidad salté ese paso. Entonces volvamos atrás y pongamos nombres a nuestros controles correctamente para que no tengamos problemas avanzar o cuadro de texto uno es realmente TB. Mick, ¿verdad? Entonces es un fijo. Paseos por el MEK. Fuera del vehículo. Tenemos el 2do 1 siendo modelo de TV. Tenemos el 3er 1 siendo T B V i n Stevin. Tenemos el 4to 1 siendo TB año y luego este es el número de matrícula de TV. Por lo que licencia de TV y otros sin duda licencia sensible y ningún derecho. Y luego para nuestros botones en fue dedo del pie tener Bt y guardar justo en. Entonces para cancelar, me fui de Bt y cancelo. Y luego mientras estoy aquí, sólo voy a armar esos rápidos eventos. Por lo que bgn guardar evento rápido y Bt y cancel click event una vez más para crear esos, solo tienes que hacer doble clic o controlar y se generará el evento click. Ahora, vuelta en nuestro expediente judicial, voy a crear un segundo controlador. Entonces esto es lo que llamamos derecho anular o sobrecargar. Entonces tenemos este concepto en programa llamado sobrecarga de funciones y en Opal o pecan realidad, Overlord Constructors, ¿ verdad? Por lo que siempre constructor, eso está tomando cero perímetros en fue sobrecarga del dedo del pie. Este constructor en voy a ir a querer sacar a un Parmenter de tipo fuera del auto, y luego lo voy a llamar auto. ¿ Verdad? ¿ Sabes qué? Voy a ser muy específico. Y yo sólo diría auto remolque editar para que sepamos exactamente el propósito fuera de esta propiedad, correcto, correcto, así que carro editar. Muy bien, Entonces cuando carguemos el formulario con este constructo se espera que pasen sobre objeto fuera tipos de tipo de auto encendido, entonces lo usaremos para llenar los puntos de datos en los cuadros de texto tal como son. Ya tienen razón. Entonces fuera de curso, si estoy si estoy cargando el formulario, entonces necesito inicializar componentes. Entonces eso tiene que estar ahí. También voy a tomar la parte donde estoy poniendo el título. Entonces si está cargado con este, que es para el modo de edición, entonces voy a decir editar vehículo, ¿no? Entonces si señoramos la granja usando este constructor, es el otro vehículo nuevo. Si cargo el formulario usando el segundo constructor, que es overlord de lo que es. El editar dicho vehículo además de fijar el título para la edición. Lo que voy a hacer es crear una función llamada Populate Fields. Está bien, Entonces lo genial de los estudiantes de visas que puedo escribir una función llamada No tengo una Función llamada Populate siente que acabo de escribirla. Y en cambio, alinear Bull se está acercando con una X Roja y me está preguntando, ¿Quieres generar el método para esto? Entonces si hago clic en eso, entonces es alergólogo automático genera que mi pensamiento para mí, ¿ verdad? Entonces hace que según sea mucho más eficiente de lo que podría ser de otra manera, ¿ verdad? Por lo que dentro de los campos poblados, voy a estar fijando los valores de campo del dedo del pie. Sean cuales sean los valores de campo coincidentes que vienen de estos objetos. En realidad, voy a pasar este objeto en campos poblados de remolque, así que estoy pasando tipo de tipos fuera de auto A eso en día, voy a asegurarme de que esta función también leyes fuera del ritmo entrante. De acuerdo, así que solo podría llamar a este auto solo para mostrarles que una vez más, estoy consiguiendo un brazo de propiedad poniéndose en objeto fuera de tipos tipo de auto. Correcto. Por lo que esto representa los datos de la base de datos sobre esto son los objetos que tienen los datos que vamos a estar editando en el primero en. Entonces lo estoy consiguiendo en este constructor. Um, inicializando mis componentes. Estoy configurando el título fuera de todo el formulario para ser editar vehículo. Y entonces estoy viendo quiero empezar a poblar los campos en el formulario. Aquí están los datos. Entonces dentro de la función real, popularmente, se siente que estoy consiguiendo ese objeto. Entonces solo lo estoy llamando tarjeta o socialmente, que no necesariamente tiene que ver tener el mismo nombre. La mayoría, sin embargo, tienen el mismo tipo de datos. Porque si dijera interior, entonces eso causaría una flecha en la llamada de función causar alguna vista? Bueno, um, pasando algunos tipos de datos inválidos. Por lo que el tipo de datos tiene demasiado. El nombre no necesariamente tiene demasiado puesto. Entonces lo que voy a estar haciendo dentro de populate siente es llamar a cada cuadro de texto. Entonces si digo TB, empecemos desde arriba, no hagamos texto. ¿ Todo bien? Va a ser igual dedo del pie objeto viniendo en punto en entonces los datos correspondientes que debería tener ese cuadro de texto , así que puedo hacer eso para todos fuera de ellos. El texto de punto del modelo de TV es igual a un modelo de punto de coche. Está bien, así que voy a ustedes pueden hacer una pausa aquí y tratar de hacerlas todas por su cuenta. Yo sólo voy a acabar con ellos. Muy bien, Así que si te detengas y lo probaste por tu cuenta, entonces tendrías algo parecido a esto. Si tienes un aire Otranto pone el año en el cuadro de texto, entonces recuerda que necesitas convertirlo en una cadena para que entre en el texto fuera del cuadro de texto. ¿ Verdad? Entonces, una vez más, estamos viendo que podemos cargar esta forma normalmente, ¿no? O podemos decidir llamar al constructor con algunos datos. Empuja algunos datos a esto. Construir una versión fuera del formulario en. Entonces ese constructo procederá a poblar los campos con algunos datos. También voy a presentar ah, propiedad privada, y voy a llamar a ésta. Es Edyta más así que solo estoy usando esta flug, que es un booleano es, y amarró bien. Y ni siquiera voy a la inicializada todavía. Sólo lo estoy declarando. Entonces si es el constructor sin datos iniciales, entonces sé que no estoy en edición. Más alguien que decir está en su amarrado es igual dedo del pie cae, ¿ verdad? Entonces se inicializa ahí mismo si es el constructor con datos de lo que sé es que está amarrado es igual a verdadero. Entonces por demasiado, voy a estar usando esta bandera dentro de mi Bt y ver para poder determinar el comportamiento porque es un tipo diferente de cantera. Si estoy insertando el ITER versus si estoy actualizando datos, así que solo voy a rastrear el valor off es editar más. cuando se haga clic en el botón guardar, sabría si es más o no. Si es algo más de lo que hago una cantera de edición, si no es más que nadie, adecuadamente, eso es casi todo lo que necesito hacer ahora en mi evento BT y guardar Button click. Lo que vamos a hacer es hacer como un rápido si las declaraciones bajo ver si es editar más que recordar que cuando estamos en C agudo, podemos escribir esto en acortar en esta traducción realmente si es editar más es equivalente a verdadero. Eso es realmente lo que eso es preguntar, ¿verdad? Entonces si es algo más de lo que queremos hacer otra cosa, queremos hacer otra cosa. Entonces si es más de lo que queremos escribirlo frío aquí en si no es más de lo que estábamos en agregar acorde aquí, bien, así que sólo voy a dejar los comentados para no en. Entonces el click de chancel es bastante peor que cerrar la ventana. Entonces si hago clic en cancelar, la expectativa es que esta ventana se cierre por lo que en realidad solo puedo decir en el Bt y cancelar click. Apenas puedo ver este punto de cerca. Está bien, así que recuerda que esta palabra clave es especial y específica para la clase real. Es solo un objeto fuera de la clase en el que se está utilizando, por lo que esto representa la ventana add edit vehicle on. Entonces la ropa oscura es lo opuesto a los espectáculos de punto. No estoy seguro muestra la ventana que cierra la ventana, así que si pateo, click, cancelo, cancelo, entonces sólo cierra la ventana, ese es más o menos nuestro dicho encendido. Entonces te das cuenta de que el estudio visual es en realidad verde. Todo esto Así que no es cada vez que realmente necesitas usar la palabra esto para que en realidad solo pudieras ver cerca y sabrá que él tan se cierra. Ahora estamos haciendo buenos progresos. No estoy listo dedo del pie. Toe bastante no del todo listo llamado el editar y agregar funcionalidad. Aún así voy a volver a mi ventana de listado de vehículos administrar Onda. Simplemente podemos echar un vistazo rápido a ese diseño una vez más y tenemos el add new carbon. Y tenemos alguna expectativa de carbono de que cuando hagan clic en auto nuevo, vamos a mostrar una nueva forma. Entonces sólo voy a hacer eso. Entonces cuando hagan clic en eso, voy a ver esto. Perdón, voy a ver anuncio editar vehículo el día. Sólo voy a llamar si lo m o solo puedo usar la sugerencia de estudio visual. Perdón. Y entonces amplio interés es igual a una nueva instancia fuera en un vehículo. Una vez más, siempre podríamos simplificar esto diciendo vier, si hay algo encendido, entonces sólo voy a decir agregarla, it vehículo punto corto. Entonces sólo voy a mostrar esa nueva ventana y fuera de curso quieres la aparición MD I porque no quieren sólo mostrar esto. Recuerda que cuando solo mostramos la ventana, es una ventana libre para hacer cualquier cosa. Por lo que quería saber que es peer int es la ventana media. Por lo que fui después a este cuarto de poco diferente donde voy a ver que el anuncio it object que M D I. Ah, padre es igual dedo del pie en. Entonces voy a tener que ver este punto MD I aparición. Entonces permítanme explicar exactamente qué está pasando aquí. Recuerda que estamos lanzando gestionar listado de vehículos desde dentro fuera ejército y ventana. Las ventanas medias son apariencia MD. Entonces cuando se hubiera lanzado la ventana de listado de vehículos de gestión, se habría lanzado dentro de mí y ventana. Sabrías que ventana media es su apariencia MD, ¿ verdad? No, quiero lanzar otra ventana en el comando fuera del listado de manejo de vehículos, que es un niño fuera de mí y ventana. Por lo que necesitaba saber que también es un niño fuera de mí y ventana en las anteriores. Habríamos dicho que cuando lances y me dejas solo volver a mi me y canchas de ventana A can, ya sabes, ser re familiarizado con ello. Cuando estábamos lanzando listado de vehículos de dinero, dijimos que esta es la M la apariencia. Este ser yo y ventana en esta situación significa ventana no es el que está haciendo el lanzamiento. Por lo que puedo ver esta es la ventana principal porque entonces eso haría administrar el listado del vehículo al padre para mi lo agregado, um ventana, lo cual estaría mal. Entonces en cambio estoy viendo esto, que representa el listado de vehículos maneja que aparece MD I, que me representa en ventana. Estoy viendo que cualquiera que sea la apariencia MD está fuera de este formulario que es el padre para el vehículo add edit. Está bien, así que eso es todo lo que estoy haciendo en esa línea. Entonces, ya sabes, situacional tú justo después de ningún hotel Manu cae justo en algunas situaciones. Es esto porque las apariencias MD hacen bajo la llamada. A veces un niño fuera del MD I apariciones haciendo esa llamada directa. Entonces solo necesitas ver a quien sea mis apariciones. Esa también es tu apariencia. Entonces eso es todo lo que estamos haciendo en esta línea. Digo que mi apariencia está puesta en tus padres. Entonces estamos asegurando esa ventana. Muy bien, así que esto está cargando nuestro vehículo add edit usando el constructor normal en otros eventos botton click . Especialmente como en la edición. No, necesitaremos el dedo uno. Recuperar los datos del auto a editar. Onda pasó entonces esos datos al formulario, ¿verdad? Por lo que una vez más, el comportamiento esperado es que la persona va a hacer clic en la cuadrícula, haga clic en la ruina en la cuadrícula, luego haga clic en editar. ¿ Verdad? Entonces, primer lugar, necesitamos saber en qué rol se hizo clic o al menos el valor o el I d. Valor fuera del crudo que se hace clic en seleccionado. Entonces aquí acabo de esbozar algunos fuera de los pasos que tenemos que dar cuando hacemos clic en el botón de edición . Entonces uno necesitamos sacar el i d del rollo seleccionado. ¿ Verdad? Entonces cuando la persona hace clic en la regla y luego hace clic en editar, necesitamos saber cuál es el yo d fuera de ese rol, justo después de sacar la idea del camino, entonces necesitamos Corey nuestra base de datos, lo que significa que necesitamos dedo del pie iniciar. De acuerdo, ya tenemos db. Por lo que tenemos una conexión al debate. A. B ya está activo porque, bueno, eso es lo que sentimos. El retículo. Entonces ya tengo ese objeto. Por lo que necesitamos consultar la base de datos para el registro asociado a eso d en. Entonces necesitamos dedo del pie lanzar nuestra ventana similar a lo que hicimos aquí. Excepto que vamos a estar lanzándolo con los datos. Entonces recuerda una vez más que tenemos dos constructores. Tenemos un constructor normal que no espera demasiado. Solo necesitas saber. Se supone que hay que añadir que tenemos uno que está esperando que se transmitan algunos datos. Esa es la que vamos a estar usando cuando vamos a estar lanzando con fines de edición son. Entonces empecemos por sacar la idea de la regla seleccionada alguien para salvar nuestro i d besos inferiores igual dedo del pie en. Entonces voy a llamar a mi nota, que llamo la lista de vehículos en ese entonces. Tengo una propiedad que dice roles seleccionados, pero lo notan reglas seleccionadas porque eso en realidad es un cedro de colección. Se trata de una colección de filas seleccionada porque tal vez la persona pueda seleccionar más de una reglas, ¿ verdad? Pero estamos esperando que sea sólo un camino que van a seleccionar. Y es el par. Si selecciono más de uno, sólo queremos el 1er 1 derecho? Entonces esta es una suposición salvaje que podemos llamar defensivamente en el futuro. Pero ahora mismo solo lo estoy manteniendo simple. Entonces fuera de la Rosa seleccionada, quiero el 1er 1 Así que es una colección que puedo usar. Mis corchetes especificaron que quiero el 1er 1 Entonces digo punto Entonces quiero fuera de esa regla . Tenemos células. Las celdas representan las columnas, ¿verdad? Entonces quiero las celdas, pero luego fuera de las celdas, que también es una colección realmente sólo me interesa la que se llama d Déjame tener la propiedad Así que tenemos más espacio para escribir 1/4 para poder usar índice sin nombre. Entonces en algunas situaciones, se quiere el número algunas situaciones. Simplemente quieres especificar el nombre de la columna porque si agrego más columnas aquí, no puedo ir por números, correcto. Tendría que cambiar mi cancha cada vez. Entonces lo que voy a hacer aquí es decir, quiero una celda con el nombre que d Enseguida. Entonces, después de conseguir esa celda, quiero el valor en esa celda. Entonces todo va a hacer. Vemos dame al seleccionado el primer rugido seleccionado, luego dame la celda llamada idee sobre lo que sea el valor, aunque no sea visible, porque deberíamos hacerlo. Pero sea cual sea ese valor, quiero almacenarlo dentro de esta variable llamada idee. Sepan que sabemos el yo d fuera de la regla que se seleccionó. Yo puedo salvar nuestro auto, no sabe solo quiero uno es igual toe underscore db dot la tabla de la que pretendo sacar el auto, que es los tipos off cars dot y ellos saben que vamos a mirar otra función en Enlace llamado primero o predeterminado. Muy bien, para un inicio default fueron primero en fueron primero nuestro default. Entonces la diferencia es que primero se sentirá si no trae nada, valores predeterminados se sentirán con gracia y te darán un mensaje de error agradable, sensato o simplemente devuelto, lo sabe en el primero o por defecto. Y luego voy a hacer lo que habremos llegado a amar. No, una expresiones lambda. Voy a decir Q. Entonces mi flecha, entonces todo lo que estoy diciendo es darme el primero o default más o menos. Esto es como una cláusula eran donde Q atracó. Entonces ves que la Q me está dando acceso a todas las columnas. Me interesa La columna idea donde el valor en la columna I D es equivalente al I D que acabamos de recuperar o seleccionar la codicia. Está bien, así que todo esto va a hacer es ejecutarlo. Ah, y me está dando un error aquí porque yo d es en realidad un objeto. Muy bien, entonces lo que me gustaría hacer aquí probablemente sea solo hacer análisis implícito del dedo del pie en int para ello. Entonces no, esto es devolver una intención a la que d. Entonces estoy comparando la columna entera con el valor entero que regresa de esta operación . Sepan que tenemos en el auto. Entonces es o conseguimos ese auto o conseguimos no, eso es lo que primero significa nuestro defecto justo encendido. El supuesto es que si están haciendo clic en la cuadrícula que esa idea está en la base de datos, y luego vamos a lanzar o formar con los datos. Por lo que también voy a ver a Vier que va a usar el mismo nombre de objeto. Y debido a que están en funciones diferentes, no se interfieren entre sí en. Pero entonces éste va a ser igual dedo del pie una nueva instancia off add edit vehicle. Pero entonces estoy pasando los datos que está regresando de la base de datos en la forma fuera de auto . Está bien, así que me fui a lanzar una nueva instancia fuera de esta ventana. ¿ Esta forma pasa en los datos provenientes de la base de datos en. Entonces puedo a Skopje estas dos líneas donde estoy sentado, el MD aparente y lo estoy sentando demasiado corto para que veas que están haciendo cosas similares , excepto que es un poco más de trabajo porque dedo te edite después de hacer un look up para el i d. Para que el registro sea editado el, entonces puedes pasarlo en remolque. La nueva ventana, ¿verdad? Entonces cuando pase a la nueva ventana, sólo voy a volver allá se va a lanzar con este constructo er que es qué? Lo sentimos, Este constructo er, que está inicializando un componente, estableciendo un texto diferente, configurando el modo de edición para que sea verdadero en, luego poblando unos pocos para que cuando los Señores de la granja. Cargarás con todos esos valores ya en los cuadros de texto. No, vuelta en nuestro listado de manejo de vehículos. Yo sólo voy a rematar todo y hacer el evento delete freak, que va a hacer algo similar. Seleccionan la cuadrícula, por lo que necesitamos el i d fuera del valor seleccionado de la cuadrícula en cuando dedo del pie reutilizar esta puntuación en. Entonces necesito hacer un vistazo para ese vehículo. ¿ Verdad? Entonces hago lo mismo ahí, Pero entonces esta vez voy a dedo borrar vehículo de mesa amenaza. Entonces después de que consiga el vehículo que está siendo referenciado por ese rol seleccionado que voy a decir subrayado d d tipos de puntos off cars dot Quitar esta vez. Entonces cuando estamos insertando datos, sí agregamos, cuando nos estamos moviendo, vemos al Dr. Moules encendido. Entonces fui a pasar en lo que sea que quiera quitar, que es el auto que acabamos de hacer busco en entonces después de todo eso, solo voy a decir db dot Guardar cambios duelen. Entonces cuando seleccionamos algo de la cuadrícula y luego hacemos clic en borrar auto son el botón de borrar , luego se quitará encendido. Entonces voy a hacer una cosa más donde digo que la vista de cuadrícula debería refrescarse. Correcto. Por lo que me voy de pie Refresca la vista de cuadrícula después de que esto haya ocurrido. No, De vuelta en nuestro formulario add edit, lo primero que quiero es mi conexión a la base de datos. Entonces solo voy a copiar el acorde existente porque una vez más, quiero mantenerlo consistente esta vez el nuestro. Entonces solo voy a copiar esto, a traerlo, luego voy a hacer la inicialización respectiva. Entonces esto podría ser como un doble paso en este punto, Una oreja diciendo: Bueno, realmente no quiero hacerlo de esta manera. Eso está bien. Si puedes encontrar una manera más eficiente, siéntete libre de avisarme, Um quiero decir, hay más eficiente con no estoy diciendo que no haya una manera más eficiente. Pero si te sientes libre de avisarme si lo haces de una manera diferente bien, realidad puedes simplemente hacerlo en una línea así como esta. Andi sacó el doble trabajo, ¿verdad? Para que pudieras hacer eso. Nosotros y lo tenemos inicializar todo en una sola línea. Eso está bien. ¿ Qué? Simplemente lo voy a dejar así, ya que ese es un patrón que hemos estado utilizando para conocer. Entonces después de inicializarlo, lo que voy a hacer es seguir adelante justo en la cancha para la edición, ¿ no? Entonces después de dar click guardar lo que necesitamos hacer es remolcar construir, un modelo que representa lo que fue editado en. Algo importante a tener en cuenta es que cuando estamos editando, necesitamos mantener el seguimiento del I D fuera del disco que se está editando. Entonces tenemos saltos ese paso porque aquí dije, todos fuera de los cuadros de texto para tener los valores. ¿ Qué? No dije que fuera un valor para el objeto que se está editando. Entonces, no, A veces haces algo, tomas una decisión, y luego te das cuenta más adelante que te perdiste los pasos. Entonces eso es parte del proceso de desarrollo. Entonces voy a volver a mi diseño. Fui a mi caja de herramientas en traer una etiqueta a diez centavos, solo voy a llamar a esta etiqueta. Voy a enmascarar en blanco el texto. También voy a hacer que no sea visible, así que voy a cambiar la propiedad Visible toe falls también me fui a cambiar su nombre Toe l b ah, I d Muy bien, que sepa exactamente cómo llamarlo en un tribunal detrás. Entonces una de las primeras cosas que me voy a sentar es en realidad el texto para lbl i d. Así que voy a ser d Eso toma es igual a los muelles de autos. D derecha. Entonces estamos consiguiendo que el objeto del auto en idee se acerca todo Así que es ver cuentas que las cuerdas tienen que hacerlo a cadena porque lo estoy almacenando dentro de un texto verbal rojo en lugar de una variable de cadena. Entonces eso es todo lo que estoy haciendo. Sólo estoy sentado en el dedo del pie de etiqueta Tener el i d siendo rastreado para que sepa exactamente lo que d pertenecía al disco que se estaba actualizando. Ahora que tengo todos los datos que necesito, lo que voy a hacer en primer lugar es buscar el disco que se estaba editando. Entonces, como dije, siempre hay que hacer estos Look up. Entonces por eso era importante para nosotros rastrear el i d. porque en el momento libre estamos hablando Guardar puedo obtener el i d de mi formulario para que pueda ver var i d es igual a en Entonces puedo obtenerlo de etiqueta el texto que sabemos es una cadena. Entonces eso es una cuerda. Quiero un V. Quiero una variable indigente Nuestro valor de entrevista otro Alguien está fuera a hacer un análisis de pensamiento No puedo hacer la conversión implícita porque eso no funciona cuando es una cadena siendo convertida derecha Segundo estaba en la oscuridad Pires qué hay en mi etiqueta i d en Almacenarlo adentro fuera eso en entonces puedo hacer Ah, buscar el auto donde guardar nuestro auto es igual dedo del pie Y estoy seguro que solo estás completando mi frase están escribiendo it'll antes de hacer donde digo db los tipos fuera de autos no primero o valores predeterminados En cualquier momento que quieras un registro, puedes usar primero o por defecto Get over Lambda expressions open running on then sake you dot i d es equivalente al i d. acabamos de volver de nuestro formulario No, tenemos o auto objeto el. No estamos del todo seguros de lo que se editó porque somos cinco se siente cinco cuadros de texto no sabemos si se poblaron. Si se borra la visera, aún no lo sabemos. Entonces lo que voy a hacer es sólo un auto no encendido. Entonces vea, para cada uno fuera de ellos, modelo de Cardell es igual al texto que está dentro del modelo de TV que el cuadro de texto del modelo de TV justo encendido . Más o menos eso es todo lo que voy a hacer por todo su SOCAR no hacer es igual dedo del pie cualquiera que sea los valores en TV, texto Mick dot. Correcto. Y voy a seguir haciendo eso por todos ellos. Pueden hacer una pausa aquí y terminarlos. Encuentra que a medida que avanza, puede que tengas que hacer bastantes convergencia de datos hacia y desde así arriba dónde convertir de entero a cadena para meterlo en el cuadro de texto y luego debajo tenemos que convertir de cadena en entero a volver a meterlo en la base de datos después de llenar Todo de las propiedades son valor probable. Entonces el único que no estoy sentado su i d. no necesito poner el i d porque toda la operación se basa en que la idea es la misma en la idea no habría cambiado justo después de hacer todo eso, yo solo diría, db dot guardar cambios. Y entonces esto presentaría todos fuera de los valores potencialmente nuevos, aunque sean valores antiguos. Por lo que aunque no se hiciera ningún cambio real, presentaría todos fuera de esos dedos la base de datos para nuestro auto nuevo. No, se haría una operación similar por agregar algunos simplemente van a hacer, agregando rápidamente donde voy a construir un auto. Modelos, yo dir 29. Validaciones de datos de los datos de los vehículos y la de la excepción y la manidad: Oigan, chicos, bienvenidos de nuevo en este video, sólo vamos a revisar algunos de los cambios que habrían hecho desde la última vez una palabra creando sobre agregar forma de edición para nuestros autos. Voy a empezar con la ventana de listado de manejo de vehículos donde te das cuenta de que agregué lo que etiqueté como botón de refrescar. Por lo que este botón de actualización solo refrescará lo grande cada vez que se haga un cambio. Entonces tomémoslo a dar una vuelta. En primer lugar, empecemos el auto add new. Entonces al agregar un auto nuevo, agregué validación al formulario para asegurarme de que al menos una marca en el modelo nuestra presencia . Cuando haga clic en guardar cambios, entonces voy a conseguir esto. Por favor, asegúrate de proporcionar una marca en el modelo. Entonces si voy a agregar uno nuevo y digamos que tenía un Suzuki Onda Swift encendido, entonces hago clic en guardar cambios. También puse en un try catch porque entonces año está esperando nuestros valores. Podemos analizar en interes cuando hago clic en guardar cambios. Entonces mi flecha sale de mi excepción, ¿verdad? Entonces si proporciono un cambio Ah, año. Perdón. Y veo 2013 en Dwell. Esos son los únicos tres campos que son absolutamente necesarios para que funcione y haga clic en Guardar cambios Se pone en otro cuadro de mensaje. Esa es una operación de inserción completada. Refrescar. Genial ver cambios, ¿verdad? Entonces sí discutimos que queríamos administrar la experiencia de los usuarios entre agregar o modificar datos en el auto al volver a la parrilla. Por lo que después de mostrar este cuadro de mensaje y hacer clic en Aceptar, la ventana se cerrará. Pero entonces puedo hacer clic, refrescar, y luego se mostrará el nuevo campo justo en. Entonces, si traté de editar sin seleccionar. Por lo que a pesar de que lo veas resaltado Azul, realidad no está seleccionado. Entonces si hago clic en editar auto, consigo una época desagradable. Pero entonces, una vez más, esto es sólo un intento. Atrapa atrapando esa flecha que hubiera sido una excepción me mostró que ya sabes, el índice no estaba ofreciendo simplemente básicamente diciendo que no seleccioné nada de la grilla, um, control ¿verdad? Pero entonces mi programa no deja de ejecutarse, por lo que siempre puedo rectificarlo con sólo hacer clic en. Empecemos con el registro que acabamos de agregar, cuando hago clic en Suzuki Swift Click Edit Car, entonces trae hasta editar vehículo. Por lo que me aseguré de modificar el título que aparece. Entonces déjame volver a agregar auto cuando haga clic en un auto nuevo para ver informar. Pero una la etiqueta cambia y al título en la ventana cambia. Entonces a cualquier uso típico, podría haber sido dos ventanas diferentes. Esa no es realmente nuestra preocupación del dedo del pie de negocio, así que me estoy convirtiendo en el usuario. Se siente como si fuera la misma ventana en todo momento, mientras que es lo mismo con aproximadamente la sensación de que es una ventana diferente. Perdón en el. Entonces qué pasa que a funcionalidades como la diferencia también. Entonces estamos recibiendo la carga, los datos precargados. Puedo cambiar el vin del número de matrícula, está bien. Se acaba de poner en algún número aleatorio click guardar cambios, y luego dice actualización operación completada. Entonces es un mensaje similar. Doy clic en Aceptar, comportamiento similar y en una actualización, y luego obtengo los datos totalmente nuevos. No, borrar es un poco complicado porque no se puede eliminar datos relacionados, es decir, Si selecciono, diga Subaru, que sí creo que tengo un registro de alquiler Dos Representa ya estaban. Si hago clic en borrar eso, voy a conseguir alguna flecha diciendo que, Ya sabes, tengo que ver la excepción para los detalles. Cuando revisé toda esa flecha, fue realmente porque tengo un registro de alquiler en Suero, así que tendría que borrar todos nuestros registros completos para el Subaru con el fin de eliminar el super. Y eso es sólo integridad referencial que viene de la base de datos. Entonces eso no es necesariamente algo malo. Entonces si obtienes ese error, eso es realmente lo que está pasando. Pero acabo de crear a Suzuki Swift alguien para borrarlo, porque sé que no tengo, um, no hay registros asociados con él. Entonces cuando haga clic en los leads, lo hará. Oh, bueno, en realidad me está dando un error. No esperaba eso. Entonces veamos exactamente cuál es esa era porque realmente no esperaba que alguien fuera a mi cordón West Lindy barco amarrado Ir a mi evento de click en, entonces solo voy a seleccionar en el punto donde se supone que realmente retire el auto, y luego vamos a volver a intentar esa operación, así que hago clic. Salta ese punto de ruptura donde recuperó el auto con éxito. Entonces sabe que se está poniendo bien al Suzuki Swift. Entonces puedo usar F 11 para atravesar. Entonces va a guardar cambios, momento en el que lanza la excepción. Entonces, si miro en el objeto de excepción, lo es. Mira por dentro la excepción interna para más detalles. Escribe C excepción interna para más detalles para que pueda ver eso en. Entonces es ver que tengo ah const re, ¿no es eso conflicto con mi fecha de bestia? Entonces definitivamente tengo que beber ese viejo para ver si hay algún registro de renta con esa, um, um, propiedad con el auto, señor, señor, con ese disco en el detalle bestia. Por lo que no hay registro relacionado. Acabo de revisar. Pero lo que está sucediendo es que está haciendo cumplir algunas restricciones de diseño. Entonces en el diseño fuera de mi auto en un disco o bien, en el diseño fuera de esta mesa, cuatro tipos fuera de autos en el yo d o en la relación. En realidad, habría esta incierta eliminación de actualización sobre regla de actualización. ¿ Verdad? Entonces básicamente no puedo sentarme ninguna acción ni ataúdes. Habría tenido que poner Cascade para que solo dijera OK, voy a borrar. El peligro para esto, sin embargo, es que si elimina el registro, entonces eliminará todos los asociados son todos los registros relacionados. Si lleva auto con I d. uno que nunca, rentar un récord que se asocia con auto con 81 también se eliminaría, lo cual puede que no necesariamente quieras, por lo que tendrías que calibrar esa experiencia con tu aplicación. No obstante, sí vemos que ya sabes, probablemente podamos pasar por la eliminación para no, y lo arreglamos en una fecha posterior. Pero sólo quería repasar el hecho de que pudiéramos, ya sabes, modificar nuestra aplicación para hacer alguna multitud contra la lista de vehículos. Podríamos crear una sola forma que tenga múltiples propósitos en. Podemos escribir algún acorde cool en nuestro archivo de corte toe manejar la experiencia que tienen nuestros usuarios , Así que después de terminar o gestionar listado de vehículos, probablemente querrá volcar nuestra atención para terminar todo el registro donde creamos una vista similar a ésta, donde podemos ver todos los registros de renta que vienen de la base de datos sobre poder modificarlos cuando sea necesario. 30. Administrar registros de alquiler de automóviles: Oigan, chicos, bienvenidos de nuevo en este video seguirá poniendo en funcionalidad en nuestra aplicación de formas ganadoras o las tareas de puesta en marcha más recientes. Nos había hecho nuestra gestión de anuncios de vehículos donde podríamos agregar un auto nuevo y solo voy a añadir uno para muestra enfermo en. Sabemos que al hacer clic en guardar cambios, se agregaría a la base de datos, y tendrían que refrescar la grilla para ver o un auto nuevo fuera de curso. Cuando seleccionamos el rol y hacemos clic en editar auto, podríamos cambiar esto. Entonces si yo si se suponía que muchos tuvieran dos extremos, entonces lo corrijo. Haga clic en guardar cambios en Una vez más refresca lo bueno para que podamos buscar en automatizar ese Gregory fresco en un poco de la mano. Estaré haciendo eso en la actual gestión de registros. Pero sólo para terminar o recapitular, lo último que querría hacer con nuestros vehículos sería quitarlos. Entonces si selecciono un rol en recordar discutimos que si hay todo nuestro registro ya asociado a un vehículo, esa es la base de datos haría un poco más difícil eliminar realmente el vehículo sí. Pero siempre puedo seleccionar este coche de plomo en. Entonces estaría bien, y me refresco. Y entonces veo así me gustaría automatizar esa actualización porque solo sé que el auto fue quitado , pero su codicia no me mostró. Se retiró. Y luego lo intenté de nuevo. Y luego me dieron una flecha. Está bien, Entonces lo que queremos hacer es tener una cuadrícula, como sentarse en el archivo de vista en. Entonces esto sería de otra manera hacer esas operaciones crudas. Y luego te mostraré otras cosas, como automatizar esa avariciosa actualización. Entonces para empezar esta fiesta, lo primero que quiero hacer es crear una nueva forma que sirva como mi ventana de archivo para todo mi registro. Entonces voy a mi solución Explorer, ¿verdad? Haga clic en la solución. Goto Odd nuevo elemento funcionando. Basta con bajar a la forma. Fui a llamar a este formulario, administrar sus registros completos y luego hacer clic, agregar. Y una vez que nuestra forma es, lo hice hicimos nuestros cambios regulares donde vamos las propiedades del dedo del pie, cambiamos el texto en el encabezado, Toby más, ya sabes, más legible humana. Nosotros lo hacemos un poco más grande y luego voy a pedir prestados los mismos elementos que tuve sobre el listado de vehículos de gestión en barra de invierno todos y cada uno de ellos. Algunos acaban de ser Tobar la etiqueta en I'm Holding on Control mientras hago clic. Por lo que estoy sosteniendo el control mientras hago clic en el botón de refrescar. Acordado los Tres Botones. Entonces voy a controlar Mar para copiar. Vuelve a mi diseño encendido, luego controla V a Pegar después de la cosa de la paz. Yo sólo voy a cambiar este texto de etiqueta. Por lo que dejé la etiqueta Water Properties on. Yo sólo voy a cambiar sólo el gestionar todo nuestro registro de registros. Está bien. Esto habla May errores de ortografía en. Entonces ya estamos bien para ir. Por lo tanto, gestiona todos sus registros. Esa es nuestra nueva ventana encendida luego fuera de curso desde la ventana principal. Necesito toe configurarlo en los eventos click o personas de cerrar todas las ventanas innecesarias. Ahora mismo vuelve a Miami en ventana, se pone el botón. Te guardaré archivo. Voy a configurar un evento de click en. Todo lo que voy a hacer es lanzar estas nuevas ventanas. Yo sólo voy a copiar marcador. Acabo de reaccionar garganta, Así var una renta gestionar. Uh, registros es igual a nuevo administrar Trento Records como mi clase. Entonces voy a hacer eso. MD I apariencia es igual a esta Onda. El escaparate debe tan bien, después de copiar sobre estas cosas lo que quieres hacer fuera de curso después de renombrar o etiquetar, queremos cambiar nuestros botones tan bien? No, siguen teniendo los mismos nombres del formulario anterior en. Eso se debe a que, bueno, el mismo nombre puede existir en dos formas completamente diferentes. Entonces en dos clases completamente diferentes, claro, puedes tener los mismos nombres. ¿ Qué es contextualmente? No quiero que este sea Bijan en el auto. Habría querido ser golpeado. Extraño, tal vez grabar. Muy bien, Andi, de la misma manera. Cualquier cosa que sea su auto para estos botones debe ver registro, por lo que el texto debe ser agregar registro nuevo o completo o registro. ¿ Cómo? Apenas el disco encendido. Entonces haré lo mismo por la edición, así que sólo cambiaré esas. Todo lo que puedes hacer esos por tu cuenta. Muy bien, entonces para entonces de ese ejercicio, cualquier cosa que sea ese auto debería saber. Mira, un registro también podría querer cambiar el nombre de esta codicia solo para asegurarse de que todo consistente causa esta es la lista de vehículos GV. Por lo que quería decir lista de registros GV. Está bien, así que sepan que hemos, ya sabes Oh, creo que el botón de refrescamiento también puede necesitar cambiarse para qué es beat entry, para que eso pueda quedarse. Muy bien, ahora sabemos que necesitamos hacer clic en eventos para cada uno de estos botones. Alguien que acaba de configurar esos eventos de click desde No, simplemente haciendo doble clic en cada botón en generar los eventos rápidos. Así que ten el click event ad click event para el registro y cricket de y para el delete ya tienen una ventana que agrega, Así que en realidad puedo simplemente escribir esa cotización, ¿ verdad? No, encendido. Como que seguimos el mismo patrón que hicimos cuando estábamos haciendo los listados de vehículos de gestión . Entonces si vuelvo a ese evento de click para un auto nuevo, ya ves que lo que hicimos fue lanzarnos la ventana, decir es que el padre fuera de la ventana de lanzamiento es su padre también encendido, entonces muestra que voy a padre ese mismo patrón para el impar en Añadir golpeado en un freak récord . Está bien, ahí vamos. Entonces cuando hacemos clic en el batido al registro, lanzará la misma ventana que habríamos lanzado si hacíamos clic desde el propio menú . No lo son. Estamos dando al usuario opciones. Por supuesto que es tu aplicación. Puedes peinarlo todo lo que te gustaría. Pero eso es así que lo estoy haciendo ahora. Si te pones atención aquí, no sé si hubiera pasado por esto antes, pero ves esos tres puntos debajo de la nueva Si me cierro sobre ella y doy clic en esa bombilla que aparece, me mostraron que yo en realidad puede simplificar la inicialización o declaración de este objeto, ¿ verdad? Entonces si hago clic en eso, entonces vas a ver una forma diferente de inicializar objeto, que habría visto cuando estabas usando el enlace. Um, corte. ¿ Verdad? Por lo que es universal alguna vez clase, y están configurando propiedades fuera de la clase después de inicializar el objeto. En realidad puedes hacerlo así lo puedes hacer de la manera en que te sientes cómodo haciéndolo. Y ese estudio visual son raros lesionados para ti. No, para los registros de alquiler iban dedo del pie hay que escribir mucho cancha similar lo que estamos haciendo cuando estamos haciendo gestionar vehículo listando algunos en realidad. Simplemente va a estar copiando y pegando mucho fuera de la cancha porque lo que sea en mucha autoridad. Entonces estoy pegando mi conexión a la base de datos o mi objeto entidades en la inicialización del objeto que entró dentro de mi constructor. Además, yo habría montado el evento Lord para la forma. Por lo que necesito un evento de carga en este formulario, así que solo voy y doble clic en el formulario en sí en que me da un evento de carga en luego dentro este evento de carga para los listados mágicos fuera de probado. Y sólo voy a copiar todo esto porque quiero decir, voy a estar reescribiendo corte muy similar de todos modos, Así que estoy copiado rejilla sobrepoblada. Pero por supuesto, no tengo un método dentro de esta nueva forma llamada Cuadrícula poblada, así que puedo pasar el cursor sobre ella al hacer clic en esa bombilla. Y entonces esto es generar el mi pensamiento para mí, que Ok, eso es bueno. Se puede quitar esa línea generada en entonces para el poblado. Acordado. Estaré haciendo una cantera similar. Entonces vamos a corregir toda la cantera por la avaricia poblada por nuestros gestionar registros de renta. Entonces Por supuesto, lo primero que quiero hacer es declarar algunos objetos son alguna variable. Acabo de guardar nuestros registros es igual a en entonces una columna, un objeto de base de datos auto punto en registros, que es mi tabla en. Entonces diría que selecto Y quiero ser muy específico con lo que estoy seleccionando a alguien para decir selecto. Abre mi expresión lambda usando Q como mi objeto o mi talkin on. Pero me estoy hinchando en un nuevo objeto en blanco. Está bien, déjame ponerme un cínico aquí para que no me olvide más adelante. Después fui a decir qué es lo que quiero seleccionar. Y lo que ese nombre de columna es nuestro Así que las columnas que pretendemos tener serían como cliente. Entonces solo voy a decir, cliente es igual dedo del pie lindo punto en nuestro propio nombre de cliente. Arcilla. Ahí en, luego fecha en. Entonces aquí realmente puedo usar mis propios nombres para derechos de propiedad. Así que fecha en, él va a tener el valor off q datos dot en Fecha Lo siento. Avena. Dije va a tener el valor del veterano Ted. Muy bien, entonces. Me fui a ver fecha de coma en. Ya que tengo el valor off q dot Beat devuelto fuera de curso necesito el i d. Así que d va a ser igual a q punto i d ¿Está bien? Aan den El último que me gustaría es el costo por lo que costó sus costos de punto tokyu iguales. Pero entonces te das cuenta No, que fuera de curso necesito decir el tipo de auto Qué auto estaba prohibido. Entonces, ¿le cuesta este tipo de calificación fuera? Todo lo demás es, ya sabes, fuerte y blanco. ¿ Qué? Esto es mayor o menor porque el nombre de la propiedad. estoy dando a lo mismo que a una propiedad proveniente de la base de datos, así que en realidad puedo simplemente eliminar eso. Y eso es un lindo costo fuera. Dame los costos y necesito el auto. No. Si miras hacia atrás en nuestra base de datos y otros pasan a la base de datos rápidamente, ves que tenemos el tipo off car I d. tengo una tabla para los tipos de autos fuera. Claro, pero entonces tengo el nombre y el i d sobre en ese. Entonces solo seleccionas uno superior. Aquellos bajo nuestro dejame simplemente mirar el diseño más bien para que podamos ver los nombres de las columnas. Por lo que tengo d hacer modelo Vin número de matrícula y año. No. Al mostrar los detalles del registro de renta, probablemente no quisiera sólo mostrar la idea porque yo d auto i d. uno no significa nada para mí. Pero esa es la propiedad a la que tengo acceso dentro fuera de Meyer registro completo. No, en una situación típica en como en sintaxis SQL fuera después de usar una declaración conjunta interna para realmente sacar los detalles del auto siendo referenciado detalles que significan lo manso en el modelo . ¿ Verdad? Entonces si quisiera decir toda esta información y luego imprimir los detalles del auto kármicos sobre modelo dentro de una cantera, entonces tendría que usar un enlace de unión interior me permite acceder realmente a la propiedad. Entonces digamos que dije auto como mi propiedad el entonces quería el manso en el modelo fuera del auto relacionado o el auto relacionado con este disco. Todo lo que realmente tenemos es la idea, porque es una que no van a ver tipo off car I d Una vez más eso no es útil. Por lo que puedo simular una situación en la que necesite una unión interna y cualquier detalle de la entidad relacionada o del registro relacionado viendo sé que vemos el uso fuera de este tipo de propiedad de auto . Entonces recuerda que teníamos los tipos fuera de auto I D encendido. Estaba diciendo que tenemos dentro fuera de la relación. Qué enlace hace es darnos acceso a todos los objetos relacionados fuera del pero así que en realidad puedo decir q tipos de puntos fuera de coche. Y luego trataron de hacerlo soltero o a veces incómodo, porque es tipos fuera de autos. Ese es el nombre fuera de la mesa. Y en esto es tipos fuera de auto porque decir que sé que solo se asocia un auto esta renta grabo. Entonces es un auto, ¿verdad? Por lo que intentan, ya sabes, modificar el 10 no atiende la singularidad y pluralidad fuera de cada propiedad solo para indicar si se trata de un singular o múltiple. ¿ Verdad? Entonces si estamos viendo los tipos fuera de mesa de autos, tipos de autos estables que Lincoln demuestra que tenemos todos nuestros registros porque un auto podría estar en múltiples registros enteros. Pero entonces Ya que estamos mirando la renta que grabo, entonces no nos sorprende, todo requerido, se asocia con un auto tipos de auto off en esta situación. Ah, eso no es demasiado confuso. Pero cuanto más lo uses, hay más. Te das cuenta de cómo funciona exactamente. Entonces contra un que dot tipos off car, que es una clase que representa o la entidad o el registro relacionado una vez más fuera de los detalles del auto para que pueda ver tipos fuera de auto atracado en, entonces me da acceso a cada propiedad que tendría frijol en la tabla de tipos de autos de todos modos. Entonces sí dije que quería el MC en el modelo para que pudiera decir auto es igual a tipos lindos off, tarjeta fuera Mick on, luego concatenación que sobre que no tipos off car dot modelo. Muy bien, entonces cuando esto se ejecute, me dará todas las propiedades del básicamente desde la tabla de la base de datos. Están bien ahí en la tabla de base de datos sobre eso. Se va a una especie de unión interna para decir OK, dame los detalles fuera del registro relacionado de la tabla Types Off cars y dame el modelo de espacio Mick sobre historia que dentro de mi propiedad personalizada llamada Khar Todo bien, Así que la expectativa es que cuando esta grilla señores iban a estar viendo todos estos detalles además, dedo del pie los detalles para el auto relacionado y luego cuando yo era prematuro con un semi colon fuera curso, Después de todo esto, siempre hacemos a lista sólo para facilitarnos la vida. Muy bien, Así que la siguiente línea, que sólo voy a volver a administrar listado de vehículos, me haría configurar la fuente de datos el texto de cabecera para cualquiera fuera de ellos que creo que es demasiado engorroso para mostrar Aan den. Ocultan las ideas. Entonces solo voy a copiar estas líneas. Entonces sólo los voy a conocer respecto a esta situación. Entonces, en realidad, no creo, OK, citas y citas. Además, definitivamente quiero cambiar esos. Pero antes de hacer eso, necesito cambiar todas las referencias. Por lo que necesito GV en eso su lista de discos. Entonces ya no es vehículo esto, pero no, es lista récord. Algunos asume el cambio, el resultado, las fuentes de datos, no los autos, sino sus registros. Muy bien, en entonces el texto del encabezado. Entonces no, en realidad puedo decir qué texto de encabezado de columna. Quiero hacer trampas y trabajos, así que probablemente pueda usar las columnas nombradas aquí porque no tengo tanta confianza en el pedido en lugar de ordenar mi cambio en cualquier momento. O sea, introducir o quitar. Entonces si no digo cuatro como no lo hice en vehículo de dinero es así que funcionó aquí, ¿sabes? Pero entonces si modificé la disposición de estas columnas de 4 puede no ser vida simplemente número más, ¿ verdad? Entonces en cambio, off referenciarlo por su subíndice o su colocación. En cambio, fui a referirlo por su nombre, alguien a ver que la columna llamada Date Oats se hacen en Realmente no mucho son simplemente no te metes eso debajo de uno para en nuestra propia para fuera. Muy bien, entonces, la fecha en uno. Yo quería decir d it space in on in the data out cuando quería decir el it space boat derecho on. Entonces quiero dedo del pie una vez más ocultar la columna para el i d. Está bien, Así que con todos esos cambios realizados, vamos al menos a ver si nuestro gran señor Así que sólo voy a empezar esta aplicación ahí se fue a administrar renta registros en Click View, Archive and Fallen. Entonces nuestra Grady está cargando y notamos que estamos viendo el registro de autos Subaru en Ah Honda Space Civic, ¿ verdad? Por lo que sólo una verificar que en realidad todos puedo tener múltiples ventanas abiertas. Por lo que sólo amplio las aplicaciones. Podrán ver tanto los vehículos enumerados a la izquierda en todos sus cursos. ¿ Verdad? Entonces vemos que Subaru es realmente sólo el manso. Entonces eso es lo que sólo nos ven. El término Subaru, mientras que Honda Civic make Andi modelo están mostrando los detalles en consecuencia. Derecho más para identificar, haga clic en agregar nuevo registro. Entonces vemos un nuevo récord que nos permite poner un nuevo disco. Entonces voy a poner en una prueba. El costo del conductor es de $1500 sobre DA. El día devuelto sería, Vamos a ver la primera marcha off. El tipo de auto apagado son las reglas Royce Phantom que someto, y luego todo pasa. Puedo modificar esta ventana. No, que se cierre después, Está bien, para que no tengamos a alguien haciendo clic en enviar dos veces, pero una vez que se cierra y hacemos click, refresca donde no hay refresco aquí así que necesitamos cablear eso botón de actualización arriba, pero y sí dijimos que vamos a intentar una actualización automática. Pero al cerrar la ventana y reabrirla, parte trasera esa consulta que poblan la preocupación de grado. Entonces vemos que nuestro más grande poblado. Entonces solo voy a cablear rápidamente la edición en el registro de eliminación, um, funcionalidad. Entonces voy a volver a mi núcleo que escribimos para el listado de autos de edición, y voy a diferenciar toda esta escuela porque, literalmente, va a ser muy similar en lo voy a colocar dentro fuera de la función en. Entonces solo voy a cambiar todas las referencias relevantes, así que ya no es vehículo GV es. Es lista de registros de GV, y estoy consiguiendo la misma regla con la misma celda I d. Mirando adentro fuera registros de Corrente Esta vez, aunque no tipos fuera de Karkare coito es nuestra tabla, así que db auto en registros primero o por defecto. Dame donde a común, yo de así puede tener algunas pequeñas cosas cosméticas que cambian owt en la variable aquí no es auto, pero no es registro ah. Está bien. Y entonces estamos aquí lanzando en vehículos de edición. Recuerda que sí agregamos editar vehículo como nuestro dedo del pie de la ventana, cerramos la edición o agregamos un vehículo. Empezamos con nuestra actual registro yo. Entonces vamos a tener que hacer algunas modificaciones importantes del dedo del pie. Eso es para que funcione. Entonces solo voy a comentar el dedo del pie. Ah, estos leones por no. Muy bien en. Volveremos a ellos. Vamos a tener que hacer eso en la segunda parte. Sólo voy a volver atrás y ponerme ese borrón. Consigue el intento, Atrapa todo, tráemelo encima de mí. Esos cambios cosméticos una vez más. Por lo que es lista de registros de GV no son lista de vehículos GV. Entonces estoy consiguiendo la misma columna. Mesa diferente una vez más. Auto en registros. Vamos, yo d adelante. Entonces estoy viendo quitar el objeto y esto es registro, no auto. Así que elimina el registro de objetos de la tabla, guarda los cambios en entonces solo podría recordar popularmente la cuadrícula aquí en su lugar, fuera haciendo ese reefer. Shrek, es después de borrar. Sólo recuerdo poblar rejilla, que debería volver a terminar Cuartey. Hice alusión a que lo hagamos antes de lo que solo voy a empujar adelante y terminar esto en este video. Por lo que necesitamos hacer algunas modificaciones a nuestra ventana que estábamos usando toe agregar todo nuestro registro. Por lo que lo llamamos en todo nuestro registro. Voy a renombrarlo Toe Ad y lo todo nuestro registro en renombrándolo y guardándolo me va a preguntar si quiero renombrar todas las referencias. Haga clic en sí. Para que en todas partes que se estaba haciendo referencia para sumar todo su récord, no va a decir en ninguna tendencia son récord fuera de curso. Necesito modificar el cordón, algunos simplemente yendo dedo del pie click derecho, guarde cancha. Y eso me lleva directamente al archivo de vista. Pero también voy a traer nuestros expedientes de corte vehicular agregados para que podamos verlos uno al lado del otro una vez al día. Nuevamente, voy a hacer algunas modificaciones muy similares. Voy a tomar la mayoría de las propiedades que tenía un vehículo agregado en su lugar dentro de fuera en cualquier registro de alquiler, empezando por el modo is edit porque entonces necesitamos rastrear si es modo de edición o en amarrado . Ya ves que teníamos constructores de dedo aquí, así que me voy a llevar todas las propiedades del. Son todas estas líneas fuera de cored que estaban por dentro el solo quitar lo que no es necesario . Por lo que tenía entidades de alquiler de autos como el nombre aquí. Entonces para mantener todo consistente de como he estado diciendo antes, solo voy a renombrarlo toe underscore db Muy bien, así que es mejor simplemente mantener todo consistente. Usa un nombre de variable en todo el tablero para que todo el mundo sepa quiénes son. Correcto, Así que ten título lbl. No le di un título a la etiqueta de dentro fuera de esta ventana, pero no digo añadir nueva su intel, Onda, el texto fuera de la ventana también debería ver en alquiler nuevo. Encendido es más Esto cae. Muy bien, en entonces declararé otro constructor segundo astride cto se detienen dos veces y luego genera otro constructor encendido. Entonces pondré el objeto fuera en todo tu disco. Segundo para ver auto Trento grabar otro ver récord. Está bien, así que recuerda que cuando estamos haciendo el vehículo agregado, lo que hicimos fue crear un segundo, um, constructor que nos presté el pasado en el registro que necesitaba ser editado en este caso lo era un auto para editar. Entonces para mantenerlo consistente, puedo decir grabar toe edit. Muy bien, entonces. Una vez más, sólo voy a copiar la mayoría de esto con todo este cable ya que es muy similar una vez más encendido, entonces me voy a cambiar de viejo. Entonces, ¿es esto? Es un récord de alquiler. Está bien, déjame poner el registro para que mis sentencias estén completas. Lanzando a través por lo que todo su grabarlo Parenteau su tarjeta en. Entonces esto es récord a ella. No es difícil de editar. Muy bien entonces, Popularmente, se siente que es Ah, eso es algo que necesitamos cargar. Entonces solo voy a generar un método para eso en luego volver a agregar vehículo encendido. Verán todos fuera de los campos que fueron poblados. Por lo que probablemente vamos a tener que hacer esa parte manualmente, ya que son dos formas completamente diferentes. No voy a copiar el marcador, pero voy a seguir ese patrón. De acuerdo, entonces lo que voy a hacer es desplazarme hacia abajo a la playa, un clic dice incluso estas cosas cuando estamos empezando. Yo estaba empezando simple. Entonces no quería que el dedo del pie complicara todo pero sepan que estamos más avanzados, que estamos volviendo a nuestros viejos aliados de la Guerra Fría que tenemos algunos vacíos. Entonces, como, pero nadie en el marcador. Rápido, esto no me gusta. Nacido uno en el marcador. Haga clic. No pusimos nombre al botón a la vez, pero, ya sabes, sabe que estamos nombrando botones. Probablemente puedas volver atrás y darle un mejor nombre al cambiar el nombre fuera del botón haga clic eventos que se asocien con él para que tu cancha sea más legible. Y ya sabes, lo que realmente estoy aquí es para recuperar estos campos. Entonces lo que voy a hacer es simplemente copiar todo esto para que tenga todos los campos que necesitan ser poblados. Entonces me voy a quitar. Entonces solo quería los nombres de campo. Eso es todo lo que realmente quería. Pero estoy tratando de trabajar, ya sabes, un poco más inteligente de lo que intento trabajar más duro. Entonces solo estoy consiguiendo las partes relevantes porque la tengo por todas partes. Entonces en lugar de sentarme y volver a escribir y tratar de recordar, todo lo que se siente, sé que los tenía en otro lugar, así que sólo fui y los puse bien. Ya ven aquí tengo algunos errores porque esto está llamando a las entidades actuales que cambiamos la base de datos. Sami. Tan solo arregla esa misma hora. Entonces quiero decir, si puede que no tenga algunos otros problemas, yo estoy teniendo qué? Yo estoy pasando por ellos solo para que cuando veas problemas similares, sepas exactamente lo que necesitas hacer para solucionarlos. ¿ Verdad? Entonces aquí veo que tengo mis campos y necesito darles valores. Por lo que TB nombre del cliente que el texto se va de pie, tienen el valor de descuento. Bueno, esta es Carter, y es yo no digo que lo cargué. Entonces es una cicatriz para editar porque generé la propiedad en base a la función llamada la función en base a los costos de la función son por lo que su registro para editar tal es que para grabar para editar Andi, también cambios para requerir editar y cambiar el tipo. Entonces, ya sabes, este es un tipo de objeto genérico. Entonces para asegurarse de que es su auto todo el disco tan fuertemente tipos a lo largo, lo que se asegura de que todos tus sois tipos sean adecuados. Por lo que su registro para editar punto en Entonces veré nombre del cliente. Está bien, entonces, sólo para verlo por el día Trenta DT o en valor de punto ted está en el registro para editar puntos fecha parentado en, entonces el mismo héroe, pero y me estoy poniendo al aire preocupado, viendo que no puede convertir, no puede convertir implícitamente conocedor. Entonces una vez que ves ese signo de interrogación junto a un tipo de datos, significa que es un conocedor, lo que significa que puedo o no tener un día o de valor dentro de él. Entonces diciendo que a la derecha, esto es conocedor. Pero a la izquierda, no es conocible. El valor no es notable. Entonces están diciendo que no pueden simplemente decir eso, Vale, tengo unos tipos de datos notables Iba a ver fecha y hora toe convertirlo. Está bien, entonces, no, vemos que la fecha hora no se sabe poco. Está bien, así que lo convertí de una fecha notable. Puntera de tiempo son fecha real hora. Entonces, una vez más, si miras, si poco más de los datos hasta que veas el signo de interrogación. Entonces la razón por la que el signo de interrogación está ahí y es notable es que esto viene de la base de datos. Recuerda que nuestro diseño de base de datos, o al menos mi diseño de base de datos, dice que la fecha y hora perdí la nariz. Entonces si cargo sabe del diseño de la base de datos cuando el enlace lo estaba convirtiendo en C tipos de datos equivalentes afilados , entonces habría conservado eso solo Oh, propiedad Para que el tipo de datos hubiera tenido este signo de interrogación para decir que el fecha hora es nuestra carga para ser no en C agudo, igual que oh, se permite ser no en la base de datos. En realidad, sin embargo, que ese tipo de datos de fecha y hora bien informado es en realidad diferente de un día regular, igual con la cadena Andi int y casi todos los demás tipos de datos. Tienes una versión notable y tienes una versión que requiere un valor. Está bien, así que solo hago lo mismo para la siguiente línea donde solo seguiré adelante y escribiré la fecha hora en el frente. Entonces llamaré al objeto que fecha devuelta el. Entonces por el costo. Veré objeto no cuesta. Está bien, no creo que necesite nada de esto, Pero entonces veo aquí donde están diciendo que tengo ¿Cuál es el problema? Entonces este es un decimal. Entonces por supuesto necesito dedo del pie hacer esto para cuerdas. Entonces la base de datos provienen de la base de datos? Es un decimal. Necesito convertir su cadena para que pueda entrar dentro del cuadro de texto. Está bien, así que todavía tengo algunos errores. El arreglo volviendo a la cima. Vemos donde hay. No, no hay, um objeto en mi formulario llamado lbl title. Entonces me voy de pie, asegúrate de pasar a mi diseño, Así solución exper Añadir disco de Eddie Trenton sobre este será dicho título, ¿ verdad? Entonces yo soy esto o dije Leibler el sol iba a ir a las propiedades sobre darle un nombre. Tan bien, Nadie para este sello uno. Simplemente le renombré un título de proyecto de ley en. Una vez que haga eso, eso debería resolver ese error ahí. Sigue en eso. A ver si hay algún otro error para que siempre puedas ver si sus errores, ya sabes, corte podría estar mirando por aquí. ¿ Ves ese pequeño rojo? Cualquier línea que como aérea muestre su Plaza Roja en esa línea tenga una señal visual sobre la siguiente era. Aquí está que sigue buscando a las viejas entidades. Referencia son el arroyo que Soto mi nuevo nombre de objeto, que está en la partitura, e b. Entonces lo siguiente que probablemente querría hacer es hacer cumplir ese modo de edición. Por lo que tengo más, um, declarado. Tengo que estar configurado en True son caídas en base a qué constructores se llaman. Ah, entonces nuestro lo haré más tarde. Entonces lo que haré es modificar el dedo del evento rápido, poner todos los datos en, luego hacer las validaciones en. Después de comprobar si es válido, comprobamos si estamos en modo edición o no. Entonces yo sólo hago eso rápido. Entonces si es así, está amarrado Onda lo demás. Está bien, así que pongo lo demás poner todo esto en lo demás porque esto es lo que pasa si no está en modo edición. Agrega amenaza. Entonces si no está en más de lo que estamos agregando, ya tengo las otras canchas arriba, lo pongo en el otro, pero entonces, si es edit amarrado, no necesitan conseguir el disco por yo d y luego volver a agregarlo . Entonces lo siento si he vuelto a ver para qué? todos modos, solo estamos pasando por esto juntos desde cero. Entonces para tener la idea, recuerda que lo que hicimos en los vehículos agregados que creamos propiedad o creamos ah, control, control, que se ocultaba una etiqueta que estaba sentada del dedo del pie, que habíamos asignado el yo d fuera de registro que se acercó en el auto constructor. Por lo que no logramos hacer eso esta vez. Hagámoslo solo para asegurarnos de que tengamos todas las bases cubiertas. Una vez más, es bueno que ya vivamos. Eso es bueno, porque cuando hacemos una comparación lado a lado, podemos puede ayudar a informar lo que necesitamos hacer. Correcto. Por lo que volveré a mi diseño para el add edit, todo tu registro. Traeré de la caja de herramientas una etiqueta. Está bien. Por lo que los controles comunes consiguen una etiqueta, colócala en algún lugar. Realmente no importa. En este punto, sólo puedo cambiar las propiedades para ver eso. Está bien. Yo quiero que este sea recordando registro LBO. Yo d Lo siento. Los palos. Taiwán toma estar en blanco. Entonces no quiero cronometrar ningún texto, pero sí lo quiero dedo del pie. Tener el nombre lbl registro I d on. Entonces quiero que su visibilidad sea caídas para que se oculte. Muy bien, entonces tenemos esa etiqueta escondida en alguna parte. Realmente no importa dónde si puedes ver la concurrencia, realmente no importa a menos que necesites sangrarla. Entonces supongo que puedes pintar sobre esa época para ayudar a seleccionarla moviéndose. Lo que queremos hacer es asegurarnos de que también estamos poblando ese registro lbl i d texto de punto con el i d. viniendo de registro. Por lo que edita artes un disco para editar que yo d. Está bien, Onda fuera de curso después de verlo a cadena. Perdón. Bien. Por lo que tenemos nuestro i d en algún lugar del formulario. ¿ Verdad? Entonces cuando sigo adelante, estoy a punto de hacer edición saber lo primero que hago es recuperar que hasta ahora, estas igualdad, um y entonces puedo simplemente convertir implícitamente esto no tendrá cuenta. Yo lo puedo hacer en ese París Más bien en ese análisis en. Entonces estoy analizando el registro d ese texto. Está bien, así que lo que sea que se almacene en eso, um , en el valor de texto para esa etiqueta, avergonzándolo en int y estoy recuperando que d on entonces puedo guardar tarjeta IRA es igual a obtenerla del base de datos db dot Y quiero autos registros enteros. No primero nuestro default. Eso y luego hacer cola mi expresión lambda te punto i dy propiedad es equivalente a lo que devaluo. Acabo de ponerme almacenado dentro de mi variable llamada I d. Muy bien. No es que tenga el registro. Tengo que ir a cambiar. Ah, es el real nuestros valores, así que en realidad puedo simplemente Bueno, entonces lo que ya hice fue raspar los valores de la forma. Eso es lo que estábamos haciendo desde la derecha. Cuando enviamos el formulario, tenemos variables locales que obtienen todos los valores del formulario. Está bien, Entonces lo que voy a hacer no es que tenga el registro. Yo sólo voy a pedir prestado este cordón. No lo hagas. Aquí, en realidad, ¿puedo pedir prestada toda esta cancha aquí? Base aquí arriba en, entonces lo que voy a decir es en lugar de ver todo tu disco porque todo su registro es relativo al objeto. ¿ Estamos creados desde el inicio? Cuando dijimos que toda nuestra tarjeta está en blanco encendido, entonces comienza a asignar todos los valores en consecuencia. Esta vez recuperé un registro que existía en por registro variable no están bien. En realidad podría simplemente llamar a la variable o registro completo solo para parecer. Porque dentro del alcance, esta renta un registro existe dentro del ámbito if on, entonces esta renta un objeto discográfico existe dentro fuera del ámbito else. Muy bien, entonces, basado en lo que sea en lo que me refiero, esta escuela probablemente podría ser refractada. Estoy viendo cómo se puede reflejar ahora mismo ser, ya sabes, más,ya más, sabes, mucho más limpio. Pero no lo voy a complicar. Yo sólo lo voy a dejar así. Entonces estoy declarando sobre objetos, si estoy recuperando un registro aquí en luego usar este registro, voy a restablecer todos los valores en base a lo que acabamos de almacenar en nuestras variables locales provenientes del formulario. Está bien, en ese entonces, en esta situación en la situación l, estoy creando un nuevo récord sobre entonces sigo poblando este nuevo récord con lo que viene de la forma. Diga, mira, incluso poblando con valores provenientes de la forma todo eso que se repite corte. Esta corte podría haberse hecho una vez muy duro. Por lo que cada vez que veas cancha repetida así, puedes buscar una oportunidad para refractarla. Entonces te voy a dejar que hagas eso, nuestra fábrica más tarde y te lo expliques. Pero entonces puedes probarlo por tu cuenta y ver cómo los contrarios básicos registran eso es tuyo Ya sabes , no repites todas estas líneas fuera de la cancha, pero podrías una vez, alejarte. Muy bien, así que avanzar en lo siguiente que queremos hacer habiendo repoblado todos los registros con los valores potencialmente nuevos, aunque sean los viejos amigos con un potencial nuevo vicio de la base de datos, es ver si los cambios puedo sólo una vez más copiar que guarden cambios en. Entonces una vez que hayamos terminado, queremos cerrar algunos después de simplemente ir a escribir flujos después de que aparezca el cuadro de mensajes. Si estás agregando, revelamos o mejor dicho puedo simplemente hacer un cierre, no tengo que cerrar si idiota y cerrar si borras. Pero si es válido en ti haces todas estas cosas, entonces simplemente cierras al final ese derecho? Entonces voy a establecer un cuadro de mensaje después de guardar los cambios después de una operación de edición. Andi, solo duplica esto. Entonces esa es otra duplicación aquí otra vez, ¿verdad? Entonces el problema con la duplicación es que si tengo que hacer un cambio a algo que tengo que hacerlo aquí en, recordar hacerlo aquí en adelante, entonces, en entonces, este caso con la caja misteriosa después hazlo aquí y luego hay que recordar hacerlo aquí . Entonces una forma de acuerdo refractario sería sólo para que lo sepas, como método de columna que hace algo una vez. Está bien. Tenemos múltiples formas de hacerlo. A zay dijo que puedes encontrar la manera. Lo haré por mi cuenta y luego lo explicaré más adelante. Pero quiero que China y ustedes empiecen a pensar o a tener en cuenta en los tribunales y a reducir la repetición. Muy bien, así que antes de seguir adelante, nuestro fracturó el cordón. Entonces espero que pausas el video y lo pruebes tú mismo, pero de cualquier manera lo hice y te explicaré lo que hice. Por lo que dije después de comprobar si es válido, entonces declaré sobre objeto fuera auto en un registro. Está bien, esto es lo que habríamos hecho si fuera crear. Pero necesitamos un objeto fuera de ese tipo. De cualquier manera, si es crear más son nueces. Entonces dentro del contexto, entonces está bien hacer sólo este paso. Siguiente tomo Si ya es, entonces quiero recuperar el I. D en d. quiero entonces recuperar el registro de la base de datos en, entonces dijo que como el valor que ofrece grabar así si no es si no es más esto sigue siendo solo un objeto en blanco fuera 31. Mejora el flujo de aplicación y la experiencia del usuario: Es bienvenido de nuevo en este video. Vamos a estar haciendo algunas correcciones esenciales, nuestra aplicación. Por lo que hemos avanzado bien hasta ahora, pero hay ciertas cosas son tanto la aplicación que se puede cambiar. Yo puedo ser, ya sabes, refinado. Basta con enumerar unos cuantos fuera de ellos. Lo que queremos hacer es asegurarnos de que solo aparezca una ventana en el momento, decir cuando yo en mis aplicaciones digo que quiero agregar un auto. Déjame iniciar sesión rápidamente para que podamos ver exactamente de qué estoy hablando. Cuando digo que quiero toe lanzó un listado de manejo vehicular, no quiero poder hacer click en eso y tener tantas instancias fuera de la misma ventana abiertas. Entonces vamos a estar modificando o aplicaciones para que solo aparezca una ventana a la vez. Esa es una en otra cosa que vamos a querer hacer es hacer nuestra actualización automática de grilla. Entonces no llegamos a hacer eso. Pero queremos hacer eso donde si tuviera un auto nuevo, ¿ verdad? No, no tengo que volver y hacer clic en Refrescar, pero la calificación debería actualizarse automáticamente y mostrarme el auto nuevo. Fuera de eso, cualquier otra cosa sería simplemente refinar los mensajes y las señales visuales que damos a nuestros usuarios. Con cada operación que completen sobre abajo, subiremos nuestra solicitud para obtener esperanza. Entonces, empecemos. Voy a salir de la aplicación, y lo primero que vamos a abordar es abrir en ventana en ese momento. No, son más o menos dos formas de hacer esta. Si bien uno nos ayudará a mantener el patrón MD I child que hemos estado usando, donde cuando aparece una ventana como niño M. D I, se pueden mover fuera de la ventana media de la otra nos asegura que donde aparecerá esa ventana, nada más debajo de esa nueva ventana estará activo hasta que se salga de esa nueva ventana. Pero entonces eso es a expensas de que sea un MD I niño, donde se sentará encima y te explicaré exactamente a qué me refiero. Entonces empecemos con el vehículo de gestión esta vez, o mejor dicho, vayamos a la ventana principal y luego miraré en uno de estos. Tengo esta opción aquí. Este botón clic evento donde dije en registro de renta en no sé Nadie para el listado de vehículos gestionar despedido. Por lo que voy a modificar el botón de registro de alquiler de anuncios, haga clic en evento dedo del pie mostrar un diálogo en su lugar. Conoce el problema con show dialogue es que no puedo sentar el MD en el que aparezco, luego mostrar diálogo. Obtienes un error, está bien, para que puedas mostrarle a un niño M d A. Entonces después de sentarse MD, al parecer porque el nombre de su hijo y luego puedo mostrar la ventana como un Chad llamado, sin embargo, tendría que o Mitt, o al menos reorganizar esta línea fuera de cancha. Entonces tendría que poner show por encima del MD aparezco en línea, y tendría que decir diálogo Shore. Por lo que quería espectáculos que permitieran más o menos ese espectáculo, MJ, ese MD I niño fijándolo su configuración de apariencia se nulifica. Es irrelevante en ese punto, pero veamos qué pasa cuando mostré diálogo. Entonces déjenme empezar. Muy bien, así que modificamos el dinero ya sea registro completo en DSO. Cuando hago clic, gestiona todos tus registros. Eso es un evento de click, justo cuando yo Oh, siento, lo siento,es esto dado otro registro completo. Cuando selecciono ese aviso de que no es un M d Un niño, esta ventana se lanzó bien fuera de la ventana principal. No obstante, no puedo hacer nada fuera de ella mientras está en la pantalla, y se puede ver parpadeando que cada vez que parpadea. Eso soy yo haciendo clic en algo dentro de mí y ventanas que puedo encima y ventana en eso interactuó cualquier cosa en. En consecuencia, sólo éste no permanecerá activo. Hasta que salí, entonces puedo proceder con cualquier otra cosa en aplicación. Entonces esa es una manera muy sencilla de salir. A continuación se están asegurando que sólo una instancia fuera de la ventana esté abierta en un momento dado. Como dije, sin embargo, como se puede ver, la ventana opera de forma independiente fuera de la ventana principal, que puede no necesariamente ser algo malo, dependiendo de tus objetivos. Entonces quiero decir, en esta situación, no es algo malo. Puedo moverlo por nuestra cuenta. No puedo hacer nada más hasta que cierre. Está bien, así que cuando lo cierro, entonces es un negocio como de costumbre. Entonces eso no es necesariamente lo peor que puede pasar, verdad. Entonces así es como puedes ir para asegurar que una instancia fuera de la ventana esté arriba. Entonces si quieres, podrías cambiar todo fuera de estas costas para mostrar diálogo. Una vez más, sin embargo, tiene que suceder antes de la línea de apariencia MD. O de lo contrario obtienes un error por lo que en realidad podrías simplemente eliminar esta línea donde configuraste el M. D. I. A. Parent. Si vas a estar mostrando el diálogo, sin embargo, te voy a mostrar otro método usando el listado de manejo vehicular, um menu click event. Entonces éste. No, en realidad voy a ser mucho más líneas fuera de cable Onda. Poco más entra en el proceso blando, pero el hecho es que voy a retener el hecho de que esta ventana tiene una apariencia MD I. Está bien, entonces para la otra ventana, que está gestionando la publicación Zarei, quita algún tribunal. Escribí el código de caridad, así que solo estoy caminando a través de él. Entonces lo que va a pasar es que vamos a estar revisando todos los formularios abiertos en la aplicación, por lo que un botón haga clic derecho al administrar listado de la semana. Cuando se haga clic en ese botón y estamos a punto de mostrar que vamos a inicializar, vamos a ponerles sus padres Pero luego me voy de pie. También comprueba si hay algún formulario abierto dentro de la solicitud como cantidad de un hecho. Probablemente lo sea, pero yo hago todo eso primero. Y luego si no hay cena, inicializa un nuevo objeto encendido, luego muestra las ventanas. Entonces hagámoslo así. ¿ Verdad? Entonces lo primero que quiero hacer en entonces verás si investigas que ves una serie de maneras de hacerlo Algunas personas usan para cada bucle. Algunas personas usan métodos diferentes, pero el concepto sigue siendo el mismo. En realidad voy a usar el enlace porque el enlace nos permite iterar a través de cualquier lista o colección, igual que si estamos usando un bucle for o para cada bucle. Por lo que el enlace no es necesariamente único. Dedo del pie sólo ocho obedecen cuadrados. Pero si tienes una lista que quieres interrogar, igual que si fuera ah, lista fuera registros que van de las bases de datos Sandy, detén objetos. Él puede hacer lo mismo usando Ling de todos modos, Muy bien, así que lo primero que quiero hacer es declarar algunos muy pero voy a guardar nuestros formularios abiertos justo en. Entonces lo que quiero la historia aquí es el número apagado son todas las formas abiertas en las aplicaciones? Digo aplicación punto en Entonces puedo usar formularios abiertos, ¿ verdad? Entonces esto me está dando una pequeña colección? No, fuera de los formularios propiedad de las solicitudes. Esa aplicación es lo que surge o qué? Postura para correr en el arranque rápido justo en. Entonces todos los formularios o los formularios abiertos serían cualquier ventana que esté abierta en el momento de descanso. Está funcionando bien, así que digo aplicación, no formularios abiertos. Pero entonces quería en una especie fuera de listas fuera de forma. Entonces si bien se trata de formularios abiertos, como se puede ver, está en un tipos de datos diferentes. Entonces voy a decir eso y luego lanzar, y realmente lo lanzo al tipo de datos apagado. Ah, forma. Entonces básicamente estoy diciendo, dame una lista fuera de los formularios abiertos en el formulario de tipo de datos, que es lo que sé. Está bien, recuerda que todo está fuera de la forma de clase base, así que los quiero a todos en la forma de clase bestia. lo que me entregará esa tipecasting y luego me dará una lista fuera de las formas abiertas fuera de toda forma de tipo de datos. Ahora, después de sacar esa lista de los formularios abiertos, voy a declarar otra variable. Donde quiero decir está abierto Sobrevivir está abierto. Está bien, así que esto realmente va a ser un lingote escribe. Estoy diciendo vier, pero realmente va a ser un lingote sobre chico. Te digo esto porque fuera como lo llamé está abierto. Por lo general con una línea de bowline. Si te has dado cuenta antes, ¿puedes pensar que no sé a qué me refiero? Saben que cada vez que declaro a un matón y digo es esto o eso está bien encendido? Ese es un patrón común en la programación. Entonces voy a decir que un virus está abierto. Entonces voy a decir, dame la lista. Off forms, open forms. Andi, di eso. No. Cuando digo eso, si acabas de mirar a través de esta lista lo ves todo fuera? Las opciones que teníamos en enlace están aquí y disponibles. Er primero nuestro default. Tienes el cansancio del selector de todos fuera de ellos. El que me interesa esta vez ¿algún derecho? Entonces cualquier que escucho estipular. Ah, hijo Condi. ¿ Hay algo que tenga esta condición encendida? Te dará verdadero o cae bien, así que puedo decir cualquiera y luego hacer en mi tierra Expresiones de flecha Q en entonces q punto Así que estoy revisando si hay alguna forma. Entonces si digo q punto te das cuenta de que todo el es igual que las opciones que vemos cuando estamos creando una nueva instancia fuera de una granja escribe, es lo mismo, alguien a ver. Si hay algún formulario en, entonces puedo hacer esto, también, también, es que puedo decir por texto o por nombres son sólo nombre de victor. Entonces si hay alguna forma con nombre, bien, que mucho es R es igual en remolque. El nombre fuera, lo que sea amable de traer arriba. Recuerda que el nombre fuera del formulario es más o menos el nombre de la clase, ¿no? Entonces puedo ver ¿Hay algún formulario con el nombre administrar vehículo escuchando porque estoy a punto lanzar gestionar listado de vehículos, Así que quiero saber si hay alguna, um, forma que esté abierta que tenga el nombre de la primera móvil para lanzar justo en. Entonces, si no es nuestro si no está abierto. Recuerdo que esto realmente se traduce si su abierto es equivalente a caídas. Entonces si no está abierto ya, entonces voy a hacer todo fuera de esto. Está bien, así que éste tiene un poco más de líneas fuera de cancha. Pero los de nuevo, el punto es que solo estamos revisando para ver si hay alguna forma abierta, um, actualmente con el mismo nombre que el que quiero lanzar. Y si no lo hay, entonces puedo seguir adelante un grande. No necesito otra causa es o es cierto o falso si es caídas y lo lanzamos. Si es verdad, entonces bueno, saltamos todo y no pasa nada, ¿ verdad? Entonces probemos ésa. Muy bien, entonces estoy a punto de lanzar gestionar listado de vehículos. Ese es el evento rápido que acabamos de modificar por lo que en y haga clic en gestionar listado de vehículos, se iniciará el aviso de ventana. Es el lanzamiento de ellos en MD I. Niño. No cambié nada de la forma en que se lanzó, sin embargo, Si vuelvo a hacer clic en el botón y estoy haciendo clic derecho no, veo que más se está moviendo y estoy dando click. Sólo se ve una instancia subiendo que es porque está revisando todas las granjas abiertas y viendo que ya hay una forma abierta con ese nombre, así que no debería pasar nada. Si lo cierro y luego vuelvo a hacer clic, entonces funcionará. Entonces cada clic posterior no hace nada. Entonces vemos que esa es una forma en que podemos retener ese comportamiento infantil MD I, pero asegúrate de que solo aparezca una ventana en el momento para que puedas usar cualquiera de los métodos. Um, como dije, el diálogo show no permite al niño de la India, pero sí da la forma que está lanzando tipo off la autonomía. No ser un niño. Um, pero entonces, basado en tu flujo de aplicación bajo tus expectativas, entonces puedes usar cualquiera que desees No seguir adelante. Queremos dedo del pie empezar a mirar nuestra codicia. Refrescar. No. Lo que queremos hacer es asegurarnos de que después de que lo hagamos dejar que la operación de edición de agregar estén en operación de eliminación que nuestra codicia se refresque automáticamente. Entonces lo que pasa ahora mismo es que cuando añadas o editas nuestro registro, dirá, ya sabes, ya sabes,el mensaje de éxito. Pero entonces todavía tienes que volver a tu la gestione um, listame Solo tienes que lanzar aplicación para que podamos ver. Está bien. Entonces, como decía, tenemos que cuando lanzamos gestionar listado de vehículos. Si añado un auto nuevo Muy bien, entonces tendré que volver aquí y luego refrescar manualmente para que yo vea los cambios. Por lo que quiero modificar que después en el auto y hago clic en enviar y se ha guardado la base de datos que se refresca la grilla. No lo hago en realidad podré eliminar y quitar o quitar. La necesidad de este botón de refrescamiento son así que no, tendremos dedo del pie realmente ponernos creativos. Al igual que consciente de tipo de ponerse creativo con el largo informar. Donde cuando estábamos lanzando nuestro yo y ventana, recuerda que teníamos que modificarlo dedo del pie poner en objeto fuera del log en forma en nuestro constructor para que pudiéramos manipular las propiedades fuera del log informar cuando queríamos , que en este caso era cerrarlo. Entonces lo que voy a tener que hacer es cualquier ventana que se esté lanzando o que administre ventanas. Por lo que dinero listado de vehículos. Voy a tener que pasar un objeto de esto a la ventana de edición de agregar. Muy bien, son aunque sea la edición, cuál de uno? Pero una vez que me llaman en esa ventana, necesito pasar el objeto fuera de esto en remolque. Ese teléfono mostrado llamó a ese construir una llamada justo en ese entonces desde esta ventana, cuando se lance, voy a poder ya sabes, ejecutar un formulario poblado pactado mostrado tarjeta. Entonces tengo ah, función llamada Populate Grid, que ejecuta adquirir ejecuta la consulta. Perdón. Dedo del pie en realidad poblar hambruna en. Ahora mismo, es privado, así que solo haremos el build out y verá todos los cambios. Yo lo voy a hacer con un listado de vehículos de gestión en. Entonces te voy a desafiar para que lo hagas con la ventana actual yo graba también. Está bien, así que empecemos. Entonces lo primero que quiero hacer es modificar mis constructores en add edit vehicle. Entonces en editar vehículo tenía jugando constructor Andi, el constructo que tomé en objeto fuera del auto a ello, Ya sabes, lo que voy a tener que hacer es modificar esto para que tenga una mi propiedad privada fuera tipo administrar listado de vehículos así que estoy haciendo esto global porque no sé qué voy a necesitarlo. Entonces tengo que hacerlo global, igual que tengo que ver con el inicio de sesión y todo lo demás que está aquí arriba. Entonces voy a cartular y gestionar listado igualitario en. Entonces se lo voy a decir a este constructor. Por lo que esta copia esto rápidamente que debería tomar este constructo que yo No, no hay parámetros. principio, debería quitar un parámetro del tipo de listado mágico en este. Yo quiero sentarnos, subrayarnos, gestionar listado de vehículos. Pero entonces el apuntalamiento el parámetro no tendrá el subrayado. Muy bien, por lo que se supone que cualquiera de los constructores debe tomar el objeto fuera de la lista de vehículos gestionados. No, puedo modificar este parámetro y decir algo así como igual. No. Lo cual diría entonces que puede o no necesitar pasar un valor en. Está bien, Así que para que no sea un requisito puedo decir que es igual a no. Entonces si tienes que llamar a este constructor, pero no quieres pasar en esa ventana, um ¿es este objeto? Entonces esto ayudaría a aliviar la frustración que ocurriría en ese momento. Por lo que puedo hacer eso para ambos de estos parámetros y dos se igual a no, si acaso la persona quiere un constructor llamado add o edit sin pasar en el vehículo monitor. Perdón por haber dicho usuario, pero realmente eres tú. El programador que estoy catering dedo del pie en este punto son así después de que hayamos conseguido nuestros parámetros. Queremos inicializar nuestro local O. R objeto privado que acabamos de declarar Quieres inicializarlo dedo del pie cualquier valor que venga para gestionar listado de vehículos. Entonces si es no, es no. Si no se sabe, entonces nos subimos a la renta de objetos. Por lo que el dinero listado de Guica es el subrayado. Listado mágico es igual a eso en. Acabo de hacer esta línea y repito, está por debajo Todo bien en DSO. Siempre que nuestra ventana se lance, tendrá algún conocimiento fuera de la ventana de listado de vehículos de gestión que lo llamó por lo que es bastante fácil declarar un objeto fuera de uno dentro fuera de su propio tiempo. Pero entonces que cada vez que declaramos un objeto, es un objeto totalmente nuevo. No es el objeto que existe, son así que queremos asegurarnos de que estamos rastreando el que existe son el que lo llamó porque sabes que el que lo llamó es el que se está abriendo sobre crecido actualmente mostrando el cuadrícula. Está bien, así que me voy de pie. No, vuelve atrás. Perdón. Volver a administrar listado de recon el. Entonces voy a asegurarme de que solo aguanto el control y haga clic. Y luego puedo simplemente hacer doble clic guardar más de una instancias Será financieramente y DoubleClick ¿cuál quieres saltar del dedo del pie? Entonces mi función causa toe add edit vehicle o una mente edit vehicle? Sí, me doy cuenta de que no hay árabe porque sí puse el parámetro para ser conocedor, ¿ verdad? Entonces porque dije que sería notable y déjame simplemente cambiarlo el nuestro y solo mostrarte exactamente lo que quiero decir. Si no dije que puede ser igual a saber, entonces gestionar listado de vehículos. Este constructor me daría entonces una línea roja porque entonces está diciendo que no tiene un constructo, que no toma argumentos que necesita. Y tiene que pasar en un argumento porque dije que puede ser igual saber conmigo encontrarlo vuelta porque dije que puede ser igual saber. Entonces puedo proceder a mí. La función regular llamada si quiero O o la regular construyen una llamada sin pasar un parámetro. Está bien, así que esa es una de esas. Son las cosas que solo te estoy mostrando, si acaso quieres ser más versátil. De cualquier manera, voy a pasar en esto. Por lo que estos, señor, presenta un objeto fuera de la ventana de listado de vehículos de gestión que está haciendo que la llamada toe add edit vehicle aprenda. Por lo que puse esto para el anuncio click en chico. También hacen lo mismo para el editor. Por lo que ven el click de Eddie es lo mismo. Es posse en auto, que es ah, parámetro requerido. Pero no está gritando por la lista de vehículos de dinero. No obstante, diré coma esto ¿Está bien? No, eso se hace. Lo que sucederá es que cuando agreguemos nuestro editar el vehículo, una vez que completemos nuestra operación en esta llamada de función. Está bien. El expectativa es que nuestro grande se vaya a refrescar. Entonces lo que voy a hacer es antes de mostrar el cuadro de mensajes y ver que todo está terminado, voy a poner en ah call toe are objetos. Subrayar gestionar listado de vehículos. Y entonces llamaría a Populate grid. No se dé cuenta de que no puedo llamarlo. No viene en interés ya que e incluso si es atacado, pensamos, no es llamarlo Está bien, Entonces lo que pasa es que es privado, así que es privado más, adentro o gestionar listado de vehículos. Déjame ver si puedo encontrarlo rápidamente. Aquí es privado, así que no puedo llamarlo desde afuera. Entonces si lo hago público, entonces ese problema se resuelve por lo que es un vacío público poblar grilla en. Entonces podremos llamarlo. Entonces revisemos aquí la expectativa cuando haga clic en Guardar en si se trata de un anuncio para operación o de una operación de edición. El expectativa es que nuestro tu sabes, hacemos todo lo que sabemos que hacemos. Verificamos si lo decía más de lo que poblamos nuestro, um, objeto en consecuencia. Entonces ven que tipo de corte repetido y como que nos refractamos en la última vez. Entonces tengo un DB guardar cambios aquí tengo un DBC de cambios aquí en el día. De verdad no querría repetir esas cosas todo el tiempo, correcto, correcto, así que lo que voy a hacer es quitar estas líneas fuera del cable. Entonces ahora mismo soy refractario. Entonces voy a tomar las mismas líneas fuera de la cancha que se repitieron para después ponerlas fuera del cheque. Si es más o no correcto, por lo que comprobamos si es válido más. Si es un poco más de lo que queremos hacer esto. Si no es eso, más de uno para hacer eso. De cualquier manera, al final del día, queremos ver si el cambio está popularmente encendido. Entonces seguro, yo sólo haría un mensaje genérico Operación completada, actualizada para ver los cambios en. Entonces cerramos. Muy bien, Entonces lo que debería pasar es que cuando hacemos clic en guardar y hace cualquiera de las operaciones, en realidad sólo va a poblar la cuadrícula. Llamar a una función de rejilla popular en el gestionar en la ventana de administrar anuncios de vehículos en. ¿ Recuerdas que poblan el de Grady? Lo que ejecuta la consulta ya que la fuente de datos y todas las operaciones en el medio en entonces eso debería desencadenar la actualización fuera de la cuadrícula. Entonces, vamos a dar un paso hacia arriba. Está bien. Por lo que lanzamos nuestra ventana de listado de vehículos de gestión Me gustaría un auto nuevo en entonces voy a ver la marca está alta en el Perdón. Hola, solo yo 20. Este es el modelo 2019. Uh, lo siento. El Vinnie sólo está poniendo algo al azar. El año 2018 en la matrícula es que hacemos click guardar cambios. Es su operación se completa refrescado para ver cambios. Está bien, bien. Pero luego mira eso. Ya se refrescó para mí para que pueda cambiar ese mensaje. No, no necesito decirles dedo del pie decreto fresco segundo ya sea botón de refrescar ahí. Pero el punto es que la operación se actualizaría en la cuadrícula automáticamente. De acuerdo, Lo mismo para ello. Si digo que quería editar esto y quería limpiar un poco este vin porque puse el mal me salió bien, y luego guardar los cambios. Operación concluida. Ahora ves el vin cambiado entrando en todo está pasando en tiempo real, ¿ verdad? Entonces eso es todo lo que puedes hacer eso, Gregory Fresh Operations. Yo lo hice con el listado de vehículos de manejo. Bueno, yo no lo hice con el coche plomo. Déjame asegurarme de que lo hice. Con el auto plomo vendido, ya no tengo este auto en mi flota efecto borrar. Ya ves que no pasó nada. Entonces y haga clic en eliminar. No pasa nada. No visual. Cue cualquier cosa. Pero si refresco ves que desaparece. Está bien. Si intentara eliminar de nuevo, habría recibido un error. Entonces queremos hacer entonces es asegurarnos de que nuestra función de eliminación, um, nos diga que la operación fue exitosa y se refresca al mismo tiempo. ¿ Quieres decir incluso querer dedo del pie? Dales. Ah, ¿sí o no? ¿ Estás seguro de que deseas eliminar kind off prompt. Entonces estoy de vuelta en la lista de vehículos matrimoniales. Por lo que inicialmente intenté se re fresco usando esta función. Pero ese tipo de hace algo diferente a lo que queremos hacer. Alguien para quitarle esto. Entonces lo que vamos a hacer es decir uno. Si la persona hace clic en el botón eliminar, obtenemos los detalles, ya sabes, conseguimos el objeto y todo encendido. Entonces lo que voy a hacer es cordón de estrato y lo escribí rápidamente, así que sólo te lo explicaré. Entonces lo que estamos haciendo es hacer un cuadro de mensajes que nos permita dedo del pie del usuario. ¿ Estás seguro de que deseas eliminar. Entonces al hacer clic en el botón eliminar, se va a recuperar El registro va a recuperar la idea y el registro asociándose con el I d. perdón por entonces. Estamos lanzando un cuadro de diálogo. Recuerda que los cuadros de diálogo son caja que aparece que te impide interactuar con cualquier otra ventana abierta. ¿ Verdad? Entonces este cuadro de diálogo nuestro resultado de diálogo es el tipo de datos en el objeto es d son Eso es lo estamos llamando en estamos viendo Quiero un diálogo resultados que tenga el valor fuera de un cuadro de mensaje . Entonces este es el mensaje que estamos mostrando. ¿ Estás seguro de que deseas eliminar este registro? Él puede poner aún más detalles en esto si quieres porque ya recuperaste los objetos del auto que pueden decir. ¿ Estás seguro de que deseas eliminar el nombre del auto, por así decirlo o el modelo de auto kármico Si quieres activarlo, entonces este es el título del cuadro de diálogo, que es eliminar. Entonces decimos que queremos mostrar botones de cuadro de mensaje. Sí, no, son chancel. Entonces cuando surja, se le ocurrirá un Sí, lo sé y cancelo botón encendido. Entonces estamos mostrando en ícono. Esa es una advertencia de color de advertencia que les estamos haciendo saber que acaban de entrar a la zona de peligro justo encendido. Entonces, después de que los hayamos impulsado, estamos viendo si el resultado es sí. Significa que se llevaron el botón sí. Entonces queremos proceder a retirar el auto. Está bien, en ese entonces, habiendo retirado el auto, podemos llamar poblar grilla. Está bien. En un error ortográfico ahí para que podamos llamar a poblar. acuerdo, entonces eso debería, um ya sabes, refrescar órgano. Entonces intentemos esa operación bendita. Está bien, así que estamos de nuevo, pero estoy a punto de tratar de eliminar a Toyota. No creo que Toyota tenga ningún registro de renta asociado a ello. Siempre puedo comprobar segundo solamente. Sólo tienes que hacer una visión general del archivo en. No veo nada con Toyota, así que no debería tener ninguna dificultad para borrar Toyota. Doy click Eliminar en. Entonces me está dando esa urna. ¿ Estás seguro de que deseas eliminar este registro? Sí. No. A lo mejor así. Y haga clic. Sí. Y luego boom, Lo quita. Y luego refresca la grilla automáticamente para mí por ello que huelgas también eran si hago clic en No. Entonces no pasa nada. Si hago clic en chancel entonces no pasa nada. Pero entonces una vez que haga clic, sí, entonces se retira corazón. Por lo que acabamos de limpiar un poco nuestra aplicación. Nos aseguramos de que sólo se abra una ventana. También ponemos algunas buenas capacidades de actualización en nuestras ventanas. Por lo que lo hice con maneja listado de vehículos. Te reto a que intentes repetir esos pasos con la gestión de registros de alquiler. De cualquier manera, en el siguiente video, vamos a estar revisando en nuestra corte hacia el control de fuentes. Tendré todo el cancha listo y disponible en comentado para que puedas consultar el repositorio para el acorde terminado en caso de que en años. 32. Formulario de ingreso simple: en este video estará configurando un sistema de inicio de sesión para o actualizando. Esto requerirá hacer algunos cambios, querer a la base de datos y los dos al flujo general fuera de nuestra aplicación. Por lo que empiezo con los cantantes de base de datos. Simplemente voy a llamar a mi estudio de gestión sobre lo que necesitamos es una nueva tabla que almacene la información del usuario. Por lo que distraer Lee llamado New on Tables Ir a nuevo Click Table on, entonces lo que queremos es un I d off course, que sería off type integer. Sería la clave primaria en. Lo estableceremos como identidad para que se incremente automáticamente una vez más si no estás tan familiarizado con el desarrollo de bases de datos, el nuevo cantículo, mi curso, mi servidor SQL blando maldición para todos o mi diseño de base de datos SQL y maestría. Entonces después de arrancar nuestra columna I D, entonces tenemos los campos relacionados con el usuario más comunes, que estarían usándolo, que, como tiene environ Char 50 y contraseña, que pondré como Env Arch son, Dijo Onda. Esto quieren ser 100 y voy a explicar por qué también no hago mucho estos dos para que se conozcan también. No tiene sentido. Tienes un usuario sin usar contraseña más o cualquiera o ambos deben estar presentes para que el usuario esté completo. ¿ Verdad? Entonces solo tengo esas tres columnas para No, Guarda esto y solo llamaré a ésta. Los usuarios hacen clic. OK, y entonces tenemos nuestra nueva mesa. Ahora, algunas escuelas de pensamiento dirían que ya sabes, quieres usar ese camión. Exactamente qué usuarios hacen lo que en su aplicación. Entonces si ese es tu deseo de lo que querrías hacer es agregar claves extrañas a tus otras mesas, siendo tipos fuera de autos en el auto, registro completo para que realmente puedas ver quién está interactuando con estos, um, tablas en cuáles son estos registros en los puntos que sean? No voy a ir a ese incendio, aunque sólo quiero un sistema de inicio de sesión simple para que podamos intentar restringir el acceso a nuestra aplicación. Entonces después de agregar esto a la base de datos, tengo que volver a mi cancha y hacer algunas modificaciones para que simplemente salgan del barco amarrado. Entonces la primera modificación que voy a hacer es dedo del pie nuestro E t m X. Así que cada vez que hagas un cambio a la base de datos, quieres que tu e DMX Aurier entre en el diagrama para estar al tanto de esos cambios. Por lo que agregamos una nueva tabla segundo EU clic derecho Water Update modelo de base de datos. Entonces cuando esto salga, ve la tina de anuncios encendida debajo del Aftab. Te diste cuenta de que tengo en flecha al lado de tablas y muéstrame que tengo una nueva tabla que está en la base de datos, pero no en el diagrama por lo que solo puedo hacer click usuarios click en terminar, entonces va a seguir adelante en el proceso de agua. Tiene que ver con el resultado final siendo la adición fuera de la mesa de usuario dedo del pie mi dedo del pie, mi CD. Un diagrama de mezcla, ¿verdad? Entonces no, mi aplicación sabe y puede acceder a la tabla de usuarios o propiedades de usuario, ¿ verdad? Si hubiera configurado relaciones como dije, configuramos las claves extrañas entre las tablas y la punta del usuario. Entonces verías leones yendo por todo el lugar porque estos relacionados de tienda y luego usuario relacionaría tipos de dedo fuera de auto así como actual nuestro registro. Pero eso es que no se hizo, así que aquí diagrama debería verse así fuera de curso en el que construiste. Como puedes ver, mi computadora aún cargando causa que está construyendo. Nosotros le damos un momento. No, eso está hecho. Podemos seguir adelante y diseñar nuestro registro. Informa que solo voy a volver a Solution Explorer, ¿ verdad? Haga clic o proyectos goto Agregar el. Entonces quiero un nuevo formulario en este se va a iniciar sesión. Entonces solo lo voy a llamar para iniciar sesión y luego hago clic en agregar darle algo de tiempo para procesar todo eso. Está bien, Así que seguí adelante y lo diseñé, y había usado las mismas técnicas que han estado usando hasta este punto, ¿ verdad? Usé una etiqueta para la etiqueta en la parte superior para representar que es un log inform. Usé un diseño de mesa, y a la izquierda, puse las etiquetas por usarlo y passer. Entonces a la derecha pongo los cuadros de texto Enseguida después de mí, seguro que mis cuadros de texto tienen los nombres de las tarjetas, así que tengo TB nombre de usuario on die have TB password, ¿ verdad? Para que esto pueda pausar el video y luego fuera de curso, tener el botón de inicio de sesión al final del día para que puedas pausar el video aquí y hacer tu diseño, ya sabes, similar al mío si quieres. Si tienes una razón diferente, eso está bien. Pero eso entonces fuera del día que hemos estado aprendiendo esto, así que no voy a repasar las mismas cosas. ¿ Son estas cosas básicas una y otra vez? Porque espero que te hayas puesto al día y estés familiarizado con ello. Si no lo estás, entonces puedes revisar los videos anteriores y ponerte al día con algunos fuera de estos controles y sostener una obra. El siguiente paso, sin embargo, sería asegurarse de que inicie sesión Button funcione, porque una vez que la persona proporcione nombre de usuario y la contraseña, el siguiente paso es que realmente logren nuestro click iniciar sesión tan fuera de curso en Haga clic. Nosotros queremos hacer algo. Ahora eso es algo que vamos a querer hacer nos involucra interactuar con la base de datos, Onda buscar y recuperar el nombre de usuario y contraseña para asegurarnos de que lo que se ingresó mucho es lo que está en la base de datos. Entonces a modo de pruebas, primer lugar, voy a volver a la base de datos sobre voy a agregar nuestro registro, así que solo estoy actualizando mis tablas, voy a comprar tablas de usuarios, digamos en su top 200 reglas en. Entonces voy a poner un nombre de usuario manual admin en el passer. Esto es lo que debe ser la palabra contraseña, todas en minúsculas, entonces ese es nuestro primer usuario en nuestra base de datos, así que agrega posturas medias. Por lo que eso significa que cuando llegue al registro, informe si proporciono credenciales. Usa el nombre admin y la contraseña es la palabra contraseña. Entonces cuando haga clic en log y debería poder buscar en la base de datos, verificar que el nombre de usuario que proporcioné mucho es uno de la base de datos, la contraseña. De igual manera en. Entonces di que sí o no. Puedo pasar por Muy bien, alma de nuevo en nuestra cuerda. Como dije, necesitamos interactuar con la base de datos. Entonces eso significa que necesitamos algo para eso. Por lo que podemos la tienda privada de sólo lectura, y luego nuestro objeto off car entidades Trento on. Llamaré al objeto en el marcador D B en. Entonces inicializaré esto en el marcador. D B es igual a una nueva instancia, fuera del alquiler de autos. Y es Ahí vamos ahora en el evento click. Voy a envolverlo en una pista de la que? No. Entonces solo diré que intentes. Perdón. Déjame intentarlo otra vez. Prueba doble de la CIA, doble tina superior en ella. Genera ese fragmento justo en. Entonces solo escribiré mi excepción. Entonces voy a dar una era genérica, um. Por lo que nunca es buena idea mostrar realmente el mensaje de excepción al usuario. Como ya he dicho antes, pesar de que ya lo he hecho antes, solo estoy demostrando que se puede. Pero en términos generales, probablemente no quieras, porque eso no significa nada para usar su. Entonces, ¿solo quieres decir que algo salió mal? Pieza draggin. Está bien, entonces eso es lo que quieres hacer en, entonces, para probarlo. Lo que vamos a intentar es recuperar los valores de nuestro formulario para que pueda salvar a nuestro usuario. Nombre es igual dedo del pie TB nombre de usuario texto punto en. Entonces la misma forma de nuestra contraseña es igual al texto de contraseña TB. Por lo que hemos recuperado el nombre de usuario, recuperar la postura que el usuario ha ingresado. No. El asunto con el nombre de usuario es que tal vez quieras recortarlo un verdadero significa que te estás quitando espacios en blanco a ambos lados para que en realidad pueda ver algo como recorte de punto de cadena . Ah, lo siento. No, no lo sería. Cadena que recorta cadena no tiene esa función de recorte. En realidad serías ese texto. No es cierto, ¿verdad? Entonces cuando decimos trim oscuro, cualquiera que sea el valor de cadena es nuestra variable de cadena la que vemos ese recorte, entonces lo que hará es despegar cualquier espacio blanco líder o entrenamiento con espacio en blanco del uso de él. Porque si escribía mi usando un mérito, si escribía espacio o persona inadvertidamente barra espaciadora mientras escribía o antes de escribir o después de escribir el nombre de usuario, entonces no sería mucho directo. Por lo que solo quieres recortarlo para asegurarte de que no tienes ningún espacio en blanco final o espacio en blanco inicial para que el texto sea más absoluto durante la comparación. No quieres hacer eso con un transeúnte, sin embargo, porque quieres asegurarte de que la persona ponga el texto exacto que está en la base de datos que ponen en el cuadro de texto real. Está bien. Entonces, después de recuperar el nombre de usuario y la contraseña, lo siguiente que quiero hacer es realmente compere. Esto están tratando de encontrar algo en la base de datos tanto. ¿ Esta combinación es correcta? Alguien para guardar a nuestro usuario, que es mi objeto que voy a utilizar para recuperar de mi base de datos en mi tabla de usuarios. Cualquier registro. Entonces quiero un disco. Muy bien, así que necesito mala, terrible usuario porque estoy esperando un registro. No debería haber demasiado usuarios con la misma combinación de nombre de usuario y contraseña, aunque tengan las mismas adiciones de contraseña tengan la misma usándolo en cualquier momento dado. Por lo que espero que solo un usuario vuelva realmente. Voy a decir primero o default, y luego voy a vomitar una expresión lambda sobre eso. Quiero decir que quiero el primero nuestro usuario predeterminado que tenga un nombre de usuario que mucho es el nombre de usuario acabo de obtener de mi cuadro de texto. Andi. Por lo que puedo usar el y bajo o simplemente como si estuviera haciendo una declaración if Andi, la contraseña en la base de datos coincide directamente con la contraseña en el cuadro de texto. Está bien. Entonces una vez que haga eso, no voy a revisar si regresé. Yo usuario no lo son. Entonces digo, si usuario es equivalente dedo del pie no entonces. Y si el usuario es igual interno, eso significa después de su búsqueda en la base de datos para el primero nuestro usuario predeterminado Bueno, default significa no. Entonces para el primer usuario, eso tiene lo mismo usándolo que fue introducido en los libros de texto en el passer CME que se pretendía en los libros de texto si ese constructo de usuario no tiene todo derecho, Entonces si después de esa operación esto es no, entonces queremos decir algo así como, favor de proporcionar credenciales válidas. Está bien, por lo que a nosotros respecta, nadie en la base de datos mucho es que No, No quieres decirles exactamente qué pasa. Al igual que en usted no quiere decir que sí. Yo telefoneé que usando un pero tu contraseña podría estar mal o viceversa. Porque si fuera alguien que fuera Trento maliciosamente entrar en tu sistema, habrías resuelto la mitad de la ecuación para ellos, haciéndoles saber por qué no pudieron entrar en tu aplicación. Está bien, Así que quieres decir si es No. Si no existe ningún usuario así. Entonces ya lo sabes. Por favor, proporcione credenciales válidas. Podemos dejar lo más en blanco para. No. Um, claro, eso es lo que pasaría si lo es. Si todo está bien, entonces eso es lo que pasó. Entonces solo voy a decir que los flujos son tan solo para experimentos enfermos solo para no. Vamos a decir si no está actual de lo que la pantalla sólo nos debe dar un cuadro de mensaje. Si está bien, entonces la pantalla. Se cerrará, acuerdo? No. Si queremos que esta ventana aparezca cuando presionamos start, entonces necesitamos modificar nuestro programa ese archivo CS. Entonces ahora mismo va a lanzar primero la ventana principal. Lo que quiero para el piso desde mi aplicación es que cuando haces doble clic en la aplicación para ejecutarla, en realidad va a lanzar la pantalla de inicio de sesión. En primer lugar, después, si lanza una pantalla de inicio de sesión, entonces o te metes o no te metes más lejos, lo que significa que llegas al hombre que conocemos, que es rmd, yo aparente, que hemos diseñado toehold todas las demás ventanas y funcionalidades de nuestra aplicación o estás atascado en la pantalla de inicio de sesión. Muy bien, así que quería decir lanza primero la ventana de inicio de sesión. Por lo que cuando se ejecuta la aplicación se inició el inicio de sesión. Entonces cuando hago clic en iniciar, entonces vemos nuestro largo y ventana subir. Entonces si escribo admin one on tocando la palabra contraseña y hago clic en iniciar sesión, entonces no aparece nada. Art. Entonces ves que esa pieza proporciona credenciales válidas, válidas y te mostraré exactamente cómo conseguí estos cuadrado. Por lo que probablemente estás escribiendo dentro de ella y estás viendo la palabra postura. Surge en tu vista cuadrados vienen a la mente, lo que solo representa al Generi Carter mostrando que sabes que está oscurecido su mástil. Entonces te voy a mostrar exactamente cómo me piden la mía. No envié un cuadro de texto, y lo hice. Me salté el paso de mostrarte Así que está bien. Voy a volver. Pero el punto es que cuando escribo credenciales inválidas, no me dejará ir más allá. Si escribo admin y password en un click, inicia sesión, entonces se cierra. Entonces vemos que nuestra aplicación o están registrando Logic está funcionando porque fue a la base de datos y se comprobó. Y es nuestro administrador como usarle contraseña como contraseña en dso Hizo lo que se suponía que debía hacer en la declaración else. Está bien, así que déjame volver rápidamente al diseño y mostrarte lo que le hice al cuadro de texto para el cuadro de texto. Mezquita del dedo del pie, Tu querido texto. Entonces lo que debes hacer es proporcionar la contraseña Char. Entonces vamos a pasar fueron char y proporcionar un avisos es char. Entonces eso significa darle un símbolo si pones barras y barras aparecerán si pones un asterisco de lo que aparece la Escuela Astor. El motivo por el que estoy obteniendo plazas, sin embargo, es que cambié el funt. Entonces al cambiar los fondos Toe Maar dejó que solo estaba experimentando un minuto de cambio a Marlet. Entonces lo que pasa es que aparentemente no hay asterisco en ese fondo, ¿ verdad? Entonces solo da esos cuadrados genéricos para mostrar que bueno, es enmascarar. Le encantaría usar el asterisco, pero no tengo un asterisco en este fondo, así que solo quiero hasta el cuadrado genérico. Para que conozcas el símbolo a un lado. El punto es que puedes mezclarte tu texto usando esa contraseña char, porque por supuesto, no quieres que la palabra contraseña o la persona patrocinadora esté en texto sin formato mientras se ingresa a la base de datos es no para arreglar el piso. Todo lo que hicimos fue decir Siguiente son, digamos, más cerca en lo demás. Lo que quiero hacer es realmente lanzar las ventanas principales. Voy a decir Vier media ventana es igual a una nueva instancia fuera de media ventana aan den. Voy a ver bien,por supuesto, por supuesto, mi semi colon y yo digo yo y punto de ventana Claro, está bien, entonces quiero que esta ventana se esconda, Así que la cosa es que unas imágenes te muestran exactamente lo que va a hacer suceder. Entonces cuando lanzo mi aplicación el, entonces sigo adelante y proporciono credenciales válidas. Así que agrega media y nos palabra y haz clic en iniciar sesión. Entonces va a subir la ventana principal, pero el registro va a estar ahí, quedando en segundo plano, lo cual realmente no quiero. No es tan grande de un trato, pero qué pasa que si quería cerrar la aplicación después de acercarme y ventanilla encendida . Después vuelve y cierra el registro porque son dos ventanas completamente diferentes. No dije que la tala debería ser un niño de la India fuera de la ventana media. Muy bien, entonces son dos ventanas separadas y ambas están separadas de la aplicación. Por lo que mientras ambos estén en ejecución, la aplicación no se cerraría. Entonces lo que me gustaría hacer es esconderme en la razón por la que no me escondo. No estoy cerca. Es que si digo cerrar aquí, la ventana de inicio de sesión podría en realidad cerrar antes de las orillas de la ventana principal. De acuerdo, así que en realidad he visto eso pasar antes, así que sólo voy a decir esconderse. Entonces eso significa que cuando brindo credenciales válidas Muy bien en, entonces sigo adelante y hago clic en iniciar sesión. Después revisará la base de datos, me verificará, lanzó una ventana de hombre, y luego ocultará la ventana de inicio de sesión. Por lo que eso se ve un poco más limpio. Es un log in una norma en mi aplicación. Pero entonces cuando cierro este aviso de ventana media, sigo en modo de depuración. Entonces debug more representa que la aplicación todavía se está ejecutando bien, lo cual no quiero. Entonces eso significa que la ventana de carga sigue siendo escondida. Ni siquiera puedo llegar a ella porque está realmente escondido. Ni siquiera está apareciendo en mi barra de tareas si lo estás si estás experimentando bien, no, tampoco estará apareciendo en la tuya. Por lo que en realidad tengo que hacer click stop. Y eso aún no es deseable, porque entonces eso significa que un rojo procesado seguiría funcionando hasta que esa computadora de personas se apague. Por lo que no queremos que alguien simplemente modifique esto anotó un poco más para que podamos ver nuestro flujo de aplicación un poco mejor. Entonces lo que quiero hacer es que cuando lanzo mi ventana principal, quería lanzar con la noción son con el conocimiento fuera de la ventana de inicio de sesión estando en alguna parte. Por lo que te das cuenta que estas formas son amables autónomas. Entonces cualquier lanzamiento uno o ves no mostrar la única vez que uno se preocupa por el otro es si es una M d. me aparento de esa. Todos los Niños no se preocupan el uno del otro. Ellos sólo saben de su aparición en MD I. En esta situación, la ventana principal es su propio em, sus padres, con sus propios Hijos en el registro informan, es un hermano, lo que significa que está en el mismo nivel que la ventana media. No es un niño en él es una ventana media dentro y fuera en sí, pesar de que no es una apariencia M D. Entonces el punto es que no puedes si tienes dedo del pie deja uno. No, fuera del otro deliberadamente, correcto. Pero lo bueno es que una vez que le haces saber a uno sobre el otro significado, una vez que me avise a mí y a Window que hay una ventana de inicio de sesión en alguna parte, entonces realmente puedo manipular la ventana de inicio de sesión a través de la ventana principal. Um, en cualquier momento. Entonces lo que voy a hacer es pasar es en esta declaración off on object. Voy a tener claro que se pasan en una instancia fuera de este sermón, pero que esta palabra clave significa que cualquiera que sea la clase en la que esté operando, esto representa un objeto fuera de esa clase, algo que estoy pasando un objeto de la clase de registro o el registro en forma en mí y ventana . Ahora estás viendo que aparece esta línea roja porque no hay constructor para mí y ventana que saca una discusión de Le Guin, alguien para modificar mi yo y ventana dentro de esta bodega de control en Click Me y ventana y salta sobre a esa forma. Entonces si no sabías eso o ese trimestre otro Así que si no conocías a ese tiburón o no, haces, entonces lo que quiero hacer es dejar aquí no me deja saber en el norte que hay, ah propiedad o darle una propiedad fuera de tipo logging y Voy a llamarlo subrayado Iniciar sesión. Está bien, Pero entonces también voy a crear otro constructor. Soc! Gira conmigo. Usa mis atajos aquí en entonces, esta ventana principal, este otro constructor va a asumir objeto llamado Le Guin Onda. Entonces qué va a hacer este después de inicializar componentes, recuerda, siempre tienes que inicializar componente, pero entonces estás también va a inicializar mi propiedad de inicio de sesión local y privada que acabo de creado. Se va a inicializar al valor que viene en el constructor que se está inicializando aquí. Está bien, así que una vez más, lo que esto me permite hacer saber es que tirar el resto de la cancha quiere que se use este constructor . Entonces tengo acceso a la propiedad, subrayado iniciar sesión. Entonces puedo hacer lo que quiera a la tala. Está bien, entonces todo lo que voy a hacer lo saben. Di eso yo y ventana. Entonces solo traigo mi diseñado para mí y ventana, y luego les voy a decir, y sabemos que quería tener un derecho de evento de cierre. No obstante, no pusimos una carga Eventos. No, eso está bien. Pero entonces quiero decir que cuando ustedes estén cerrando, sólo voy a buscar con mucho cuidado el evento de clausura. ¿ Verdad? Un tornillo demasiado abajo. Ahí está. Cierres de forma. Tienes formulario cerrado en tu formulario. Cerrando a la derecha. Alguien que diga cuando estás cerrando, quiero que hagas algo. Por lo que fui a hacer doble click en ese espacio y obtener el evento de cierre de formularios en. Entonces todo lo que voy a decir es que cuando estés cerrando, quiero que le digas el objeto de inicio de sesión o el registro informe que, ya sabes, te llamó inicialmente y se pasó sobre sí mismo a tu puntuación para que lo sepas. Dígale que cierre. Está bien. Entonces lo que va a pasar es que cuando la ventana de carga me va a lanzar a mí y a la ventana . Se va a pasar por encima de un objeto fuera de sí mismo a la ventana media cuando la ventana principal lance ventana principal se habrá lanzado con conocimiento fuera de esta ventana de inicio de sesión, y estaría haciendo lo que tenga que hacer con todos los Niños están operando, lo que sea que esté haciendo está haciendo. Pero entonces eso Entonces fuera el día en que esté cerrando, dirá, Bueno, cuando esté cerrando, quiero que cierres para que inicies sesión ventana, cierras mientras estoy cerrando. Entonces todos están contentos, así que vamos a probar y a ver si eso funciona. Entonces cuando hago clic en iniciar, entonces inicio sesión. Está bien, entonces tenemos ventana mala y sabemos que podemos hacer lo que queramos hacer en mí y ventana. Pero luego cuando hacemos clic, ciérrenme y ventana, luego expectativas de que cierre la pantalla de inicio de sesión. También en estudio visual salida de barco amarrado es prueba de que nuestro cordón funcionó son así cuando esa es una forma de configurar un registro informado. No estoy diciendo que esa sea la forma en que he hecho esto de bastantes maneras antes, pero sin duda esa es una forma que podrías usar y creo que esta fue la más simple de mostrarle . Alguien se está acostumbrando a ganar formas. Pero, ya sabes, algunas personas realmente lo lanzan como el MD en el que niño. Entonces ya sabes, te metes en la aplicación, pero después de iniciar sesión en proto proceder a obtener acceso a las otras Windows y otras muchas opciones . Tienes un número off maneras de implementar este tipo off flow entre tus formularios. No volver a nuestro bitácora informado. Hay otra modificación importante que tenemos que cumplir con nuestra aplicación para hacerla realmente segura, porque el hecho es que si alguien obtiene acceso a esta base de datos y se ven y ven admin en la palabra contraseña, todo está en juego payasadas. Nunca se quiere almacenar nombres de usuario. ¿ Qué? Lo sentimos, Nunca quieres almacenar contraseñas en texto plano. Siempre se quiere hacer lo que se llama encriptación. Entonces necesitamos encriptar nuestra, um, um, ya sabes nuestra contraseña para asegurarnos de que si alguien obtiene acceso a la base de datos por cualquier medio incluso ellos caminaban sobre tu hombro en la oficina cuando estabas haciendo este trabajo que no serían capaces de descifrar ver que la contraseña es. Por lo que para poder hacer encriptación, necesitamos obtener la ayuda de algunas bibliotecas de terceros. Su número fuera de algoritmos de encriptación por ahí, has disparado 256 Tienes uno. Tienes MD cinco. Podrías ir a investigarlos. Um, pero te voy a ayudar a conseguir algunas herramientas, conseguir algo de ayuda en este proyecto en. Entonces podemos hacer algo de encriptación juntos. Entonces lo que queremos hacer es ir a la solución. Explorador, ¿verdad? Haga clic o proyecte en. Entonces estaremos usando new get Monnet Package Manager son así que esto nos seguirá toe bro's on open source kind off marketplace para ver qué podemos conseguir para ayudarnos en el camino. Entonces voy a ir, hermano. Instalado y actualizaciones de Sis bro. Viste que tenías la instalación del marco de entidad. Que es lo que nos permite hacer enlace e interactuar con nuestra base de datos. ¿ Qué? lo que realmente me interesa es un shun de bordillo para que pueda buscar encriptación. Está bien. El cifrado realmente no me mostró nada. Probemos con seguridad. Entonces a veces vendrás aquí y no necesariamente sabes exactamente lo que buscas . Porque hay tantas bibliotecas para elegir. Pero lo que realmente busco es algo con respecto a la seguridad en lo que yo quisiera. Entonces ves que tienes bastantes algunos aquí tienes, hermana. Pensé que acabo de citar a Microsoft que redes que la seguridad conoce nuestra misma en la que me interesa,que interesa, es el sistema que la criptografía de punto de seguridad, no algoritmo. Entonces si miras a la derecha, ves una bonita descripción sobre todas las pruebas que ofrecen. Lo siento. Los pies aparecen pequeños en mi pantalla, pero ojalá tu punto de vista en tu pantalla y esté más claro. Pero ellos se ve que tienen un SRS, atia cada marca MD cinco en un montón de otros son así que en realidad puedes simplemente hacer clic en este en, luego el horrible fuera de curso que quieres asegurarte de que estás usando su ah safe publisher por lo que no se pone mucho más seguro que Microsoft estar en. Los editores dicen que ves por Microsoft a la derecha del título real. Y si ves a Microsoft y puedes confiar en él, ves otros grandes nombres en los que puedes confiar. Pero entonces lo que pasa es que ciertas personas se sientan y se encuentran con estas bibliotecas en ADN, sin desacreditarlas ni nada. Pero no todos lo han hecho. Tus mejores intereses están cansados. Algunos apagados, más maliciosos. Por mucho que me consigas, trata de eliminar a los maliciosos. Sí te dicen que no son responsables de nada que te pueda pasar a ti o a tu producto. ¿ Y si no cargas nada de ellos? Correcto. Por lo que quieres usar este para que puedas hacer click en este Pulsa esta pequeña flecha negra a la derecha, o simplemente puedes hacer clic en instalar en. Entonces puedes darle algo de tiempo, saber dónde va a seguir adelante para reunir a todos. Dependencia es que puede utilizar más de una bibliotecas en el día. No va a hacer poco llamado D L L's, que son como paquetes que tienen un montón fuera de biblioteca. Entonces, ya sabes, cada vez que escribimos una clase, yo diría que usar esto están usando que Esos son distribuidores reales. Están las bibliotecas llenas de tomas telefónicas, ¿verdad? Por lo que es solo descargar un montón de bibliotecas. Ellos sólo pueden decir que acepto y permitir que no le haga Señor tantos como yo Neto. Entonces le damos algo de tiempo. Y luego cuando esté hecho, si pasas a tu solución Explorer en referencias desplegables, entonces vas a ver un montón de nuevas referencias. Probablemente no lo hiciste antes, así que puedes la nota estatal del hecho que tengo sistema ese sistema de seguridad que la criptografía punto de seguridad algoritmos cualquiera de un montón de otros. También verás el marco de entidad, los que se agregaron cuando agregamos nuestro diagrama e DMX sobre así sucesivamente. Entonces eso es lo que obtienes que trae a la mesa Tello's tú para solo instalar un paquete viuda yendo y recogiendo estos de todo Internet e intentando inyectarlos en tu proyecto manualmente. De acuerdo, así que sepan que he agregado estos algoritmos. Es el momento de realmente poner uno a usar. Está bien, así que voy a usar el Shah 256 creo que esa es una buena, bonita y segura en. Entonces te voy a guiar a través exactamente de lo que se necesita hacer para que se encripte . Entonces, en primer lugar, siempre quieres cifrar tu contraseña. Un peso, lo que significa que tu encriptación de tu contraseña para un almacenamiento nunca estás descifrando tu postura para la comparación. Entonces eso significa que si estoy creando un derecho de usuario, si tengo un formulario, ya sabes, como cuando te inscribes para cualquier cosa en Internet y pones en un usándolo en habrías tecleado tu contraseña en texto plano, causa que lo escribes de la manera que sabes para deletrearlo al hacer clic en Enviar. Lo que pasa es que ese sistema tomará esa contraseña y encriptada y la guarde. Ahora, después de eso, cada vez que intentes iniciar sesión, tomará lo que pongas en ese campo de contraseña, luego encriptado, luego comparado este cifrado con el cifrado almacenado, nunca tomará el cifrado almacenado e intentará descifrarlo demasiado contra su texto plano. Está bien, sostengo que eso tenía sentido. Por lo que siempre encriptas de una manera. Entonces lo que tenemos que hacer aquí es cifrar la contraseña que se está proporcionando en. Entonces compárelo contra bien, el pastor que se está almacenando. Por lo que hay dos cosas que necesitamos arreglar un día de encriptación para la comparación y para la contraseña real que se almacena. Tenemos que modificar eso también. Entonces, primer lugar, voy a declarar una variable o un objeto más bien encendido. Esto va a ser fuera tipo Shah 256 Ahora tiro 256 en la línea roja va a subir porque entonces no reconoce eso y yo solo lo voy a llamar Shot is equal toe sha 256 dot crea Redlands Galore Veamos qué tienen las líneas rojas que ver. Entonces si me cierro sobre la línea roja o la línea con una línea roja el mundo con la línea roja, se lo dirá Dame la bombilla. Pero me voy a decir que necesito incluir el uso fuera de esta biblioteca. A ver, necesito esa declaración. Entonces si hago clic que siga las pautas, entonces todo es azul. Sé que se ve más aceptable. Por lo que necesito incluir esa biblioteca toe acceder al algoritmo de encriptación amable de usar. Entonces habiendo hecho referencia a la toma a 56 on, luego obtuve el nombre de usuario y la contraseña de nuestro cuadro de texto, lo siguiente que quiero hacer es computar Ah hush. Entonces voy a convertir la cuerda de entrada dedo del pie abaya Atari on compute el silencio. Entonces estoy obteniendo la contraseña del valor. Lo estoy pasando al shh de cómpute de punto de disparo, que no está en acordonarlo sobre él. Después lo convierte en mordida, Ari. Entonces en C agudo, eso es lo único urinario en. Entonces. Ese es el tipo de datos en la variable se llama datos. Está bien. Habiendo hecho eso, necesitamos construir una cadena. Entonces primero, hay que declarar un objeto constructor de cadenas, correcto, para que pueda recolectar las picaduras y crear una cadena con ella puesta. Entonces, después de que haga ese constructor de cadenas, voy a usar un for loop aan den constructo esa cadena usando los diferentes puntos de datos de la mordida. Date prisa. Está bien, así que déjame pasar por esto otra vez. Estoy convirtiendo todo, convirtiendo la cuerda en mordida, Ari, Ari, ¿ verdad? Datos convocados on. Entonces solo estoy declarando un objeto constructor de cadenas para que pueda usarlo más dentro de un bucle de cuatro donde estoy diciendo, dame igual a cero. Los ojos deben correr a la longitud fuera del área de mordedura de datos. Cualquiera que sea la lente que se acercó, incremente en consecuencia en. Entonces estoy viendo a un constructor de cuerdas simplemente anexar cada subíndice en mi mordida, Ari, mientras lo convierte a cadena todo bien. Después de hacer todo eso, entonces voy a asignar el valor toe una contraseña o toe una variable llamada hashed password Heart. Entonces constructor de cuerdas, Doctor String. Lo estoy revolviendo como pastores hachados y termino con esta operación. Sea lo que sea, cambiaste escribes Lo siento, ya que la contraseña se habría cambiado por completo al final esta operación en algo que quizá no reconozcas, yo sí digo yo, y yo reconocer realmente debo decir que no debe reconocer. Entonces solo quiero establecer un punto de ruptura aquí mismo en la línea donde traté de buscar al usuario al ir a mostrarte exactamente en qué se transforma la palabra. Muy bien, así que escribía admin password on estaban en el punto de descanso. Entonces primero, déjame mostrarte el texto que escribí tendría la contraseña de bean justo encendido, luego el texto. Eso no es callado se ve así. No, esta no es la palabra contraseña. Bueno, realmente es la palabra contraseña. Y así debe verse en nuestra base de datos de tal manera que si alguien viene y ve en la base de datos, no hay manera de que puedan decirme que esta es la palabra contraseña, acuerdo? Y si continúo con la cancha donde no soy nadie para buscar en la base de datos, bueno, esto continuará porque sigue buscando Just stop la ejecución on. ¿ Entonces qué? Realmente debería estar comparando con lo que hay en la base de datos es el valor que está en contraseña silenciada y no contraseña. No, si vuelvo a ejecutar esto, correcto, y solo estoy quitando el punto de ruptura. Entonces si vuelvo a ejecutar esto e intento iniciar sesión y estoy tratando de comparar la postura en la base de datos, cual está sesgada pastured con la contraseña silenciada, entonces será una falta mucho porque nuestras bases de datos almacenando la palabra contraseña en contraseña hash no se parece en nada a la palabra contraseña. Entonces eso me dice que la contraseña hashed es lo que realmente debería estar en la base de datos. Por lo que me acaba de dar clic en iniciar de nuevo y conducir ese punto a casa realmente rápidamente. Muy bien, así que inténtalo en admin y contraseña, y hago clic en iniciar sesión. Entonces lo que harás es intentar comparar la contraseña silenciada con la contraseña, y ves que estas proporcionan credenciales válidas son. De acuerdo, así que si solo pongo ah, punto de ruptura aquí otra vez entonces intento este login y lo estoy haciendo solo para poder conseguir una retención del valor que está en transeúnte silenciado. Por lo que quiero todo fuera de este volumen, excluyendo las comillas fuera de curso. Voy a copiar esto y luego sólo voy a hacer trampa un poco. Yo quiero entrar a mi base de datos y voy a poner esa contraseña hash como el valor. Está bien, así que esa es una de las razones por las que dije la contraseña se presta para ser 100 varta son 100 no Varta son 50. Porque así es como un pase o se supone que debe verse en tu base de datos. Nadie debería poder buscar en la base de datos NC que el administrador mancha. Palabra es la palabra contraseña. Déjalos C cinco e 888 Sí, bla, bla Andi. Si se han tomado el tiempo para memorizar todo esto, necesitan una vida realmente y verdaderamente bien en descifrar Tampoco será lo más fácil del mundo tampoco. Entonces vamos a seguir recto eso otra vez. Entonces sepan que lo he cambiado en la base de datos justo antes de que se hiciera la comparación. Cuando hace la comparación en, probablemente continúe. Entonces debe proceder. Muy bien, así que intentemos eso una vez más solo para asegurarnos de que todo esté bien. Entonces me voy de pie una vez más. Empieza en. Entonces esto va a lanzar mi pantalla de inicio de sesión, que me va a pedir dedo del pie ingrese mi nombre de usuario y contraseña. Entonces mi nombre de usuario es la palabra que me referiría en mi contraseña es la palabra contraseña. Ves, eso es lo que están mecanografiados. Haga clic en iniciar sesión en él, luego cascos que pastoreó lo compara con lo que hay en la base de datos se da cuenta de que las dos palabras hash para ser lo mismo en. Entonces procede. Entonces si hago un error ortográfico dentro de mi contraseña, entonces el hash va a ser diferente, y no es válido, está bien, bien, así que fuera de curso, al crear usuarios, si despiertas, quieren extender esta función que conoces y poner en algunas capacidades de administración de usuarios en esta aplicación. Cuando estés creando al usuario, si eres el que sienta al transeúnte, solo asegúrate de seguir estos pasos. Este algoritmo donde declaras el algoritmo que estás usando uno. Andi, intenta usar un algoritmo. Aplicación de garganta. No usas MD cinco aquí y exhibes por allá porque los hashes se verán diferentes. Y tú, yo me tropezo con problemas, ¿verdad? Por lo tanto, siempre use un algoritmo de hashing en. Entonces creas tu mordida, Ari. Y luego reconstruyes esa cuerda en base a las diferentes partes que entraron en el área de mordedura en. Después utilizas la contraseña callada. Después de eso, para cada otra operación en, esa es una forma rápida de agregar alguna funcionalidad de inicio de sesión a su aplicación. 33. Características de control basadas en los roles de los usuarios: Oigan, chicos, en este video, vamos a empezar a buscar funcionalidad de construcción que nos ayude a gestionar a nuestros usuarios ahora hasta que no, habríamos citado difícilmente a un usuario. Lo llamamos admin, y codificamos duro la contraseña. Pero en realidad, no vamos a esperar que cada vez que tengamos un usuario o cuando tengamos varios usuarios para o aplicación que el usuario haya sido duro para traer la base de datos y codificado duro, encuentre la versión de hashing fuera de la contraseña. Al igual que lo que hicimos en manualmente poner esos adentro. Esa no es la realidad. Lo que queremos hacer es crear una interfaz donde el usuario pueda hacer click. Preferentemente, el usuario administrador, por supuesto, puede hacer clic en dinero usuarios obtener una ventana de gestión similar que hemos hecho para el listado de vehículos y para inter registros uno que lista ordene a los usuarios en la base de datos que quisieran mostrar a sus pastores fuera de curso en la horca ellos a tal vez el usuario activador versus agregar otro usuario en tal vez restablecer una contraseña o algo así. Entonces esas son las funcionalidades que nos encantaría poner en en base a lo que está en la pantalla Sin embargo, ya modifiqué mi dedo del pie de la ventana principal. Contar con el botón administrar a los usuarios. Andi, ya creé la nueva forma Exprimidor de dinero. Por lo que puedes pausar el video aquí mismo adelante adelante en esta nueva opción de menú en el nuevo formulario y escribir el código que lanzaría la ventana. Se puede pausar un video. Pruébalo tú mismo. Por lo que todavía voy a pasar y mostrarte exactamente lo que hice. Entonces en el diseño de ventana principal, acabo de agregar una nueva opción. Gestionar usuarios. No puse nada debajo de él porque quiero que esta opción simplemente se le ocurra al hacer clic, más bien llegar a la nueva ventana para administrar al usuario. Por lo que agregué ese nuevo elemento de menú y que hice doble clic en él para darnos el evento click en. Entonces, en el evento de truco, hice lo habitual. Podrías incluso mirar el código anterior que hemos escrito. No puse el cheque para ver si la ventana ya está abierta, así que puedo poner ese cheque solo para asegurarme de que no se lanzará dos veces. Está bien, así que estoy revisando si está abierto y estoy revisando. Si administrar usuarios está abierto, entonces si no está abierto Lo sentimos, Entonces puedes iniciar para que obtengamos una instancia de baja. Gestionar usuarios. Ya pasé por ahí e hice la nueva forma. Y recuerda agregar un formulario vas a la solución caducidad Clic derecho dices agregar. A continuación, seleccionas formulario el. Después sigue adelante en esta nueva forma a tu proyecto. Yo lo llamé Administrar usuarios. Si quieres cambiarlos, eso está bien siempre y cuando sepas qué nombre usaste y que el nombre es relevante. Yo sólo voy a hacer algunos cambios cosméticos porque se puede ver que el título de la ventana está bien hecho. Yo no lo cambié. Algunos con el cambio, el texto para administrar espacio usuario. Por lo que es más legible, más fácil de usar en su apariencia aan den. En este formulario, vamos a tener más o menos lo mismo que teníamos otra forma. Entonces solo vuelvo a gestionar, tal vez manejo listado de vehículos que diseñan nuestros discos completos, cualquiera que sea porque queremos tener el mismo tipo de clavos. Tenemos ese grado. En realidad puedo quitar este botón de refrescamiento, pero solo por no, tendremos la etiqueta, el botón de refrescar, el grado en todos los botones. Sólo voy a copiar todos estos controles, luego a mi nueva ventana. Gestionar usuarios en paz ellos en, luego expandir la ventana tanto como necesito dedo del pie, facilitarlo. Estos nuevos controles. Simplemente haces eso rápido. Está bien, los reorganizo y luego déjame cambiar el texto aquí de gerencia. Nuestros registros toe gestionar usuarios. Y luego porque estoy reutilizando el anotado, por supuesto los nombres, lo que se presenta en cada botón ganó el texto andan a los nombres necesitan ser cambiados. Por lo que éste necesita decir, Agregar nuevo usuario en su lugar, fuera de registro derecho encendido. Entonces voy a cambiar el nombre del botón de batir en récord a batir en. Agregar usuario alguien para pasar y hacer eso por cada uno fuera de los botones. Entonces déjame sólo hacerlas rápidamente mientras está en pantalla. Entonces eso es editar record on, entonces eso va a ser golpeado a su usuario o, ¿ sabes qué? Para las actitudes ahí, en realidad sólo voy a decir restablecer contraseña. Entonces estamos cambiando esto por locura de cualquier cosa que el usuario restablezca porque, um, para los efectos de esta función o de esta aplicación bastante bien, solo quieres que el usuario administrador sea capaz de restablecer. Ah, contraseña de los usuarios. Esa es la única cosa que se cita entre comillas, que debería poder pasar justo en. Entonces voy a cambiar el dedo del pie plomo, el usuario activo it. Entonces en lugar de eliminar usuario, vamos a hacer el activo en realidad exactamente cómo podemos facilitar la activación versus eliminación. Entonces Bt en el usuario activar, está bien, saben que cambiamos a esos viejos solo puedo hacer mi truco. Los eventos son solo hacer doble clic en cada botón para conseguir esos eventos rápidos y la ropa que conocemos para. No, no lo necesito. El click reset password en el usuario activo it. Muy bien, entonces ahora que hemos hecho esas cosas cosméticas al formulario, también quiero hacer algunos cambios a la tabla de base de datos. Por lo que planteé mi estudio de gestión Estudio de administración escolar, ingresé a mi instancia, entré a mi base de datos, que actualmente está encendida. Entonces hizo clic derecho en mi mesa que decía y eligió el diseño. Perdón. Entonces ahora estoy en el diseño fuera del estable de usuario y voy a hacer Ah, pocas modificaciones. Bueno, una modificación realmente encendida. Eso es a cierta bandera activa. Entonces lo que voy a estar haciendo aquí es que voy a estar viendo está activo, acuerdo? Y luego, basado en la convención de nomenclatura que he estado usando hasta este punto, cada vez que veas es algo que soy yo diciendo que quiero un lingote en lingotes SQL será vencido . Entonces el tiempo de datos para lingotes aquí es poco. Y entonces Así que esto va a decir: ¿Está activa la persona sí o no? Entonces si es cierto, entonces los activistas de esa persona, si está lejos como una persona no está activa en, no lo haré solo. Ah, aquí tampoco. Pero entonces podría haber voy a conseguir un error si trato de ahorrar mientras no permitir sabe todo solo. Ah, y guardar Y entonces volveré y haré una modificación. El motivo de la era sería que ya tengo un usuario que no tiene ningún dato para esto. Entonces si elegí no solo oh, entonces habría sido un problema, porque entonces ya tengo un registro que no tiene Así que entonces sería un tipo de datos o restricción desajuste. Correcto. Por lo que pasando, tengo al usuario encendido. Voy a añadir otra mesa en algún lugar directamente. Las mesas van a nuevo van a la mesa en entonces. A éste le voy a llamar reglas alguien para tenerme d en. Entonces esta va a ser nuestra clave primaria, que es la identidad. Por lo que auto incrementos encendido. Entonces voy a tener nombre un nombre sólo va a ser vía tar 50. Entonces nombre aquí representa el nombre fuera de las reglas. Entonces cuando hablamos de reglas y recibimos la mesa y veré reglas por lo que hablamos de reglas , significa que ¿qué papel aboga este usuario en esta aplicación? ¿ Esta persona es Adminis? Esta persona puede ser un empleado de entrada de datos es esta persona puede ser solo un supervisor, ¿sabes? Y luego, base en la regla que juegan, podemos determinar qué funcionalidad tienen acceso puntera o qué acciones pueden completar . Está bien, así que tengo usuarios en los que tengo reglas. Entonces tengo que tener otra tabla que vincule las herramientas a alguien para crear otra tabla sobre. Entonces voy a dar esto en un I D on, entonces esto va a ser el auto incriminatorio yo d En esto realmente va a ser lo que llamamos una tabla de vinculador porque vamos a hacer un muchos a muchos significando que muchos usuarios pueden tener muchos gobierna a alguien tener un usuario, i d. Y entonces esto va a ser int. Y luego fui a tener un rol i d, que también está en Todo bien, Así que esto significa que cualquier usuario en este momento tiene admin y que los usuarios admin un i d off one on. Entonces vamos a enviarlo a las reglas. Voy a haber admitido que voy a tener usuarios. Por lo que tienes un amplificador de mineral de anuncio un rol de usuario regular se están tomando de 31 para supervisores, sea cual sea el caso. Pero el punto es que cuando um yo usuario, con lo que me d se asigne, están en registro, entra en esta estancia hermano con ah artículo idea de usuario en un papel particular, yo d. Eso es asociación entre este usuario en particular en ese rol en particular. Está bien, así que voy a guardar este establo, llamado sus reglas de usuario. A continuación, voy a tener que crear una relación entre el rol de usuario estable y las otras dos tablas. Entonces porque tengo usuario I d Esa es una clave externa a los establos de usuario después de ir click derecho. Perdón, ¿ese tipo de cuota se limitó de nuevo? Después de hacer clic derecho en la vista de diseño, luego ir a las relaciones y luego, bueno, habría estado en blanco. Entonces hago clic, Agregar, luego voy a elegir las especificaciones de tablas y columnas. Haga clic en esta parte inferior de puntos suspensivos hacia la derecha dentro en. Entonces voy a decir que mi tabla de claves primarias es el usuario estable on. Yo quiero el d. llámalo desde esta mesa primaria en. Entonces quiero vincularlo a la clave externa llamada Usuario I D. Así que eso crea esa restricción ahí en. Entonces haré lo mismo. Basta con hacer clic en agregar, crear otra usando las elipses on. Entonces éste lo hará antes de que los roles estables con el I D se conecte a la columna rol I D en el usuario o estable. Después haga clic en Aceptar haga clic en pisos y luego puedo guardar y luego me llevará un tiempo. Entonces se asegurará de que sé que estoy a punto de modificar estas tres tablas puedo dar click . Sí, está bien. Y una vez que se guarden esos cambios y podemos ir ambos poniendo algo de dinero mientras los cambios. Entonces el hecho es que esa aplicación es tuya. Siempre puedes crear tus propias pantallas de gestión. ¿ Para qué? Acerca de los datos. Es como lo hemos estado haciendo hasta ahora. Lo hemos hecho por la gestión fuera del auto, registros enteros. Lo hemos hecho para el manejo de los autos. Podemos hacerlo por los usuarios. Depende de ti saber qué tan granular quieres llegar a eso. Porque entonces algunas personas te permiten crear tus propios roles en la espalda y bien en la propia aplicación en. Entonces te permiten asignar usuarios a las diferentes reglas por ti mismo. ¿ Verdad? Por lo que les mostraré cómo hacer la tarea. Pero entonces, usando los mismos principios si quieres, puedes permitirles crear las reglas en la propia aplicación. Pero para este curso, lo voy a hacer de forma manual. Por lo que me encantaría que lo hubieras hecho en la aplicación. Ese es mi reto para ti que compartas tus aposentos. Quiero decir, me encantaría ver cómo es que lo lograste en. Podemos, ya sabes, aprender juntos. Pero por no, sólo lo haré manualmente. Entonces está bien, haga clic en roles. Goto Editar Top 200. Ahora sé que solo quiero levantarme en mi solicitud. Podría estar construyendo su aplicación para, ah, ah, contexto más grande en el mío. Pero entonces, dentro de este contexto, sólo quiero un administrador. O así puedo tener un usuario administrador o muchos usuarios administradores los cuales quieres fuera curso, ya sabes, tener cuidado con eso encendido. Voy a tener ah, entrada de datos. Clark. Está bien. De hecho, voy a extender un poco esta tabla y voy a poner en otra columna, así que sólo tengo nombre en la I. D. Déjame volver al diseño y voy a poner en nombre corto. De acuerdo, Alguien a poner en nombre corto en este también será environ. Char 50 puede ser var char 50 tipos de datos muy, muy similares, pero es invitar a nuestro de nuestros chided de manera muy similar así que está bien si tuvieras cualquiera. Muy bien, entonces cuatro reglas. Déjame volver a esto. Entonces permítanme simplemente cerrar esta vista de diseño, volver a roles en ella. Top 200 on, luego para los nombres cortos voy a poner como un nombre de corte de tiburón. Por lo que literalmente tienen el nombre administrar. O pero entonces el nombre corto podría ser agregar medio, Um, Um, el nombre de la camisa para el empleado de entrada de datos. Podría ser solo Clark encendido. Entonces Tal vez sólo te tienes solo para que esta persona no tuviera ningún acceso para realmente cambiar datos para realmente hacer clic, agregar o eliminar o editar o algo por el estilo. Entonces ver solo solo podrá hacer click en ver los datos que se integran, ¿ verdad? Entonces solo te salvo. Muy bien, entonces tenemos los nombres de roles, y luego tenemos los nombres cortos y verás la relevancia de los nombres cortos en unos pocos . Entonces esas son mis reglas. Muy bien, Onda, voy a hacer una adición manual más aquí, Así que estoy haciendo estas adiciones manuales porque ya tengo los datos, y quiero mostrarles cómo funcionará antes de que empecemos a construir. Dijiste bien Así que el usuario i d aquí sería el usuario i d para el usuario existente, que me permitió simplemente confirmar qué es eso. Entonces si selecciono hasta lo siento, toe top 1000 filas entonces veo mi un usuario administrador y el i d aquí es uno que veo es activismo Nall Muy bien, así que el usuario i d aquí es uno en entonces el rol i d para administrador simplemente tocaba 1000 otra vez sería uno. Entonces eso significa en reglas de usuario usuario i d uno tiene rol i d uno en acabo de cambiar el dedo del pie acostado Comprometerlo en. Por lo que sabemos que nuestro usuario todo nuestro admin está en el usuario o administrador con un nombre corto admin Ahora que hemos hecho esas modificaciones 01 modificación más. Mi cuerpo. Me salté esa parte. Necesito que el usuario administrador sepa que él está activo. ¿ Verdad? Por lo que sólo voy a clic derecho usuarios van a cualquier top 200 rose en entonces cambio es activo dedo del pie uno derecho. Entonces uno o cero en base de datos. Si dices uno, es cierto. Si dices cero, son caídas, ¿verdad? Por lo que siempre será la verdad. Se puede escribir la palabra Suri puede simplemente asignar el valor uno en la playa sabrá automáticamente lo que es a través de nuestras cataratas. Muy bien, Así que el usuario admin user está activo, así que vamos a minimizar parte. Y luego en nuestro proyecto, necesitamos actualizar nuestros diagramas de contexto de datos. Entonces necesito ir a mi diagrama E DMX, y luego vemos todas fuera de las tres tablas con las que dejamos aquí, pero necesitamos hacer algunas modificaciones. Por lo que no hice ninguna modificación de estos dos. No voy a borrar esos. ¿ Qué? Una vez hice un dedo de modificación Bueno, el que hice un dedo de modificación sería usuario. Por lo que solo estoy eliminando usuarios que ha hecho clic en él y y presionar eliminar en mi teclado está confirmando. Yo digo, Sí, sí quiero borrarlo en. Entonces voy a dar click derecho en, luego actualizar modelo de base de datos, que luego me va a pedir. ¿ Quieres agregar tablas nuevas, entender hacer clic en tablas y agregar algunas tablas que solo conoces y luego dar clic en Finalizar en, darle un poco de tiempo una vez que se haya realizado esa operación, entonces verás aparecer tus nuevas tablas. Entonces creé tres. Bueno, dos mesas nuevas y carne y un yo sólo quería usar la mesa. Y se ven las relaciones que existe por lo que tanto usuario como rodé me relacioné con la tabla de roles de usuario . Sé que tengo la capacidad de determinar en qué papel se encuentra el usuario en el momento libre de cargar. Necesito poder ver qué gobernó esta persona no es así en el momento en que confirmé a la persona. Entonces sabemos que tenemos nuestro formulario de registro que maneja esa lógica en cuanto la encuentre. Aquí está mi formulario de registro, ¿verdad? Entonces sabemos que en el evento click botón donde dijimos cargando hicimos esa computadora silenciosa la dura y luego se adelantó y dijo: Consíganos el usuario. ¿ Está el usuario encendido? Entonces el usuario habría dicho que sí no hay derecho. Entonces cuando dijeron que sí, justo entonces habríamos llamado a una ventana de 1,000,000 pasando en una instancia, fuera de la ventana italiana, etcétera. No, necesitamos ampliar esta funcionalidad porque no, necesito saber en qué papel se encuentra este usuario. Está bien, Así que ya tengo el objeto de usuario ¿verdad? Ya conoce el objeto de usuario. Pero recuerda que yo había dicho que una vez que obtienes el objeto de usuario o una vez que obtienes un objeto de la base de datos, en realidad puedes acceder a los datos relacionados directamente desde este objeto, por lo que realmente puedo declarar una variable aquí y guardar nuestro papel. Muy bien, el papel es igual a. Y entonces puedo decir usuario, porque acabo de conseguir usuario aquí, Entonces Y si está en lo más eso significa que el usuario no se sabe. Entonces eso significa que el usuario presumiblemente tendrá nuestro papel. I grabando la tabla de roles de usuario. Entonces si digo usuario dot entonces vas a notar que tengo dedo de acceso Oh, mis capullos, rompí mi propia regla. Cada vez que hagas en actualización a tu diagrama, debes construir esto. Me he saltado ese paso para que puedas ver los efectos secundarios de esto. Me alegro de que esto sucediera. Entonces cuando solo escribo ese acorde, déjame deshacer y volver a la derecha. Entonces cuando falles dedo del pie, construye nuestro campo para actualizar el diagrama y tu editor en la corte, vas a ver que la cancha puede no reflejar los cambios. Entonces recuerda que habíamos agregado al menos uno te columna dedo del pie sobre el usuario Tabla dijo. Es decir, su objeto de usuario debería tener acceso a su nueva columna, al menos así que seguimos viendo las mismas tres columnas que teníamos antes de cambiar la base de datos antes de actualizar nuestro diagrama todo porque no construías. Entonces lo que voy a hacer es que comentemos fuera de esta línea en luego hacer turno de control y estar en abajo El proyecto para reconstruir todos los derechos o construir está terminado. Y déjame simplemente sin comprometer esta línea y luego controlar y cambiar después de la parada completa sólo para ver encendido. Ahí vamos. Entonces estamos viendo aquí yo d. Activo de Addie lo siento es nombre de usuario contraseña activa, y estaban viendo reglas de usuario. Entonces esa es nuestra relación, ¿verdad? Entonces recuerda, dije que una vez que algo está relacionado con nuestra ah clave externa para tablas en otra tabla, entonces podemos acceder automáticamente a la lista. Está bien, entonces para intel de autos, el registro de renta está asociado a un auto, pero un auto está asociado con muchos registros, así que si tienes un auto objetos, entonces puedes ver todos los registros que son asociado con ella. Entonces en este caso, tenemos al usuario, y podemos ver fuera de las reglas que este usuario pudiera tener. Por lo que podría ser una situación en la que se tengan múltiples reglas. Tienes múltiples usuarios. Un usuario puede tener muchas reglas. Esa es la situación que facilitamos en el diseño de nuestra base de datos. Una forma más sencilla de hacer eso podría haber sido simplemente agregar papel. Um, le doy un nombre al usuario, pero entonces eso es una especie de limitante, porque entonces si modificas la regla o quieres un nuevo rol, entonces vas a tener que pasar por cada usuario con esa regla y hacer un modificación ¿derecho? Entonces si tenemos esa tabla enlazadora, entonces es más fácil administrar las diferentes reglas, los diferentes usuarios en qué regla podría tener ese usuario. Pero dentro del contexto, sólo tenemos un usuario Roper. A pesar de que estamos facilitando que uso, puede tener múltiples reglas en nuestro contexto. En esta aplicación sólo se facilitaba una regla. Su usuario. Está bien, así puedo decir médico de usuario, y luego estoy recibiendo reglas de usuario. Pero solo quiero la regla que esta persona tiene segundo un seguro acoplado en, Entonces usa link para obtener la primera o la regla predeterminada que es asociado ID con este usuario. Entonces primero o predeterminado No, no necesito un Lambda. Aparecen expresiones utilizo expresión exalumnos porque en una condición sobre la que quiero al primero o quería el primer registro que cumplió con esta condición institución. No tengo ninguna condición. Yo solo quiero el 1er 1 Así que estoy diciendo, consígueme al usuario en la lista. Cotización tío, lista fuera de Rose y consígueme el 1er 1 porque sabemos que sólo tenemos una regla. En fin, cuando obtenemos el 1er 1 entonces estamos consiguiendo el único papel. Muy bien, así que eso es un bonito rapido para solo conseguir el único rol que tiene este usuario. Y esto está plasmado en el objeto llamado rol. ¿ Todo bien? No. Cuando miramos el rol, va a ser reglas de usuario fuera de tipo. Entonces puedo usar roll on, digamos dot y puedo obtener los detalles sobre el rol Son los detalles sobre el usuario que este registro se asocia con segundo ver, rodar ese rollo y luego puedo obtener el nombre o el nombre del tiburón y la razón por la que creó nombres cortos que era mucho más fácil comprobar el nombre del tiburón que los nombres. El nombre es el bonito título oficial. Mejorar la legibilidad sobre el nombre del tiburón es lo que estaremos usando los programadores en segundo plano. Está bien, así que sepan que he conseguido el papel que este usuario que está a punto de iniciar sesión o que acaba encantar ser ahora que conozco el papel que tienen Muy bien, lo que voy a estar haciendo es pasar el pozo. Déjame decir que solo quiero el nombre del tiburón así no quiero todo el objeto de la regla. Yo quiero el acortamiento, así que sólo voy a guardar nuestro nombre Roland es igual dedo del pie punto de rol en. Entonces ponte la regla de la mesa, luego la ves? Otra vez no. Y luego conseguir entonces nombre afilado. Muy bien, entonces. Estoy pasando este nombre corto en remolque, así que inicia nombre. Ah, lo siento. Estoy pasando Rodando en mi cuerpo. No estoy seguro Nombra algunos pases, así que estoy bien. Hazme saber solo porque me acabo de confundir de repente sólo sé claro. Rol nombre corto derecho es igual a rodar nuestro objeto rol que es regla de los usuarios regla de puntos, que es nuestro punto de tabla La columna de nombre corto en entonces esta variable se va a pasar a la ventana principal. Um, constructores Y necesito modificar este constructo de algún inodoro en control y luego hacer clic en él salta a ese constructor. Sabemos que es ésta la que necesitamos modificar algunos diciendo que también se puede aceptar una cadena llamada roll Short Name. Muy bien, entonces cuando iniciamos sesión, estamos lanzando nuestro medio cuando estaban pasando en el objeto de registro, nuestro también pasando en la regla nombre Schardt. Entonces porque voy a estar usando este rol por todo el lugar y cuándo hacerlo similar a como hice el login. Pero esta vez quiero hacerlo público, alguien que diga público en una cuerda en. Entonces le voy a dar el nombre de rol de subrayado. Muy bien, entonces mi ventana principal va a tener una propiedad de acceso público llamada nombre de rol, que permitirá cualquier ventana que necesite saber qué regla es la persona amorosa actualmente en derecho. Entonces solo puedo ponerme eso, luego lo voy a inicializar, así que voy a llamar a esta fila Underscore. Nombre antiguo va a tener el valor fuera de la regla. Nombre corto. Está bien, entonces y entonces quiero decir, este principio se puede usar en cualquier lugar. Entonces podría ser que vas a estar pasando y tal vez datos de usuario porque querías una pantalla de bienvenida o, ya sabes, quieres algún pequeño comprador de tareas al fondo para decir quién es amado. Ya sabes, podrías haber pasado esa información solo para verlo de manera así que en realidad solo podría haber posible todo el objeto de usuario en la ventana principal y luego usar esos datos. Como necesité ahí tantas formas que podrías haber hecho esto, ¿ verdad? Pero ahora mismo, sólo me interesa conocer el rollo de la persona. Está bien, vamos, entonces podemos seguir adelante con eso. Entonces, ¿el papel de la persona? Um, no. Hagamos una operación sencilla. Entonces permítanme mostrarles exactamente por qué necesitamos rodar un nombre y qué podemos restringir. ¿ Y si alguien que no es administrador no debería poder hacer clic en administrar usuarios y solo puedes pensar en ello? Tenemos tres usuarios. Tenemos ¿Dónde? tres años. Lo sentimos, tenemos admin. Contamos con nuestro administrador con empleado de entrada de datos y te tenemos. Sólo nadie que no esté en el rol de administrador debería poder venir y hacer clic en Administrar usuarios. O bien no debe ser visible o visible e inactivo. ¿ Verdad? Entonces la mejor manera de asegurarnos de que cuando los señores de la ventana de hombres conocemos un mundo esta persona está en entonces dos determinamos lo que pueden y no pueden hacer sería decir, descargar. Nos queremos estas decisiones, ¿verdad? Así que voy a crear ah form lording evento en el lado de ventanas medias escolta las propiedades van y aquí está, Señor, Algunos sólo van a hacer doble clic ahí. Haré que los hombres ganen el evento Lord en la ventana principal. Evento de Lord. Voy a decir si rollar nombre corto es equivalente. Y por eso dije que podemos usar el nombre de tiburón Andi. Perdón. En realidad tienen el nombre del rol de subrayado. Por lo que el nombre de Rochard es único para sólo el constructor. Pero entonces el resto de la aplicación fue subrayado. Dictaminando nombre derecho. Alguien que diga si en el nombre de la ardilla tiene el r no es igual del dedo del pie, admite déjame decir, no igual a admin. Por lo que no es igual del dedo del pie el nombre corto admin. Está bien, entonces obviamente esto no sería tan ansioso si alguien fuera y actualizara el nombre del tiburón que lo rompería todo. ¿ Verdad? Pero solo trabajemos con ello por no. Entonces si el nombre de la regla no es igual para agregar media, entonces queremos tomar una decisión. La decisión que se quiere tomar es que el botón administrar usuarios? Déjame simplemente encontrar su auto su nombre. Por lo que en la escuela con las propiedades para ese botón encendido, veo que el nombre de este botón es administrar a los usuarios para despojar muchos elementos. Yo puedo copiar eso. Basta con copiar el nombre. Entonces si la regla no es igual para agregar media, entonces quiero decir esto, controlado por su nombre dot enable es igual dedo del pie caídas. Muy bien, así que tienes propiedades de esa manera para desactivar su Recordar, tenemos eso visible también. Entonces si quisieras ocultarlo, podrías decir que lo visible es falso O podría decir que habilita faras significando que verán el botón. Pero no lo es. Cualquiera puede hacer clic en él. No puedo interactuarlo, pero déjame usar una causa visible. Creo que eso es más limpio en vez de seguro y luego algo que no funciona. Solo lo ocultemos todo juntos para que nunca adivinen que podrían tener o que esa funcionalidad existirá. ¿ Verdad? Entonces digo que si la regla no es igual para agregar media, entonces esto es falso. Está bien, así que déjame dar click. Empieza con esto. Prueba eso fuera. Está bien, así que vemos que todavía vemos a nuestros usuarios gestionar y esperar tarjeta. Entonces cuando el usuario que tenemos es el usuario admin, Entonces cuando llegó a esta declaración cuando se estaba cargando, habrías dicho ¿Es el rol admin? Si lo es, o si no es admin. Perdón, entonces haciendo muéstralo. Por lo que voy a crear en madre Usuario. Eso no es un usuario administrador. Entonces este solo voy a decir usuario así y luego me voy a ir dedo a usar la misma contraseña en entonces esto va a dar manera para que pudiéramos copiar el pasaporte primero, luego ver contraseña de usuario on está activa es verdad. Muy bien, vamos, entonces. Voy a volver a intentarlo. Entonces déjame intentar iniciar sesión con este nuevo usuario. ¿ Todo bien? Por lo que estoy registrando con contraseña de usuario. Haga clic de nuevo en. Entonces dijo que algo salió mal. Entonces veamos exactamente cuál es nuestro error islámico sobre a mi tacón en la corte. Veamos si es algo Así que es algo en el evento click. Permítanme poner ese mismo punto aquí. Intentemos eso otra vez. Y luego se pasa al silencio de la palabra pasada Eso está bien para mí. Paso a través usando F 11 y luego ejecuta la consulta donde está viendo dónde si el nombre de usuario es igual al usuario en el pase o es igual a la contraseña hashed. Bien, Déjame pasar otra vez. Entonces dice, si el usuario es un corpulento en la ley lo demás OK, por lo que se movió. Ahora estamos recibiendo las reglas. Sospecho que mi época podría estar aquí. Entonces llegó la regla porque no. Está bien, eso es lo que está mal. Entonces lo hice. El usuario y yo no configuramos la grabación activó las reglas del usuario, derecha, y se puede ver aunque pase el cursor sobre ella. En el modo de depuración, esa cuenta es cero. Entonces eso fue un problema. Entonces déjame solo dar clic. Continuar, y lo hará. Entonces, el manejo de excepciones es por qué no se rompió bien? Acabas de decir que algo salió mal. Por favor inténtalo de nuevo entonces voy a volver a mi base de datos en di necesidad de agregar el nuevo usuario . Por lo que mi nuevo usuario es i d tres. Déjame ir dedo del pie tabla de reglas de usuario en ella remató 200. Y quiero decir que usuario con el 83 tiene una idea de rol fuera porque, ya sabes, ese rol I D uno es admin. Por lo que queríamos ser cualquier cosa menos admin. Por lo que acabo de agregar que la base de datos y estoy con el entrenador y la aplicación otra vez, francamente obstruyendo en ir a quitar el punto de descanso en prensa F I para que continúe, eso es algo todavía salió mal. Por lo que ahí todavía tenemos una flecha que hay que arreglar. Entonces intentemos eso otra vez. Entonces estoy moviendo el punto de ruptura. No lo hagas hoy si la comprobación de estado. Está bien. Por lo tanto, intentemos de nuevo la operación de registro. Entonces es bueno que estemos pasando por esta experiencia juntos porque creo que puedo tener al señor Step, pero no quiero sólo decirle la respuesta. Vamos a ver juntos. Entonces ah f 11 y luego obtenemos el papel. Además, el papel sigue siendo no. Entonces todavía me dice que el usuario gobierna. Entonces déjame solo asegurarme de que está consiguiendo el usuario adecuado. Entonces cuando encima del objeto de usuario, veo que el I. D es tres en todo lo demás es bueno, pero entonces sigue viendo cero para las reglas de usuario. Está bien, así que déjame parar. Salgan del barco amarrado. Vamos a recalibrar en dsi on, asegúrate de que todo esté bien. Entonces tengo roles de usuario, agregué, Y el usuario i d ustedes tres. Así que solo asegúrate de que fue el usuario adecuado. Entonces, usuario me d tres en, entonces. Perdón por algunos tops. Abierta. Está bien. Entonces, usuario, yo d tres en dos. Está bien, Así que déjame hacer algo de depuración, hazte saber qué pasa. ¿ Todo bien? Por lo que ya lo detendrá y lo inicié y lo intentaré de nuevo e intentaré depurar. Y literalmente no había época. Entonces te explicaré qué pasó entonces. Por lo que contraseña de usuario, volvimos a hacer clic. Vamos a golpear los puntos de freno. No moví el punto de ruptura, pero como puedes ver, un usuario rosas, sin contar dedo del pie uno si espero sobre él. No es ver a nadie. Literalmente no hice cambios. Creo que lo que pasó es que cuando durante un tiempo de ejecución, no volvió a la base de datos cada vez. Algo así como tomó una puesta en escena, como una instantánea de los datos en el momento fuera de la cantera o en el momento fuera del empantanamiento. Y estaba usando ese dato de detonación, guardando uno conmigo y los cambios. No se reflejó en la aplicación en tiempo de ejecución. Entonces, lo que hemos hecho hasta ahora debería funcionar. Si no lo hace, siempre podemos avisarme. Pero me voy a quitar el dedo del pie este punto de ruptura y sólo voy a seguir porque todo debería funcionar. Yo Entonces lo contemplamos. Y luego cuando presioné F cinco para seguir notando que el menú no está mostrando administrar usuarios . Entonces eso se debe a que el papel que la persona que ha amado en la regla asocia ID con ellos no está admitiendo. Entonces El papel es Clark, ¿verdad? Si hubiera dejado la depuración el punto mismo. Y dijiste que un nombre corto de regla sigue viendo a Clark no son así Entonces eso es todo. Entonces lo que hicimos fue conseguir la regla para la persona que se metió. Transferimos esos datos de regla a la ventana media en ese entonces en la ventana principal. ¿ Qué? Durante Señor, nosotros Bueno, montamos nuestro evento de tiempo lord y dijimos: Cuando usted Señor, compruebe si está en ad mineral. Entonces sea lo que sea, no quieres que las personas admen conocidas puedan hacer si tuviste 10 muchas opciones y solo deberían poder acceder a ti puedes seguir el mismo patrón y simplemente hacerlo no visible. Simplemente ya sabes lo que desactivaron para que no sea visible. El punto es que no pueden hacerlo. 34. Contraseña y reajuste de estado activo: Oigan, chicos, En este video, realidad vamos a empezar a construir viejos o a administrar usuarios donde estaremos recuperando a todos los usuarios activos. Uno que permita al usuario agregar dedo del pie, o al menos un usuario administrador para poder agregar el activar o restablecer la contraseña de otro usuario. Andi. Entonces lo primero que queremos mirar, sin embargo nuestros entrenadores el tiempo que hizo entre la escucha previa y esta tan uno. Modificé mi lógica de inicio de sesión. Agregó la cantera que está revisando para nuestro usuario, la restricción de que el dos punto está activo debe ser cierta. Entonces, en primer lugar, estábamos buscando en la base de datos. Obtener todos los usuarios con el argumentado el primer usuario desde el usuario estable que tiene están marchando nombre de usuario contraseña en la base de datos. Eso mucho es nuestra versión callada fuera de lo que se haya introducido. Entonces agregué 1/3 restricción donde dije sobre la inundación activa más financiable en True. Por lo que recordarían que agregamos en está activo Flug Now, dijimos a lingotes en el video anterior en DSO. Eso debe ser cierto. Por lo que se aplica la misma lógica Autor de estos más en Si no lo hace. Entonces decimos por favor proporcione credenciales válidas, ¿verdad? Puedes ser más específico que eso. Es decir, probablemente puedas entrar en los detalles de por qué estaba yo, Pero como dije, cuanto Pero como dije, más generi mejor para los intentos maliciosos en tu sistema. Um y luego modificé nuestro acorde en el l digo puedo echar un vistazo a esta cancha donde en vez fuera haciendo todo el procesamiento para encontrar el nombre del rol como lo hicimos inicialmente, luego pasando solo el nombre de la regla. En realidad solo estoy pasando todo el objeto de usuario a las ventanas principales. Entonces dije, ventanas de entorno, igual dedo del pie ventana hombre en un paso, este usuario de coma. Entonces, cuando se recupera el usuario, quiero pasar ese objeto entero a la ventana media. No, esto me va a dar más flexibilidad porque y sólo voy a traer sobre mí y ventana. No, yo lo soy. Puedo usar este objeto de usuario para acceder a cualquier dato sobre el usuario que quería, incluyendo la regla por lo que inicialmente la habría usado para acceder a la información del rol y luego pasó solo la información de la carretera esta vez solo pasando toda la información del usuario en, luego honrar, ya sabes, caso por caso, fin de semana acceder a la información del usuario si queremos. Por lo que presenté nuestra nueva propiedad dentro de la ventana principal y dije Público a usuario en la partitura usuario, este es subrayado o nombre en. Se puede ver que algunos de ellos se replican a alguien de mis más afortunados. Necesito ser más consistente. Entonces soy un nombre de rol cambiado, toe Caso común son todo se ve un poco más consistente en luego dentro del constructor. Estoy inicializando tengo mi objeto de inicio de sesión. Tengo mi objeto de usuario encendido. Todavía me voy a poner el nombre del rol por separado porque no quiero repetir este bit fuera de cancha cada vez que quiero descartar nombre en este momento Este bit fuera de cancha que acabo resaltar, lo condensé aún más. Entonces la última vez que lo que hicimos fue conseguimos los roles de usuario y obtuvimos el primero nuestro default. Y luego tuvimos otra variable donde obtuvimos el papel, ese nombre de tiburón desde el primero, nuestro default en este caso. Yo lo hice todo una vez, así que solo voy a tu totalidad Hay tantas formas de escribir a tus cuartos en enlace que mientras funcione, su bueno en enlace está tipo de diseñado para ser lo más eficiente posible. Entonces incluso aquí, escribirlo de esta manera son otra forma. Casi va a ser el mismo tiempo de ejecución. Entonces, ya sabes, eficiencia a un lado ahí tantas formas en las que puedes escribir tus consultas. Entonces en esta situación, estoy viendo ese papel. Nombre es igual a comprar objeto de usuario, que aún tiene la lista fuera de reglas de usuario como lo hicimos determinamos en. Entonces digo: Dame la primera nuestra predeterminada. No, Una vez que hagas nuestro primero nuestro default, va a traer de vuelta sólo una instancia a menudo objeto. Un resultado. Una vez que tengo un resultado puedo decir punto en, Entonces llame a la tabla asociada. Entonces esto sería como mi interior unirse en, Entonces llama a la propiedad. Quiero que los equipos sólidos me den el primer registro de roles de usuario por defecto para el usuario. Entonces mira el papel y llévame los detalles de esa regla. mismo bit fuera de cancha que escribimos, excepto que nos dividimos en dos líneas la última vez. Lo estoy haciendo en una línea aquí, así que sabes si uno fuera uno. Trabajamos, para que mejor puedas leer mejor el otro. Eso está bien. Se puede saber es esto. Copiarlo y reproducirlo. Eso no es problema. Por honesto, es funciona. Está bien. Todo lo demás sigue igual. Y como dije en este video, vamos a enfocarnos en nuestra pantalla de gestión de usuarios así que ya tipo de poner en algún trabajo crecido en este formulario. Contamos con usuarios de gestión que tienen activada la actualización de la cuadrícula. No creo que haya renombrado la cuadrícula, así que déjame repasar y renombrarla rápidamente. Esta debe ser la lista de usuarios de GV. Muy bien lista de usuarios de GV y luego tenemos nuestros diferentes botones. ¿ Quieres añadir un nuevo usuario? ¿ Quieres restablecer una contraseña de usuario en una para desactivar al usuario? Entonces déjame simplemente pasar al archivo de la corte para administrar usuarios en die necesidad de inicializar algo que nos permita conectarnos a la base de datos. Sé que todos deberíamos estar familiarizados con el padre. Necesitamos nuestro objeto privado o propiedad privada. Lo sentimos, desactivado tipo actual o entidades en la puntuación db on. Entonces inicializamos eso dentro de nuestro constructor, y luego tenemos o tres objeto tres funciones. Perdón. Entonces voy a tratar con los más fáciles. ¿ Son los fáciles primero y para mí, los fáciles de la postura de reinicio y los desactivados? Porque no tengo que hacer mucho trabajo de diseño en lugar de entrar en computadora, dedo del pie el golpeado y agregar usuario haga clic porque entonces, después de diseñar un formulario completo, estas son consultas simples. Por lo que la simple consulta sería que cuando la persona selecciona a un usuario de la lista, entonces serían capaces de crujir, restablecer contraseña en. Entonces solo voy a generar genérica o tener una contraseña genérica que va a conseguir Hush reemplace su contraseña existente en la base de datos en. Entonces eso es lo que se espera que escriban cuando es que están iniciando sesión. Está bien, así que voy a poner en la funcionalidad de reinicio pastor como lo hice la última vez. Eso va a pedir prestado algo de cable de una de las pantallas de gestión existentes, ¿ verdad? Por lo que en el listado de vehículos manejo, lo que había hecho fue que dije eso por golpeado en su auto. Sea lo que sea que se seleccionó, la regla seleccionada que es la que quiero recuperar y luego hacer operaciones. Yo sólo voy a dedo literalmente copiar todo esto porque ya está ahí. Nosotros lo escribimos. Es nuestro para que lo podamos reutilizar a voluntad. Entonces voy a decir Belleza y restablecer Pastor. Click Quiero recuperar de la lista de usuarios Listas de usuarios Devi, ¿ verdad? Por lo que no le he hecho nada al popular usuario de GV. Vamos todavía, pero GV use o vamos a conseguir un crudo seleccionado en la celda debería ser yo d. Y déjame simplemente volver a mi base de datos y asegurarme de que es capital I D. Lo cual no lo es. Es común. Yo i d Así que ahí otra vez estoy siendo muy inconsistente y eso no es bueno. Pero, ya sabes, es bueno que veamos estas cosas en místicos comunes. Quieren ser consistentes en sus casos en una base de datos y cualquier registro. Muy bien, entonces estamos consiguiendo el valor asociado a la regla seleccionada en. Entonces estoy mirando por dentro de la tabla de usuarios, no ellos tipo de establo de autos. Por lo que usuario estable, que punto me dy siendo pareja en la idea que fue seleccionada en Ben. No estoy por lanzar ninguna pantalla ni ventanas nuevas. Puedo quitar todo esto en. Entonces lo que voy a decir es que var contraseña ARV son nuevos en una puntuación. Contraseña es igual a en Ben. Puedo poner uno genérico, así que probablemente deberías generar algo en base a los detalles. Sé que algunas personas que harían es auto generar. Un pastor basado en los detalles del usuario cómo serían normalmente los detalles del usuario. Nombre, apellido, fecha de nacimiento y tal. Yo no recogí esos detalles. No estoy almacenando esos detalles sobre mis usuarios. Si lo eres, sin embargo, puedes usar eso a tu favor. Correcto. Pero en para mi simple ejemplo, todo tiene es nombre de usuario y contraseña. Entonces sólo voy a poner algo que diga qué? Yo sólo voy a poner una contraseña genérica para que tu nueva contraseña se pasara Word at sign. 123 Todo bien. Por lo que podría comunicarme con el usuario que restableces la contraseña. ¿ Está en marcha su nuevo pastor? Entonces podría construir desde Senador que quiera poner esa contraseña genérica. Tienen que cambiar su contraseña. Muy bien, entonces su nueva contraseña es contraseña. 123 Entonces queremos dedo del pie hachi it. Entonces estamos usando el algoritmo de disparo a 56. Si miras hacia atrás en el registro ese archivo CS ves disparo 256 y ves todo fuera de la cancha que necesitamos toe hash. Entonces, en realidad sólo voy a copiar mucho a los diputados de esto. Y luego ves que la nieve una vez que se está repitiendo y se está repitiendo a través múltiples formas, probablemente podríamos crear una función que se llama que hace este trabajo. Entonces en realidad iba a hacer eso ahora mismo. Por lo que dentro de mi solución. Explorer, tengo un archivo llamado ustedes tills Justo en ese entonces en este formulario, Bueno, en esta clase, lo que había hecho fue crear una utilidad para El formulario está abierto. Entonces voy a hacer otra donde voy a ver estática pública. Ana, esto va a volver. Eso es una cuerda encendida. Entonces va a regresar. Calla. Se va a llamar contraseña callada. Está bien en ese entonces, se va a aceptar un string off. Bueno, ah parámetro off type string on. Lo estamos llamando contraseña no son tan dentro de esta función. No, vamos a empezar a hacer todas esas cosas con el disparo al 56. Por lo que puse la cancha ahí dentro luego después incluir mis referencias. Entonces incluyendo la referencia. Y luego me voy a quitar todo el cable que usamos en el log in. Entonces todo esto, donde estamos haciendo el constructor de cuerdas y construyéndolo. Está bien, así que voy a cogerme todo esto porque ya no lo quiero en el registro. Entonces esto es parte del refractor cuando te das cuenta de que la cancha se está repitiendo, entonces tienes que modificar un lugar, tener otros 10 lugares en un solo lugar y reutilizarlo. Correcto. Por lo que tenemos nuestro disparo a 56 objeto. Hacemos nuestras mordidas, reconstruimos nuestra cuerda en. Entonces lo último que hicimos fue decir, s constructor punto a cadena. Entonces lo que voy a hacer es declarar esta línea, luego veo que los retornos son función va a devolver la acumulacion de cadena a cadena. Por lo que esta es la volea final que se le habría asignado el dedo del pie la contraseña callada. Entonces, después de obtener un valor de contraseña a través del parámetro pasamos por todo eso, y luego regresamos la cadena de reconstrucción. Entonces eso significa que cualquiera que quiera esto, um, esto, ya sabes, contraseña hash tendrá que hacer una llamada de función donde digan, los transeúntes callados. Entonces esto para modificar esta función de registro como una contraseña hash es igual dedo del pie que tills dot contraseña hash , y luego esto está esperando alguna cadena en. Voy a pasar la contraseña que queremos callada. Está bien, así que eso se ve mucho limpio un c solo una línea fuera de la cancha para obtener la contraseña hashed. Muy bien, vamos, entonces. De la misma manera que hicimos eso en el login. Acabamos de hacer eso en un log in que no tenía ningún negocio haciendo eso en el tala. Sólo lo estoy haciendo una vez porque estoy a punto de hacerlo de nuevo. Enemigo para salvarte herramientas. Estoy a punto de volver a hacerlo dentro de fuera administrar usuarios. Entonces mi nueva contraseña va a ser igual a, y acabo de captar esto. Entonces en cambio, off, déjame solo decir vier contraseña genérica es igualdad esa cadena, ¿ verdad? Por lo que me gusta dar a mis valores nombres variables. No me gusta el dedo del pie tener valores aleatorios en ninguna parte porque Y si alguien tropezó con Pastor y ese signo 123 eso se estaría preguntando qué en el mundo que es, Correcto. Entonces solo lo puse en una variable y luego voy a decir nueva contraseña o simplemente podría decir contraseña callada aquí mismo va a ser igual dedo del pie no labras y luego callar contraseña. Y luego fui a pasar mi contraseña genérica como contraseña. A mí me gustaría que me callaran. Ahí vas. Por lo que no tenemos que repetir todas esas líneas fuera de cancha cada vez que queremos el hash. Pastor, acabamos de escribir una función dentro de una clase estática que sólo va a tomar un valor y luego nos devuelve. Ah, palabra pos callada. Está bien, así que ese es nuestro Así es como callamos. Entonces ya ves, si quisiéramos introducir lo que llamaremos asalto, entonces podríamos haberlo introducido dentro de los u tills. Porque entonces todo está pasando aquí de todos modos, así que solo podrías decir agregar agresiones a la contraseña y luego hacer el hashing en. Entonces tampoco lo haría nadie sólido. Quería cambiar. La sal lo cambiará. Un solo lugar. No tan cambiante. Vi que se recomienda de todos modos. Pero ese es el punto de tener todo tu cable un centralizado como sea posible. Está bien, así que sepan que hemos calculado. Entonces tenemos al usuario, ¿verdad? Presumiblemente en. Déjame simplemente cambiarnos este nombre de objeto. Por lo que su usuario, usuario lejano. Muy bien, entonces recuperamos al usuario encendido, luego nos dieron la contraseña en la que callamos la contraseña. Entonces solo voy a ver el usuario dot password. Correcto. Entonces recuerda que recuperamos al usuario de la base de datos justo en adelante. Entonces nosotros, ya sabes, dijimos legendaria contraseña. Nosotros callamos la contraseña genérica. Entonces estoy viendo que este usuario de la base de datos, su nuevo valor pastoral va a ser igual del dedo lo que haya regresado o función en Dios almacenado en nuestra contraseña hash variable. Entonces solo puedo decir underscore db que guarden cambios porque entonces es lamentable el camionaje que por eso acabo de recuperar a este usuario de la base de datos. Cambié una propiedad en este usuario de la base de datos. Entonces para guardar los cambios justo en, ese es nuestro Pero en reciente y luego al final eso probablemente quieras dar un cuadro de mensaje para ver a ese Riess Passer. Se ha restablecido, por lo que podría incluso ser un poco más explícitamente podría hacerles saber eso. Y yo solo uso alguna interpretación aquí nombre de usuario punto punto. Muy bien, así que voy a ver qué nombre de usuario en un apóstrofo s recetas. Um, ya sabes, puntuacion en gramaticalmente correcta. Entonces, usuario, ese nombre de usuario contraseña tiene bean reset. Está bien, y eso es todo. Así que acabamos de hacer un restablecimiento de contraseña un agradable, sencillo rápido bajo dos restablecimiento de contraseña fuera de curso. Como dije, para la contraseña, utilizo esa contraseña genérica. Pero entonces, en términos prácticos, probablemente quieras generar esto bajo volar, luego deja que la persona o los patrones. Entonces eso es parte de la seguridad. Nunca querrías decirle a la persona que tu nuevo pastor está patrocinado en 1 a 3 llamadas y cualquiera puede ir en el ConEd de esa persona Una vez que ese pastor, se ha dicho si esta es la postura, se ha utilizado para cada persona, tan sabia de seguridad, quieres decirles que está ahí. El 1er 4 letras del nombre, las últimas dos letras del apellido y la fecha de nacimiento, algo que sólo ellos deberían poder sentarse y descifrar fácilmente sobre el probablemente sea un poco más difícil para alguien más descifrar. De acuerdo, así que esa es una manera agradable, rápida y sucia haciendo la función de restablecimiento de contraseña. No, una cosa similar sería para el usuario desactivado, así que sólo voy a tomar esta captura de huelga, acuerdo? Y sólo vamos a modificar el cuarto poco. Entonces, una vez más, recuperamos a la persona que fue seleccionada, luego los recuperamos de la base de datos, pero entonces no necesitamos ningún callar nada, ¿de acuerdo? Lo que voy a cambiar, sin embargo, sin embargo, es que hay estado activo alguien que diga que un usuario no está activo es igual de caídas del dedo del pie. Está bien, como madre apagada, esto es desactivar. Por lo que probablemente debería construir en poner funcionalidad para decir que ya sabes, si se hace clic en ese mismo botón, entonces sería activar o desactivar, por lo que tendría que cambiar la cola o la representación fuera del texto en este botón. Entonces lo que voy a hacer es ver cambio de texto para ver las actividades slash activar usuario, ¿ verdad? Por lo que entonces la persona estaría dando click. Este botón sabría que se trata de un botón que desactivará a la persona o la reactivará . Entonces si están activos, desactiven y viceversa. Entonces el núcleo que tenemos razón es que al hacer click de botón y recuperamos al usuario. Muy bien, entonces vamos a ver si algo así sólo voy a usar un operador de Turner aquí . Southie Usuario dot está activo es igual a, Y entonces el operador Turner No me permitiría toe state una condición alguien a decir, usuario, que está activo. Onda. Tengo dedo del pie especificar la condición es equivalente a cierto ahora si su activo no fue notable. Entonces si pasas por alto para ver un toro con un signo de interrogación, eso es porque hicimos eran nariz de carga en la base de datos. Y así es cocible en C agudo. Si no fuera conocible y era sólo un matón directo y yo sólo podría decir que está activo y luego decir es verdadero o falso aquí en lo que pasa si es cierto lo que pasa de su pozo Farr , porque es notable. Presentamos nuestros terceros estados donde podría estar. No, podría ser cierto. Las caídas no son derecho. Entonces por eso, después de especificar es equivalente a verdadero. Entonces estamos viendo si el usuario está activo. Si lo hacemos, no abusarás en la base de datos, y encontramos que ahí están activos. Si es cierto activista, entonces queremos ponerle el dedo del pie Falls de lo contrario dijo que es verdad, ¿ verdad? Por lo que sería simplemente como cualquier declaración si es activista. Es cierto, entonces está activo. En caso de igual caída del dedo del pie se activa lo demás. Igualdad Tropa ¿verdad? Eso es básicamente lo que hicimos en esta línea, acuerdo? Entonces podría agregar un comentario aquí para decir que esto es lo que se vería como nosotros y si de lo contrario Todo bien, bien, Así que así se vería si el usuario es si el usuario está activo, no secuela en la verdad y lo activamos, cae otra cosa que lo puso a la verdad. Entonces eso es lo que hace esta línea. Entonces cuando la persona es el usuario hace clic en la actividad, lo usuario, se obtiene el camino en el que fui seleccionado. Después consigue que el usuario se asocie a la idea fuera de la carretera. Fui seleccionado en Entonces vemos que el usuario está activo es relativo a lo que era tienda cae. Después guardamos los cambios en. Entonces vemos nombre de usuario nuestro ha bean Nuestro estado de actividad como cambio El estado activo ha cambiado. Entonces solo estoy dejando aquí un genérico porque, um, um, la cosa es que probablemente tendría que poner en una declaración if para decir lo que destruyen cae al final que si se activó o desactivó, así que voy a sólo déjalo. Intenta mantenerlo simple en solo decir, ya sabes, el estado activo ha cambiado. Está bien, así que ahí mismo, habríamos hecho a operaciones muy importantes Onda Lo habríamos hecho con, ya sabes, mucha simplicidad, rápida y sucia en algunos puntos. Pero sí te expliqué por qué de cómo podrías mejorarlo para ti mismo en DSO Eso es todo para esta lección. La próxima vez que vengamos, estaremos poblando nuestra grilla en, luego enfocándonos en agregar usuarios en nuestra aplicación 35. Añade nuevos usuarios y reset. reset.: Oigan, chicos, bienvenidos de nuevo en este video. Vamos a hacer que la fiesta empiece oficialmente. En realidad mira cómo podemos ir para agregar usuarios en Dwell, gestionando su experiencia con nuestras aplicaciones. Por lo que están agregando usuarios, seleccionando la regla en la que están en generar una contraseña predeterminada. Y luego tendremos que modificar durante mucho tiempo en proceso de tal manera que cuando las personas inicien sesión usando esa contraseña predeterminada, redireccionemos dedo del pie una pantalla que les permita cambiar esta contraseña. Ahora, antes de seguir adelante, te voy a mostrar un pequeño ajuste que hice a mi me y ventana, donde agregué una pequeña barra en la parte inferior aquí, y tengo el Texas se registra como colon en el nombre de usuario. Entonces les voy a mostrar cómo hacer eso. Y es realmente simple. Pero estas cosas simples, ya sabes, hacen que tu aplicación cobre vida. Entonces lo que hice en mi forma de diseño, quiero decir, ventana era toe add. A lo que llamo lo que causan son, er, tira de contexto. Entonces fui dedo del pie viaje de estado, hermano. Entonces fui dedo del pie de la caja de herramientas, y luego me metí dentro de los menús en las barras de herramientas, una que digamos tira de estado. Entonces yo solo drogué eso encima lo dejó caer. No la parte inferior aquí. Y luego agregué etiqueta de estado alguien para hacer clic en etiqueta de estado y mostrarte cómo se ve eso . Entonces llegué a desnudar etiqueta de estado bien. Pero obviamente tú eso es lo que se le va a imprimir al usuario. Eso no es lo que queremos imprimir al usuario. Entonces lo que hice fue modificar las propiedades una cambiando el nombre. Por lo que cambié el nombre a algo que pude identificar cambios, ts inicio sesión texto. Así lo llamé yo. Pero también eliminé el texto porque no quiero que ese texto se muestre en. Entonces claramente lo que toma se va a mostrar va a ser contexto a, Muy bien, así que después de un renombrarlo y voy a eliminar este que acabo de crear porque no necesito la herramienta. Está bien, entonces supongo que va a ser difícil para mí quitarlo porque se condensó, pero eso está bien en la ventana. El Señor funcionaba. Ah, sí dije que quiero que el nombre de usuario sea lo que tengamos de vuelta en nuestros objetos de usuario que escribe nombre de usuario . Recuerda, hemos trabajado objetos de usuario que estamos sentados aquí en inicializar dentro fuera para constructor. Una vez que la persona inicia sesión, estamos pasando sobre que los objetos enteros tendrán acceso a todo sobre este usuario en. Entonces lo que estoy eligiendo para mostrar en ese texto es y lo llamo ts inicio sesión texto. Está bien, así que lo llamé ts i para despojar artículo. Eso sólo soy yo. Ese es mi prefijo que estoy usando. Pero estoy viendo lágrimas. Entro en texto, ese texto va a ser igual del dedo del pie. Y luego dije, inicié sesión como llamada en que estoy pasando ese nombre de usuario que obtuve de mi objeto de usuario. Correcto. Entonces cuando el hombre cuando los señores sabrá quién está conectado que realmente fue así simple. Está bien. Entonces, pasando, lo que queremos hacer es activar nuestro registro de anuncios. Um, pero correcto. Por lo que tenemos la pantalla de manejo de usuario donde tienen nuestro contexto de base de datos. Objetos ya se hicieron nuestro restablecimiento de contraseña al desactivar funciones de usuario, por lo que, no, necesitamos alguna funcionalidad dentro del usuario del anuncio. Entonces, con el fin de agregar usuario necesita otra forma que no creé. Entonces lo haremos juntos en ese entonces. Al hacer clic derecho en mi solución goto odd take form on. Entonces voy a agregar el formulario y lo voy a llamar agregar usuario. Entonces no te estoy permitiendo editar al usuario. Sólo son abusadores. Yo militar solo quiero abusador como anuncio de truco de forma. Y luego hacemos nuestros cambios cosméticos habituales donde cambiamos el texto en la barra de direcciones para agregar usuario en. Entonces sólo voy a ampliarlo un poco. También voy a copiar, um, um, algunas cosas de una de nuestras pantallas existentes add edit de vehículos obsoletos sobre el motivo copiar esto está bien. Entonces voy a usar en todo su disco, y entonces lo estoy. El motivo por el que estoy usando otro registro completo es que acabo de notar que en Edit Vehicle no tenía eso. Ya conoces esa etiqueta en la parte superior. Tampoco hicimos los cambios cosméticos, así que puede que haya, ya sabes, pasado por alto esa parte con ella. Se vehículo. Pero me podemos esos ajustes más tarde, así que realmente sólo quiero la etiqueta. Por lo que estoy tomando esta etiqueta me estoy moviendo dedo del pie agregar usuario, poniéndolo en la parte superior, cambiando el texto ahí dentro. Entonces eso es extraño, User. Está bien. Y entonces podemos, por supuesto, volver a centrarlo. Muy bien, entonces. Voy a usar mi maquetación. Entonces he estado usando el rendimiento de tabla para estas formas, así que voy a usar el contenedor en Va a ser el panel de diseño de la tabla. Muy bien, entonces. ¿ Para qué tiene un usuario el usuario? El usuario probablemente querría sentarse sólo el nombre de usuario. Correcto. Por lo que no quieres a un bajo Tus usuarios son tu usuario administrador para estar configurando la contraseña. Recuerda, ya somos cancha dura contraseña imaginaria. Entonces Bueno, deja a ese passer Jerry que cuando hacen clic en enviar, eso es todo lo que se crea. Entonces en realidad sólo voy a redimensionar esto ya que no va a ser tan grande fuera de una ventana . Por lo que usaría mover un poco nuestro panel de mesa o un contenedor de mesa. Traemos sobre las etiquetas. Por lo que bajo controles comunes, traigo mi etiqueta y luego esta propiedad de etiqueta. Voy a establecer el texto para que sea nombre de usuario. Muy bien, vamos, entonces. Voy a traer un cuadro de texto. Entonces, ¿el cuadro de texto para el nombre de usuario? Perdón. Um, algo que olvida palabra cosas son caja de texto. Por lo que podemos en el nombre de usuario. Y entonces lo siguiente que estaría sentado para este usuario es el papel. No, el recuerda que las reglas están todas almacenadas en una tabla llamada reglas, lo que significa que probablemente necesitaría una lista desplegable. Entonces déjame solo copiar a los diputados esto usándolo etiqueta en. Entonces voy a cambiar este para ver una regla. Pero luego para el rol, me sacarán esto de una lista predeterminada en un cuadro combinado. Lucha similar con este cuadro combinado. Y luego hicimos un cuadro combinado antes. Entonces lo que voy a hacer es solo yo este establo Liotta venció más grande para que podamos enderezar . Um, ya sabes, maximiza bajo el espacio un poco más. Podemos ampliar o controlar un poco más en. Entonces para el cuadro de coma, tenemos que modificar las propiedades donde uno quería realmente ser una lista desplegable. Entonces no quiero que nadie pueda teclear ahí. Además, las funciones son los ítems. Perdón. No sería núcleo duro lo hizo. Entonces tendremos que poner eso desde la cancha atrás cuando esta forma señores. Muy bien, entonces necesitamos ya un lord funciona. Esos duplican la forma. Tengo la función de Señor. Muy bien, entonces, para cargarlos en los artículos, hicimos algo así ya cuando agregabas el auto a nuestros registros. Si quieres, podemos volver a la agregada ella todo nuestro registro en Entonces podemos mirar la función de Señor que hicimos para esta donde dijimos que queremos adquirir la mesa para todos fuera los autos en la mesa on. Entonces queremos dedo del pie poblar nuestro cuadro combinado. Por lo que necesitamos hacer algo muy parecido. ¿ Dónde? Déjame volver a mi diseño. Voy a ver que primero de mis libros de texto para el uso cualquiera va a ser nombres de usuario TB. Déjame ir a propiedades. Onda, cambia ese nombre de usuario de TB encendido. Entonces el cuadro combinado va a ser CB roles en CB Reglas o rol La estrella algo letra. Pero una vez que se tiene el prefijo y el título apropiado después son así entonces lo que queremos hacer es poblar esta lista de cuadro combinado con las reglas y el valor y datos apropiados Miembros. Por lo que necesito inicializar mi objeto de base de datos. Muy bien, entonces tenemos nuestro objeto de base de datos. Lo siguiente que quiero hacer es poner realmente la llamada de función o esa cantera aquí en algún lugar para guardar. Virales es igual dedo del pie objetos de base de datos. Esa mesa, que es las reglas punto en entonces. Bueno, yo sólo quiero enumerar. Está bien. Entonces solo quiero las reglas enteramente de cosas por teléfono en la base de datos, que sabemos es Realmente, um el i d el admin it que empezó i d El nombre en el nombre corto. Esas son las columnas están en. Entonces voy a decir CB dot Lo siento, CB roles. Está bien. Esa es fuente de datos es igual o oh, son reglas variables que acabamos de declarar. Entonces CB regala, Pero Value Member es igual a y luego veremos que es yo d en sus decimos CB roles. Pensaba ISP, ¿recuerdas? Perdón. Display member es igual a, y luego estamos mostrando el nombre, no el nombre corto, sino el nombre esta vez. Muy bien, así que establece la fuente de datos. Dijimos el miembro de valor y pusimos el miembro de visualización en después de todo apagado que queremos que esta ventana de agregar usuario se inicie en el click off the Eid user button. Entonces déjame simplemente volver a mi usuario de gestión. Por lo que este es un evento de clic de botón. Entonces fuera de curso, ya sabes, necesitamos declarar en objeto en usuario es igual a nuevo y luego fuimos a ver agregar usuario como puede inicializar Sean. Entonces voy a ver agregar usuario Así que los objetos MD I parent es igual a on. Entonces va a ser esto que en la apariencia del ojo recuerden que Solo queremos ser claros ellos aparecen y para estar así encendido, entonces voy a ver extraño usuario dot show. Pero entonces recuerda, Por supuesto, queremos asegurarnos de que sólo una instancia de estos espectáculos. Entonces necesitamos poner todo esto dentro de eso si las declaraciones necesito comprobar si un número va a decir que me dice que para mí está abierto y luego paso en el nombre del formulario que quiero comprobar si está abierto, que es agregar usuario. Entonces si no quiere decir, si la granja no está abierta entonces quiero hacer todo fuera que Sony haga clic en agregar usuario. Sólo debería aparecer una instancia porque fuera de esta declaración if No, no estamos terminados con esto. El siguiente que queremos asegurarnos de que tenemos es el botón. Por lo que tenemos. Ah, presentaría botón encendido. También voy a poner bien el botón de cancelar, Así que podrías enviar eso. De acuerdo, sí. Este es el usuario que desea crear. Y también se podría cancelar operación. ¿ Verdad? Entonces solo hacemos esos dos botones. Entonces pero a nadie me voy a ir a inmuebles en, voy a llamarlo lo que voy a decir presentar en primer lugar. Entonces va a tener el nombre BT y presentar. Y luego para una herramienta de botón, voy a hacer cambios similares. Dónde dedo del pie del botón. El nombre va a ser Bt y cancelar sobre eso The Tex va a ver cancel Muy bien. Y luego por el botón de cancelar, Ahlam fue a ver su ropa. Entonces si se hace clic, decidí crear inventor eléctrico. Estoy diciendo Si haces click, Cancelar. Simplemente cierra la ventana. Eso es bastante fácil. Justo en. Entonces, si hace clic en enviar, entonces queremos hacer otra cosa. Entonces cuando haces clic en enviar es cuando realmente queremos agregar el usuario que estás ingresando a la base de datos, Derecha. Entonces necesito toe declarar nuestro nuevo objeto off type usuarios. Voy a salvar a Ire. Usuario es igual a nuevo usuario. Muy bien, como entonces, necesito recolectar datos del formulario. Entonces déjame hacer eso primero. En realidad, alguien para guardar nuestro nombre de usuario es igual del dedo del pie y luego conozco el texto de punto de nombre de usuario TB. Entonces es, usa el nombre que acababa de entrar, justo y luego se fue a salvar nuestro papel. I d es igual al valor seleccionado de este cuadro de coma o roles CB que seleccionaron en el índice de ese . Ese es artículo. Pero lo que quiero es valor seleccionado, correcto, Pero luego fuera de curso, esto va a ser off type object. Lo necesito como un en el dedo del pie yendo del domingo implícitamente lo tipifican a un entero. Por lo que ninguna idee de papel está en el valor seleccionado por jurado. ¿ Qué tienen esos objetos usar? Por lo que tenemos el nombre de usuario. Tenemos el papel, pero no tenemos. ¿ Son la contraseña y el estado activo? No. Si acabo de crear el usuario, voy a asumir que la actividad es cierta, ¿no? No sé por qué crearía un usuario inactivo alguien para dejar eso como cierto por defecto. Si quieren cambiarlo más adelante, pueden seguir adelante y hacerlo desde la pantalla de gestión. Pero tengo el rol que d en d. tengo el nombre de usuario y luego lo siguiente sería la contraseña. Entonces si recuerdas, tenemos una contraseña predeterminada que usamos cuando hace poco hicimos la funcionalidad de restablecimiento de contraseña y puedo revisarlo y mostrarte en el usuario de gestión, hicimos un botón de restablecimiento de contraseña donde pusimos eso a la predeterminada postura. No, si quiero 13 esto como contraseña predeterminada, entonces eso significa que lo tengo muy citado aquí y de ella corazón sobre lo duro codificado en esta siguiente función, lo cual no es bueno porque entonces si necesito cambiarlo, Yo soy yo lo cambio un lugar y no recuerdo cambiar eso el otro lugar así que es más fácil si lo tenemos. Un policía. Correcto. Por lo que en realidad solo voy a crear otra función en la U tills donde voy a ver la contraseña hash predeterminada. Entonces solo me voy a llevar todo esto, ¿verdad? Andi, solo voy a copiarlo y pegarlo. Voy a llamar a la función predeterminada. Contraseña en silencio. Entonces esto sólo soy yo. Denle su nombre. Puedes nombrarlo otra cosa. Pero éste no va a tomar ningún parámetro, porque lo que estoy a punto de hacer es callar la contraseña predeterminada y devolver esa dura. ¿ Verdad? Entonces voy a regresar. Fueron sustituidos. Perdón. El referente siendo yo a la terrible sala de contraseñas donde teníamos el perímetro aquí. Entonces los parámetros aquí tenemos contraseña. Estoy sustituyendo esta causa sólo para que se cancele el permiso. Este en lo estoy reemplazando por ah, contraseña codificada en el 123 Así que eso significa que si queremos cambiar ese pase predeterminado realmente sólo necesitamos cambiarlo aquí en cada vez que llamemos a esta función, solo hash esa contraseña predeterminada que nosotros hemos establecido. ¿ Verdad? Entonces lo que voy a hacer al haber creado esta función es uno Volver atrás para administrar usuario on. Entonces voy a cambiar todo este bloque de Corno para solo usar mi nueva función en eso Su contraseña callada por defecto, que no toma parámetros por lo que va a hacer es volver. Ah, versión callada apagada. ¿ Qué pasa con ese texto estático que nos sentamos es así que hay muchas maneras en que puedes hacerlo más dinámico. Sólo estoy tratando de mantener su dentro antes de que el propósito fuera de aprender. Por lo que han utilizado pensamiento por defecto pastor callado, eso sólo callará. Cualquiera que sea ese texto que hicimos programadores o que el negocio haya determinado es inaceptable. La contraseña predeterminada no está encendida. Por lo que lo había usado dentro de fuera exprimidor de dinero, alguien que lo usara de nuevo. Adentro off user Cuando estoy agregando el usuario, quiero la contraseña para mí Usted tills dot default hashed password. Por lo que están consiguiendo una postura por defecto. También está bien? No, tengo los requisitos mínimos para un usuario. Tener el uso del nombre de la contraseña en nuestros barcos y las ideas de rol de estado de actividad no requeridas en la tabla del usuario. Por lo que pronto llegamos a esa parte. Pero voy a decir usuario no encendido entonces en realidad, voy a mostrar cómo puedes hacerlo con el Con el Isar inicial, alguien va a salvar a nuestro nuevo usuario. Y luego sólo voy a abrir y cerrar los aparatos entonces, dentro de fuera estos tirantes abiertos y cierres. Sólo un poco de sangría aquí. Vamos a ver el nombre de usuario que debería ser. Aquí está el nombre de usuario de igualdad. Está bien. Y luego, coma, la contraseña que este usuario va dedo del pie tiene es igual a la variable de contraseña coma on. Entonces el final está activo es cierto. De acuerdo, entonces cuando estamos a punto de algo de carne, un nuevo usuario, lo llamamos el usarlo que se ingresó. Recoger la contraseña, declarar un nuevo objeto fuera de tipo usuario y luego nos sentimos en las columnas, poner una llamada similar y con ello accidente. Por lo que hemos usado el nombre es igual para usar un impostor. Cortejo mareado de contraseña está activo es cierto. Podemos ir a añadir a alguien que diga DB puntos usuarios algunos nadie que decir en este registro al usuario estable. Entonces base de datos de usuarios, usuario estable Agregar este objeto de usuario Y luego, después de todo eso, guardamos los cambios. Está bien, Ahora, vamos a ver si esto funciona. Alguien toe klik empezar mucho siendo como el usuario administrador para que tenga acceso a los usuarios de administrar . Doy click gestionar usuarios saben que aún no hemos poblado tan genial. Y pronto llegamos a eso. Hagamos clic en agregar Usuario. Y aquí vemos que viene nuestra forma. Por lo que ponemos en el nombre de usuario y luego podemos seleccionar el rollo. Está bien, eso se ve bien. Entonces voy a poner en otro usuario y qué decir Admin uno en esta persona. Esta noticia va a estar en el papel de administrador. Después un click enviar, y quiero mostrarte algo. Por lo que antes de dar clic enviar, me voy dedo del pie poner un punto de ruptura justo en Lyon 40 it. Está bien. Así son mi línea 48 o la última línea fuera de esta función Porque quiero revisar algo contigo . Por lo que vamos a dar clic en enviar, luego llegó hasta aquí sin errores. Entonces mi suposición es que pasó por él creó al usuario la contraseña en. Entonces si miramos el objeto de usuario bajo pisoteado, veremos que realmente tenemos una idea asociada a esto. Usuarios buscan y miran ese silencio. Eso es un enteramente diferente a lo que estamos acostumbrados. Pero lo que quiero señalar al hecho de que una vez que llegamos tan lejos y agregamos el registro y guardamos los cambios, se actualizó automáticamente sobre el objeto del usuario dedo del pie ¿Tiene el I D que obtuvo después de que fue agregado a la base de datos? Muy bien, entonces la relevancia fuera que es, recuerda que temas que el objeto está jugando su cúpula. Es que sólo sabe lo que le decimos. Por lo que sólo lo dijimos. Tohave lo están usando. Sólo se les dijo que tiene una contraseña en Devon es estado activo de verdad. No le dimos un I. D. Las ideas están siendo auto generadas por la base de datos. Entonces cambia el hecho de que lo hiciera, el guardar. Y luego lo continuó. El tribunal puede reflejar que se guardó en la base de datos y en no tiene un i d off cuatro. Y eso va a ser útil en te voy a mostrar exactamente por qué. Entonces solo me voy de pie. Continuar. Muy bien, entonces. Bueno, ya sabes, necesitamos poner en nuestro try catch y nuestro mensaje de éxito y cerrar la ventana después que todo esté hecho. Entonces tenemos todo fuera de eso que hacer. Pero solo quiero enfocarme en algo primero. Recuerda que acabamos de agregar un usuario y seleccionamos la regla del desplegable. No obstante, con base en hoyo, hemos diseñado nuestras reglas. Entonces si solo refresco esta parte trasera en esta consulta de verdad rápidamente, entonces ya verás. Por lo que presioné el botón equivocado para que veamos a nuestro nuevo usuario siendo agregado aquí. De acuerdo, colillas en nuestro usuario o estable. No tenemos ningún reflejo fuera de ningún nuevo usuario dentro del neuronal. Entonces por supuesto, si estamos agregando un nuevo usuario y estamos seleccionando la regla del menú desplegable que necesitamos toe inserte la regla en consecuencia. Son la Asociación de Roles de Usuario en esta tabla donde el nuevo usuario me agregaron con el I D que acabamos de ver en este caso fue cuatro tiene el rol I d que se asocia con lo que fue seleccionado de o lista desplegable. Por lo que necesitamos a mí esa modificación a nuestro tribunal. Entonces después de haber guardado el cambio para agregar el usuario podemos saber, digamos var usuario i d es igual dedo del pie o objeto de usuario punto la columna i d porque no, tiene un valor escribe como acabamos de ver No, después de conseguir esa idea de usuario y ya tenemos rol idea y el medio extraño es demasiado común se están manteniendo consistentes. Así que ten idea de rol Tenemos usuario I d Entonces puedo seguir adelante y decir en la puntuación db dot reglas de usuario Arte Bueno, lo siento, lo siento, lo siento. Saltarse por delante de mí allí así que voy a guardar nuestro rol de usuario es igual dedo del pie un nuevo objeto fuera regla de usuario que es mi tabla, ¿ verdad? Algunos creando un objeto fuera de tipo de rol de usuario en entonces solo voy a inicializarlo aquí en entonces las columnas que tengo son rol i d y usuario I d. Está bien, Así que rol I d va a ser igual del dedo del pie el valor que obtuve de mi cuadro combinado en entonces usuario, yo d va a ser igual al valor que acabo de obtener de mi usuario recién creado. Y luego después de hacer esto, entonces sabemos que lo siguiente sería toe otro registro a la base de datos de objetos DB dot reglas de usuario. No encendido. Después fui a ver rol de usuario en. Entonces voy a decir db no guardar cambios. Muy bien, viniendo bien entonces. Una vez hecho esto, creará al nuevo usuario y luego recuperará el i. D luego lo asignó a la regla o ella. Derecho Eso dijo ese usuario a la regla. Entonces ante nuestro continente se va a poner en el try catch Así que sólo escribir. Intenta presionarlo dos veces. Entonces puse toda esa operación dentro del try el día. Yo no soy uno. Simplemente rodar. En cambio, voy a ver un cuadro de mensajes acoplado. Seguro en. Entonces ha ocurrido el cuadro de mensajes que muestran que solo voy a ver en flecha, ¿ verdad? Algo genérico. Siempre puedes conseguir un específico como quieras. Pero entonces, ya sabes, hemos pasado por esto bastantes veces en aquel entonces. Después de un éxito en la operación, sí quiero mostrar un cuadro de mensaje en. Ah, Perdón. Está bien. Ver nuevo usuario agregado con éxito. Por lo que sólo un nuevo usuario agregó el éxito totalmente en. Entonces cerraré la ventana. Está bien, en ese entonces Bueno, eso es más o menos para el usuario de arte. Entonces, solo probémoslo una vez más. Alguien a quien hacer clic, iniciar luego iniciamos sesión, vamos a administrar usuarios que un nuevo usuario en. Entonces esta vez te voy a salvar. Clark, esa es esta persona lo está usando. estoy sentando a revisar solo y luego hago clic en Cumbre. Y entonces esto es nuevo Usuario en él haga clic con éxito en Aceptar, entonces, mientras que el punto de interrupción es a ahí. Por lo que me quito el punto de ruptura y luego continúo y estaban de vuelta un Tormey y ventana. Todavía no hemos hecho nada con un gran. Pero entonces, si voy a mi base de datos y vuelvo a ejecutar esta consulta, entonces voy a ver ah, tercer rollo derecho con el usuario me d cinco. ¿ Recuerdas eso antes? No, los ideales de uso fuerzan y los cinco sobre las ideas de rol. Tres. Y si voy a los usuarios en re ejecuto esta consulta y voy a ver mi vista Clark con usuario i d. cinco en adelante la contraseña porque ambos tienen los mismos transeúntes predeterminados. Por lo que estas dos contraseñas son las mismas. Estos dos pastores son iguales. Los hashes son iguales, ¿verdad? Entonces es que quiero decir, no lo es. Pero si los hashes son para ver Y el punto es que ya sabes, si lo miras, puedes decir si no te dije cuál era cuál no sabrías qué contraseña o cuál sería la palabra inglesa o equivalente de estas contraseñas ser. Entonces lo siguiente que quiero hacer saber es modificar mi administrar ventanas de usuarios para que cuando un usuario sea agregado, o, ya sabes, ya sabes, desactivado o algo así, que se refleje aquí que esos datos se va a reflejar. Entonces en realidad lo voy a hacer. Yo quiero que pausas el video. Onda se intentó, y voy a hacer una pausa aquí mismo. Hazlo, entonces volveré y te lo explicaré. Pero realmente te animaría a probarlo por tu cuenta. Está bien. Entonces solo te voy a guiar por los ajustes que hice. Andi, espero que tú, ya sabes, pausas el video aún intentó ITI. Y si sigues sintiéndote lo suficientemente cómodo en tu mundo, me estás esperando. Entonces eso está bien. Te guiaré por lo que hice. Entonces creé una función similar a lo que hemos estado haciendo para saber llamado poblados Grado on en grilla Popular Irán, una cantera donde dije en los PCs lo de autos. Eso es porque realmente copié y pegué la cancha de o trabajo previo, ¿no? Entonces en este caso, entonces simplemente lo cambiamos rápidamente en DSO. No debería decir autos. Debería decir usuarios. Entonces conseguí a los usuarios que seleccioné en ese nuevo objeto abstracto consiguiendo el i. D. El nombre de usuario los roles. Entonces recuerda, tenía que hacer que dot usuario. Fue ese primero nuestro defecto para conseguir el primer rollo O, ya sabes, es una lista de Rose basada en el constructo de datos, pero en realidad es un rollo, ¿ verdad? Entonces solo digo, dame la lista. Sé que solo es uno en la lista, pero la forma en que lo procesan para ver la lista comienza una. Entonces ya que es al menos dame el 1er 1 de la lista en, entonces dime el nombre del rol. Está bien, en, entonces, el estado activo. No, recuerda que estas columnas lo que sea, aunque sea cual sea el nombre de la columna lo que se utilizará como nombre de columna para la cuadrícula. Entonces no quiero que el nombre de usuario se vea así y, ya sabes, nombre Y ¿cuál es el nombre? Nombre no significa nada para un usuario final. Entonces cambié el nombre de las columnas. Entonces dije, cualquiera que sea la columna que haya usado el nombre es el nombre Establecerlo para usar el nombre. Nombre debe ser Nombre de rol está activo. Debe estar activo el. Entonces dijimos el dedo del pie de visibilidad I d cae. Muy bien, en ese entonces lo que también hice fue modificar el constructor para el usuario final. Entonces cuando hacemos clic, agregamos usuario y pasando en objeto fuera de esto y este siendo los usuarios de administrar forma derecha en. Entonces no me molesté en hacer dos constructores, así que a veces también lo hice. A veces hice uno algo que también hice. Y no he usado, ya sabes, uno de ellos. Entonces esta vez sólo hizo uno. Porque de verdad y de verdad, no creo recordar en la ventana de abusador sin un objeto fuera administrar usuarios. Para que sepas que puedes mezclar y mucho. Depende de usted determinar lo que puede o no necesitar hacer es simplemente modificar el dedo del constructor existente. Ten el harén apagado. Administrar usuarios en. Declaro el objeto privado propiedad privada. Perdón. Los usuarios de Off Money lo inicializaron aquí en para que solo, ya sabes, después de hacer clic, envíe la llamada del dedo del pie en la función poblar cuadrícula en la ventana de administrar usuarios. Está bien, así que una vez que hacemos clic en enviar y se hace fuera del cambio que tiene que hacer a la base de datos mostramos el mensaje de éxito en. Después refrescamos la cuadrícula, y luego cerramos esta ventana. Muy bien, entonces. También llamo a esto poblar grilla para en administrar usuarios. Por lo que en jugos de dinero, recuerda donde otros dos botones con un reset password reset on. Teníamos la desactivación, por lo que el activado, más que el restablecimiento de contraseña, necesitaría refrescar el dedo del pie porque para un cambio, el estado activo. Entonces eso son datos visibles cambiando porque tenemos la columna es activa mostrando a través de nuestros Farr's. Por lo que necesitamos refrescar cada vez que se hace en. Entonces necesito cablear. Este botón de actualización no tiene sentido. Lo tenemos y no funciona. Así que permítanme simplemente agregar el evento click al botón de refrescamiento en este botón de actualización solo va a ver Populate grade. Está bien, así que sólo veamos esta aplicación. ¿ Todo bien? Por lo que abrimos, iniciamos sesión, vamos a administrar usuarios. Entonces así es como se verá nuestra grilla, por lo que siempre prueba el aviso del usuario. No estoy mostrando la contraseña fuera de curso, verdad. Es decir, no tiene sentido mostrar la contraseña. Este usuario, recuerda, este fue el primer usuario que se creó, y no pusimos un rol, así que eso va a estar en blanco. Por lo que en realidad puedo simplemente usar este para las activaciones. Déjame hacer clic en admin one y probar esto. Las activites son de administración. El estado activo ha cambiado el. Entonces vemos que cambia dedo del pie cae ahí, refresca la rejilla y cambia las caídas del dedo del pie. Correcto. Entonces, por supuesto, la grilla no se ve tan atractiva Con todo este gran espacio puedes redimensionar no sabes cuándo priorizar esas cosas también. Yo sólo quiero que pongamos la función de las cosas bajo nuestras manos. Justo en. Entonces déjame solo crear un usuario más en. Después iba a llamar a este usuario clark, y esta persona va a ser un empleado de entrada de datos. Enviar y luego hacer clic en Aceptar en, luego. Ahí vamos. Entonces la ventana se cierra, y luego el Clark está ahí. Si yo tuviera la activación, entonces el estado activo es ahora cae, acuerdo? Y luego sólo para verlo, nosotros si hago click. Entonces si me dejo refrescar y luego si trato de dar click a una de estas se iban a conseguir esas flechas. Pero por las capturas tri, no se estrellará el programa. Correcto. Entonces esas son las cosas maravillosas que hemos podido lograr con todo esto. Ahora, permítanme simplemente poner una función final en esa es la comprobación si la contraseña predeterminada es el pastor que se está usando cuando el usuario inicia sesión. Entonces son el número cuatro es que esto se puede lograr, ¿ verdad? Más o menos la raíz de la misma. Lo que estamos comprobando es si la contraseña que usó el usuario para autenticarse es un pacto o sabemos que es la contraseña predeterminada. Está bien, entonces lo que voy a hacer es modificar la pantalla principal del señor de la ventana, ¿ verdad? Entonces voy a tener que crear un nuevo formulario, y eso será como nuestro restablecimiento de contraseña para el cual es realmente solo dos cuadros de texto en el botón de enviar para que pueda ir rápidamente a Solution Explorer en un nuevo formulario el. Entonces éste sólo se va a restablecer. Sward. Muy bien, haga clic impar en. Entonces ya sabes, podemos hacer nuestros ajustes cosméticos regulares o restablecer contraseña. Andi, lo que voy a dejar que este haga realmente es que va a ser una ventana muy pequeña lo que voy a dejar que este haga realmente es que va a ser una ventana muy pequeña. Nuestras chicas van a tener que etiquetas y dos cajas de texto. Está bien, así que lo diseñé fuera de pantalla. Se puede pausar y diseñar años también, pero hay que etiquetas quieren decir introducir nueva contraseña. ¿ Quieres ver? Confirmar contraseña en. Entonces los dos cuadros de texto para cualquiera, que renombré dos TB password y TB confirmaron contraseña en entonces mi botón, que llamo Bt y reinicié. Entonces y no creo que esto, um bueno, este formulario va a tener que hablar con la base de datos. Voy a tener el dedo del pie No, mi inicialización, como de costumbre. Muy bien, entonces. Sepa que he hecho referencia a mi objeto db. Lo que voy a tener que hacer es recuperar al usuario, cambiar la parte de la contraseña en, luego guardar los cambios. Si voy a necesitar acceso al usuario que se deba modificar. Y fui después de ticketing como parámetro alguien a decir, usuario en. Entonces tendré mi eso local que es privado, usuario y luego ver usuario de subrayado. Y luego inicializaré en el usuario de puntuación para tener el valor fuera del usuario que se está pasando como parámetro. Muy bien, entonces. Muy bien, así que hemos hecho bastante trabajo en la contraseña de restablecimiento. Yo quiero hacer una pausa aquí, y luego voy a volver a girar mi foco hacia la ventana principal. Entonces solo voy a cerrar todas las tapas de las que no necesito un derecho. No. Está bien. En entonces, en la ventana principal en la ventana principal en la función Señor. Lo que voy a hacer es decir que si ellos si el valor de los usuarios calló contraseña es el mismo que la contraseña hash predeterminada, entonces la persona necesita un crucigrama de restablecimiento. Está bien, entonces lo que voy a decir aquí es así en la ventana. Señor, sólo voy a hacer algo de espacio aquí, y voy a ver, Entonces lo que voy a ver,ya sabes, ya sabes, es si en adelante entonces decir algo como Usuario. Por lo que tengo mi objeto de usuario aquí usuario dot contraseñas. Ya sabría la contraseña callada en base a lo que hay en la base de datos. Entonces voy a decir que si esa contraseña que está en la base de datos es equivalente Oh, que se mueve eso. Entonces esta sería la contraseña hashed predeterminada. ¿ Ves eso? Entonces estoy viendo si la contraseña en la base de datos es equivalente del dedo del pie la contraseña callada. Ese es el gobierno pastor predeterminado de Tash. Pero esta función está devolviendo la versión hashed de la contraseña predeterminada. Entonces cualquiera que esté posturado fue simplemente restablecido o recién fue creado. Va a tener. Sea lo que sea posiblemente este regreso. Eso es lo que se va a almacenar en sus registros. Digo que si el usuario que acaba de iniciar sesión tiene la misma contraseña que la contraseña hash predeterminada , entonces necesitamos toe launch. Ah, ventana para posturas de reinicio. Yo quiero reiniciar Cevaer. Contraseña es igual a una nueva instancia fuera de la ventana de restablecimiento de contraseña. Está bien, vamos. Entonces, esta vez voy a mostrar diálogo. Noté que esto está diciendo reset password eso porque no creé dos constructores, así que nos está esperando el pase en algún objeto de usuario. Entonces eso satisface eso. Y luego fui a ver Restablecer contraseña Y en este tiempo, cuándo mostrarla como diálogos. Recuerda que miramos cómo podemos lanzar una ventana a la vez. Seguro. El diálogo es una excelente manera de asegurarte de que no puedes simplemente cerrarlo así. ¿ Verdad? Entonces estamos viendo reset posture dot show dialogue right on. Entonces lo que sucederá es que la expectativa es que el usuario usará ese diálogo de reset passer en realidad cambió su contraseña. Si no lo hacen, entonces eso es un problema. Pero oye, entonces cuando los señores de la ventana hacemos eso, comprueba, entonces mostramos la ventana de restablecimiento de contraseña. Entonces, no, Cuando obtengan esa ventana, entonces la expectativa es que nosotros uno consiga cuando estemos bien, vamos a conseguir los valores que ingresaron. Entonces eso es sólo una contraseña de fuego es igual a on. Entonces tenemos contraseña TB, no texto. Justo en. Entonces la siguiente va a ser TV posturas confirmadas de están en firme en el marcador. Contraseña es igual a TB. Confirmar. Ah, sward, no texto. Muy bien, entonces. En primer lugar quieren compararlos. Entonces voy a ver si la contraseña no es igual para confirmar la contraseña. Entonces sabemos que eso es un problema. Si utiliza algún sitio web moderno, usted sabe que la pastoral en el país y los cuerpos de pastor deben ser los mismos entonces va a ver cuadro de mensaje que así Y vamos a piel para advertir al usuario que las contraseñas no van mucho. Por favor inténtalo de nuevo. Muy bien, Y entonces de lo contrario vamos a saber Diga que nuestra en la puntuación usuario objeto dot password es igual a ti tills dot hard password, y luego estamos callando cualquier valor que pongan como contraseña. Y luego una vez que hayamos terminado con eso, podemos ver el subrayado db dot guardar cambios porque tenemos acceso al objeto real proveniente de las abejas de datos. Entonces nos fuimos a probar eso. Yo soy esto ha funcionado para mí en el pasado. No quiero decir que definitivamente va a funcionar. No, pero, 36. Añade proyecto a GitHub: en este video, solo vamos a revisar algunos cambios finales de acorde y luego revisar nuestra solución toe Get hub para el control de fuentes. Entonces voy a empezar explicando esta clase que tengo aquí en pantalla que es clase estática pública. Y yo lo llamé ustedes tills. Está bien. Entonces primero, vamos s clase estática te baja para declarar clase donde puedes llamar a las otras funciones y propiedades estáticas sin necesidad de declarar un objeto. Entonces voy a explicar exactamente qué significa eso. Entonces, primer lugar, en el Explorador social sobre eso estaba bien. Haga clic en el letrero en el anuncio del proyecto Goto nuevamente diga clase en. Entonces le di el nombre que labras para que obtuvieras el mismo cuadro de diálogo que se usaban dedo del pie donde digo clase on. Entonces lo llamé que te molestan. Entonces dije agregar y se añadieron al proyecto. Entonces te vemos a algunas personas pondría eso en una carpeta tal vez por sí misma y en una carpeta llamada tal vez ayudantes o algo así. En este punto, era realmente materia pero mi clase use es estática, por lo que eso significa que solo puedo decir que los tirones apuntan y llamen a la función estática que tengo aquí, que se llama Extranjera, está abierta. Está bien. Normalmente, cuando se trata de una clase, sabemos que necesitamos declarar un objeto. Entonces, como en el caso, off declarar un objeto fuera de una de las formas que es cuáles son las clases habría tenido que decir Dame un objeto sobre inicializarlo a, en instancia fuera de eso y entonces puedo empezar a interactuar con el propiedades en las funciones cuando se trata de una clase estática. Entonces en esta situación estoy viendo dame teselas punteando las funciones No necesitaba declararte tills como nuestro objeto y luego usar nuestro declare un objeto off type use y luego use el objeto. Yo sólo podría decir que labras forma de punto está abierta que estoy pasando en el nombre fuera del formulario. Está bien, así que en cambio, fuera justo en la cancha aquí, como hice en el video anterior donde lo escribí una vez y lo escribí en ni una sola situación, pero luego cada vez que necesito comprobar si el formulario es abierto, voy a tener que reescribir ese tribunal. Lo que hice fue crear una clase de útero. Crear una función llamada forma está abierta, que va a devolver un booleano. Y está esperando un perímetro fuera de tipo nombre o escribirá cadena llamada Name on. Entonces hace ese cheque. Entonces saco todos los formularios abiertos en la solicitud checa Si el que tiene el nombre que se está pasando está abierto, ¿ verdad? Entonces acabamos de hacer todos esos. Simplemente tomé ese acorde en todo lo que estaba poniendo una función y un retorno está abierto, que o sería verdadero o falso basado en el resultado de esta, um función derecha. ¿ Está encendida esta operación? Entonces la función es realmente devuelta. En lo cierto están las caídas, que son lingotes, ¿verdad? Entonces eso significa que cada vez, tener un evento rápido. ¿ Dónde hay cada vez una situación en la que estamos a punto de lanzar una ventana? Todo lo que estoy haciendo es ver, si no encendido, entonces sea cual sea el resultado, cuando los llamo tills, esa forma está abierta. Y luego pasé en el nombre. Recuerda que el nombre fuera de las formas para verlo como el tipo, ¿no? Yo lo sé. Quería lanzamiento gestionar listado de vehículos. Esa es una forma a punto de lanzarse cuando esto hizo clic. Está bien, así que sé que ese es el nombre que estoy pasando. Entonces solo digo chequear, llamar a esa función encendida. Si no quiere decir que sea caídas, entonces quiero abrirla. Entonces si no está abierta, eso es básicamente decir si no está abierta entonces espectáculos recuerdan que lo hicimos como una declaración if , pero una vez más tendría el dedo reescribir ese tribunal cada vez para que se lo pusiera en un donde todo lo que estoy haciendo es pasar el nombre relevante de acuerdo al evento rápido . ¿ Verdad? Entonces eso fue todo para el listado de vehículos de gestión más adelante. No contar con registros gestionados ni completos. Yo uso la misma función. Todo lo que hago es cambiar el nombre porque sé que es una forma diferente la que quiero lanzar esta vez. ¿ Está abierto? Si no está abierta, entonces adelante y lánzala como un MD I niño en su proceder. Correcto. Entonces ese es un cambio que han hecho de lo contrario he normalizado al gerente. Registros enteros están poniendo el mismo tipo de funcionalidad de eliminación con el cuadro de diálogo. Y sí, lo sé, como lo habrías hecho en el listado de vehículos maneja en buceo normalizado. Todo son la mayoría de las cosas hasta este punto. Entonces, no, estoy a punto de revisar este cordón para conseguir esperanza, ¿ verdad? Voy a crear el repositorio el. Entonces, cuando hubieras visto este video, habrías podido seguir, conseguir acceso abierto al repositorio con todos los expedientes de la corte del mismo. Y, ya sabes, si no entiendes algo o te movías demasiado rápido en el video y no pudiste aclararlo, y solo quieres ver la cancha en sí, entonces puedes ir al post story que estamos a punto de crear. Entonces supongo que ya has creado un gueto por Kant, y si no lo has hecho, entonces es bastante sencillo. También tengo un video sobre que lo has visto antes. Espíritu Un gueto por cuenta. Se puede ir a conseguir hope dot com on. Entonces puedes ir a apuntarte a esto, un proceso bastante sencillo. Una vez que te inscribes, ¿proporcionas todos esos detalles? Se quiere elegir una cuenta gratuita porque se cargan gratis o empresa son conos fuera curso. Si eres un individuo solo queriendo usarlo con fines educativos, entonces sigues adelante y usas la versión gratuita fuera de curso una vez que sea gratis, puedes elegir. Si el repositorio es público o privado en su momento, Andi puede proceder en consecuencia. Entonces no voy a pasar por eso en este video. Ahí hay otro video que es con eso. Por lo que ahora mismo nos vamos a centrar en agregar nuestra solución al control de fuentes. Está bien, así que lo primero que quieres hacer es mirar abajo a la derecha en la esquina. Ya ve, agregue al control de fuente. Si no ves esto, entonces probablemente quieras no conocer los enchufes de estudio visual. Olvídate de get hub. Pero si tu estudio visual estuviera instalado correctamente, entonces tendrías los enchufes de los que estoy hablando. Si no lo haces, entonces puedes dejarme una línea y luego te puedo ayudar con conseguirlas para que puedas hacer click, agregar al control de fuente y luego ver, conseguirte Adelante y dar click en eso. Lo que esto hace es que crea un repositorio local en la máquina en la que estás, por lo que el control de fuentes te permite realizar un seguimiento de tus cambios. Um, fuera de curso, tienes que asegurarte de que todo esté guardado, y una vez que estás rastreando cambia. Se puede decir quién cambió qué archivo en cuándo. ¿ Verdad? Entonces es una buena manera de saber cuándo funcionan tus codificadores, qué cambios hiciste. Eso probablemente rompió tu cancha, y siempre puedes volver a la anterior cancha de trabajo. Siempre se recomienda que no revises en ninguna cancha que tenga errores, sobre todo si estás trabajando en equipo. Pero, ya sabes, esos son nuestros principios que aprendiste en el camino. Pero bien sé lo que acabo de hacer fue crear el repositorio local en mi máquina. El siguiente paso, sin embargo, es publicar esto para darse por vencido, por lo que mi máquina va a estar rastreando los cambios. Pero entonces puedo sincronizarlo con el servicio llamado Get Tobe o a medida que se desarrolle su. Pero levantarse es más fácil para todos y cualquiera entrar, para que así me estoy centrando en levantarme. Pero puedes sincronizarlo con levantarte para que tu máquina local instruya cambios y básicamente estás haciendo copias de seguridad. Todo fuera esos cambios rastreados dedo del pie el repositorio de ropa que consigue que Tobe te da, entonces eso hace que sea más fácil para que trabaje en equipo. Porque entonces los miembros de tu equipo pueden interactuar con ese repositorio de ropa a nivel global sobre contribuye a tu cancha o una pura tu cancha. Entonces ahora mismo, lo que estoy haciendo es empujarlo para que se levante para que pueda acceder a la cancha cuando necesite escribir. Entonces publiqué un levántate y acabo de hacer eso, publiqué un get tub y luego me va a preguntar. OK, solo va a verificar que es levantarse. Conoce lo que puede hacer es solicitarte que inicies sesión. Entonces si has creado tu cono con éxito, entonces solo tienes que iniciar sesión con las credenciales que usaron para crear esa cuenta. Ya estoy inscrito en mi estudio visual con levántate, por lo que ya me detecta encendido. Pero voy a dejar el nombre. Ahí está corriente arriba. Puedes agregar una descripción para que puedas ver. Um, ya sabes, gana formas nuestra introductoria. Déjame simplemente escribir la descripción. Está bien, así que escribí un pequeño párrafo. Se trata de una aplicación de formulario de introducción o Windows realizada en cumplimiento parcial fuera del curso desarrollo de aplicaciones empresariales con formularios de Windows usando C sharp y un diodo en él. Entonces esto es un bonito Es una descripción, para que si alguien tropieza con este repositorio, puedan tener una idea fuera. ¿ Qué, exactamente? Ellos son lo que es exactamente, que están mirando la casilla de verificación aquí para hacerla privada o pública. Entonces si lo haces privado, entonces obviamente nadie podrá simplemente tropezar con él en Internet. Sólo tú, en quien invites, aún interactúas con el repositorio podrás verlo. Pero dejo esto sin control porque quiero que el mío sea público, correcto. Yo quiero que puedas ir en mi perfil y sentar al final todo esto. Esto puedo hacer click publicar el, entonces puedo darle unos momentos en una vez que esa operación esté terminada. Entonces ves las funciones son ves la señal visual que es su repositorio creado, exitoso, exitoso, Ya sabes, si este paso falla, podría ser que probablemente pongas credenciales incorrectas, o te probablemente necesite cambiar la conexión que está sentado detrás porque he visto firewalls bloquear esta operación. Por lo que podría ser una de esas cosas. Entonces no me bajé el día. Siempre que hagas cambios a tu pozo, primero, déjame iniciar sesión en mi ah ah, cuenta de tina y mostrarte exactamente lo que se ha hecho. Por lo que ves actual arriba, Andi, Ahí está con la introductoria. Esta es la descripción. Está bien, Así que si hago click en corriente arriba, entonces vas a ver todo mi posit Torrey, con esa descripción que acabo de escribir en estudio visual. Aparece aquí, Así que si entro a la carpeta escucharé todos los hechos. Entonces esa es una solución que consigue incendios que se habrían ocultado se crean una vez que lo agregamos al repositorio el. Después voy a auto hasta arriba. Entonces cuando entre en esa carpeta, podrás ver todo fuera de esas clases para. Entonces esta es una carpeta de proyecto justo en esto. Estos son todos los padres están asociados a nuestro proyecto. Entonces si querías ver lo que hice en particular archivo, solo puedes hacer click en él. Entonces este es un registro que CSC y un slick en el registro. Eso sí, y va a traer todo el fuego de clase con todo fuera de la cuerda que hubiera facturado . Y siempre se puede bró's. Andi del Perú, ya sabes, re familiarízate con la cancha si necesitas dedo del pie del repositorio. Si quieres sacar una copia de todo el proyecto, entonces puedes ir a clonar o no lo hagas Lord, entonces esto te da tres opciones. Bien se puede abrir escritorio. Entonces en el video donde montamos el gueto Balcones, también habrías no cargado. Prepárate para un escritorio para que puedas abrirlo en esa aplicación de escritorio. Si ya lo tienes, puedes abrirlo en visual studio. Por lo que esto en realidad de dos para lanzar mi código fuente. En una instancia, fuera de tu propio estudio visual. Él lo puede ver en tu configuración de proyecto en tu estudio visual como si tuvieras mi proyecto encendido. También puedes simplemente no conocer el archivo ZIP para uso posterior a voluntad. Correcto, Entonces así es como vas a añadir tu dedo del repositorio. No debes ser, solo para mostrarte cuál es el propósito de la guitarra si hago un ajuste. Si busco primero en la solución Explorer, vas a ver los candados azules. Candados azules significan que estos incendios no cambian. ¿ Todo bien? No, Si voy a ustedes labros y sólo voy a hacer un simple cambio, nada demasiado intrusivo. Pero sólo necesito un espacio. Entonces, sea cual sea el cambio, y luego lo veo, si miro hacia atrás ese archivo, voy a ver una garrapata roja. Entonces, si paso el rato sobre el ridículo ver que está pendiente en editar nuestro hay una edición que se hizo que está siendo atrapado en dit está pendiente de ser facturado. Está bien, Así que déjame hacer algo más, en realidad y un cambio más útil. Entonces voy a entrar a poner en lo común. Ese es su cheque si la ventana ya está abierta. ¿ Verdad? Entonces antes, si voy a mi repositorio y miro mi archivo uterino, ¿ verdad? Por lo que acabo de entrar en el repositorio. Abre las utilidades. Eso sí, y otros se acercan un poco enfermos y ven mejor. Te vas a dar cuenta de que solo está ahí. No hay comentario ni nada, Así que acabo de agregar Ah, comentario Toe esa línea. Línea de remolque 14. El original no tiene comentario en la línea 14. Entonces lo que voy a hacer es revisarlo desde visual studio. Entonces solo voy a dar clic derecho en la solución, y luego voy a ver un cometa encendido. Entonces cuando digo commit, quiero ser lo más explícito posible porque una vez más, esto es bueno para la configuración del equipo. Entonces si estoy en un entorno de equipo, quiero que los miembros del equipo sepan exactamente qué cambio. Yo soy Mead toe the court, alguien que diga que sí comento dedo del pie te labras no CS porque eso es lo que hice. Justo después de escribir ese comentario, puedo dar click en esto. No corrijas. Entonces puedo decir que Commiten son, Pero te voy a mostrar un tiburón. ¿ Qué? ¿ Dónde? Haga clic en esto, no zanahoria y es un commit all y hundirse, por lo que comprometer significa que va a cometer el cambio. Pero sólo va a ser a su repositorio local, lo que significa embarcarse a bordo al enterarse de ello, al menos aún no. Cuando diga calmarlo todo y me hunda, dirá bien. Comprometidos con el repositorio local y luego sincronizando con levantarse sincronizando significa que si tengo cambios realizados, los empujará para que se suban. Entonces si alguien más de mi equipo hizo cambios, también me jalará esos cambios. Entonces cuando hago eso, ves que está haciendo operaciones mientras estoy aquí hablando de No, se está sincronizando Esto podría tomar un tiempo porque fuera de la conexión a Internet que estoy sentada detrás. Pero una vez hecho, entonces verás que sincronizó con éxito todos los cometas entrantes y entrantes. Y cambia que mi compañero de equipo no estará en mi máquina en ningún cambio que realicé Will sabrá más allá de ponerse Tobe, mi equipo también puede venir aquí. Por lo que este es un equipo Explorer. Tengo un dolor aquí llamado Team Explorer. Si no lo ves, puedes ir a ver y buscar Team Explorer en que te dará este dolor encendido por defecto , estará en esta pantalla. Déjame sólo ir a la pantalla de inicio solo para mostrarte cómo se verá para que estés bien . Entonces tengo Esta es toda la pantalla, ¿verdad? Aquí es cuando se configura el repositorio, y esa es tu pantalla de inicio si quieres obtener los cambios. Entonces alguien hizo cambios y quieres recuperar esos cambios de lo que puedes hacer es hacer click sink, verdad? Por lo que cualquier click sumidero automáticamente solo tirará. Cualquier cambio es, bueno, va a abrir este menú encendido. Entonces sólo se puede decir pool. Entonces cuando digas pull, traerá todos los cambios que tu equipo ha realizado. Si te gusta, piensa que va a hacer el empuje y un jalón tan jalado significa conseguir los cambios, empujarme y mandar mis cambios. Piensa significa Alice a ambos en una sola operación de todos modos, ¿ verdad? Por lo que tienes una serie de formas de hacerlo después de mostrar tus opciones. Pero en un entorno de equipo que está completo, se puede hacer la colaboración de ayuda del dedo del pie, así que sepan que esto está facturado. Solo verifiquemos que se ha facturado con éxito, así que si actualizo esta vista, entonces vas a ver mi comentario es no in get top. Entonces el cambio que acabo de hacer en mi máquina no está disponible en get top y luego si solo vuelvo a la lista fuera de los archivos. Sólo voy a mostrarte la señal visual que te da el ghetto. Entonces estos estaban en los archivos del proyecto? Eso es todo. Me generaron auto. Ese fue el primer compromiso. Pero entonces cuando hice los cambios realizados así hasta que hasta que la CSR utilice un C s. escribí el comentario agregado comentario, Toe YouTube es que CS, ¿ verdad? Por lo que será un lo que pongas ya que tu mensaje de Corbett informará a cualquiera más qué cambios realizados en el archivo de partículas. O al menos el último cambio que se hizo al asunto de las partículas. No, platiqué un montón de barcos trabajando en equipo y solo te voy a mostrar cómo puedes invitar a otras personas a estar en tu equipo. Entonces, en primer lugar, tus compañeros necesitan tener el gueto Buck Owens todo. Si necesitas tener los balcones de guitarra encendidos, entonces tú. Lo que haces es ir a ajustes. Entonces quien hubiera creado un repositorio una persona puede crear el repositorio primero en, Entonces puedes invitar al otro para que hubieras ido a la configuración y luego dirías, administrar el acceso, y entonces esto probablemente te preguntará dedo del pie que conoces, pon tus credenciales. Entonces lo haces rápidamente. Y luego desde aquí, puedo invitar a colaboradores. ¿ Verdad? Entonces tengo algunas personas que están siguiendo a la camarera del gueto, pero en los colaboradores realmente son los que van a poder acceder en push changes a tu repositorio sin que necesites dedo del pie, ya sabes, estar ahí todos los tiempo. Entonces eso es lo que dije equipo. ¿ Verdad? Entonces si invito a un colaborador, solo necesitamos proporcionar un nombre de usuario o un correo electrónico. Entonces creo que tal vez pueda buscar a alguien llamado querido Itchy. Tengo un nuevo asociado por ese mango. No recuerdo exactamente el mango, pero se puede ver que está trayendo a un número de personas. Entonces tal vez usar bien, dirección de correo electrónico probablemente sería la más segura que nosotros para asegurarnos de que estás inventando la persona del carrito. Por lo que pones en la dirección de correo electrónico de la persona. Acabo de poner uno. De acuerdo, ahí se sabe por eso en. Esa es mi otra cuenta de Gmail. Pensé que aún tenía me levanté cuenta. Está bien, así que solo voy a usar a mi amigo Sean McLean. Entonces solo hago clic en Sean McLean, y luego digo agregar show McQueen a auto en remolque. Por lo que al hacer eso, se activaría una invitación por correo electrónico a él el el. Entonces sería capaz de aceptar el, después tener acceso completo a la aplicación, igual que asociaré invitación de gasto. Siempre puedes cancelarlo. Si quieres que alguien lo cancele. Seguro que va a venir a preguntarme, ¿Por qué hice eso? Eso está bien. Yo puedo manejar esa situación. Pero así es como vas a añadir otros colaboradores a tu proyecto. Con todo esto dicho y hecho, eso es todo para nuestra introducción toe windows Forms desarrollo de aplicaciones usando C Sharp y video dot net. Espero que te divirtieras. Andi. Espero con interés ver la funcionalidad adicional que pones en nuestro común que pones en algo para gestionar. A lo mejor los usuarios que probablemente puedas poner en algo más dedo del pie. Haz el registro de auditoría como mencioné, para ver qué usuario interactúa con qué archivo en, ya sabes, puedes hacer un número fuera de cosas diferentes en. Me interesa escuchar exactamente qué ideas tienes en mente para mejorar esta aplicación. Siempre puedes dejarme caer una línea de mi información de contacto en avísame tus pensamientos