Mayores? mmmmm, no estoy seguro, usted me gana en canas :-). Aclare mucho sobre el using pero no dije para que sirve. Por empezar el using y el try/finally son la misma cosa, C# (y ahora VB.NET 2005) nos ahorran un poco de teclado. Todas las clases que conezco que permiten el acceso a recursos no manejados como file handles, sockets, conexiones de base de datos, threads, etc., implementan una interfaz llamada IDisposable que, si no me equivoco, solo tiene un metodo llamado Dispose(). Lo unico que hace using es llamar a ((IDisposable)objeto).Dispose(); en el Finally. Usted deberia asegurarse de que siempre sea llamado este metodo inmediatamente despues de que ya no necesita el objeto. Usted me dira que el GarbageCollector se encargara de esto y eso es cierto. El GC llama a este metodo antes de tirar el objeto a la basura y recuperar el espacio en el heap. El problema de esto es que puede ocurrir segundos, minutos, dias (bueno, no tanto) despues. Mientras tanto usted tiene ocupado el recurso como si lo usara y casi siempre esos recursos son bastante limitados. En fin, siempre que use una instancia de una clase que por dentro use algun recurso no manejado, use using, valga la redundancia. Saludos Carlos
_____ From: puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] On Behalf Of Alejandro David Nelis Robles (GUFA) Sent: Jueves, 24 de Mayo de 2007 10:09 a.m. To: puntonet@mug.org.ar Subject: [puntonet] Error en string. Sr. Carlos: A los MAYORES hay que tratarlos con respeto, por eso lo de SR., respecto a las criticas son siempre bien venidas ya que si no se aprende. La verdad creo que esta el Using pero no se para que se utiliza respecto al my como usted dijo vengo de otra generación de lenguajes por lo tanto es muy parecido al this. veré como mejorar la programación con buenas prácticas. Un abrazo y como siempre con respeto a los mayores. Jajajajajajaj. Alejandro Nelis ----- Original Message ----- From: Carlos Peix <mailto:[EMAIL PROTECTED]> To: puntonet@mug.org.ar Sent: Wednesday, May 23, 2007 3:32 PM Subject: [puntonet] Error en string. Hola Nelis, Bueno, te recomendaria que no uses el namespace My, no es muy portable que digamos :-) Otra cosa (ya que pide recomendaciones), que es esto Sr.? Dim PrimeraLinea As String Dim strLine As String Dim stringReader As System.Text.StringBuilder ' stringReader = New StringBuilder? que quiere, confundir a los pobres diablos que vienen detras suyo? ' Esto se va a saber en el GUFA Use alguna norma para el nombre de variables, que barbaridad! Tambien te recomendaria que uses un try/catch/finally y que en el finally cierres el reader, que es lo que hice, en el ejemplo, con el using (todavia no esta el using en VB.NET?). Te quedaria algo asi (mas o menos, porque no tengo el VB.NET instalado): Dim primeraLinea As String fileReader = My.Computer.FileSystem.OpenTextFileReader(Me.archivoTxt.Text, System.Text.ASCIIEncoding.ASCII) Try primeraLinea = fileReader.ReadLine() Catch (lo que sea) Finally fileReader.Close() End Try Gufazos! Carlos _____ From: puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] On Behalf Of Alejandro David Nelis Robles (GUFA) Sent: Miércoles, 23 de Mayo de 2007 09:18 a.m. To: puntonet@mug.org.ar Subject: [puntonet] Error en string. Carlos: Me saco el sombrero, mil gracias con solo agregar System.Text.ASCIIEncoding.ASCII, andubo, otra pregunta, que es eso de los using? te comento qu estoy usando VB y no C# fileReader = _ My.Computer.FileSystem.OpenTextFileReader(Me.archivoTxt.Text, System.Text.ASCIIEncoding.ASCII) Dim PrimeraLinea As String Dim strLine As String Dim stringReader As New System.Text.StringBuilder Dim regNum As Integer PrimeraLinea = fileReader.ReadLine() no se si esto es lo mas apropiado que me recomienda master. mil gracias a todos y en esta oportunidad con enfasis en el Dr. Carlos Peix. Alejandro Nelis I'm protected by <http://www.spambrave.com/> SpamBrave __________ Información de NOD32, revisión 2287 (20070523) __________ Este mensaje ha sido analizado con NOD32 antivirus system http://www.nod32.com I'm protected by <http://www.spambrave.com/> SpamBrave