Archive for the 'ASP.Net 1.x' Category

Inicio la mudanza.

Mientras busco un buen servicio de hosting y un lindo nombre de dominio, estoy diseñando mi propio Blog/Sitio o lo quesea. La idea es basar todo en .Net y XML o SQL Server. Probablemente use primero el dasBlog que está basado en .Net 1.1 y de a poco vaya haciendo mi propio sistema de blog en ASP.Net 2.0.

Por eso es probable que hasta que inaugure mi nuevo “sitio” escrba sólo ocacionalmente aquí.

De todas formas por el tráfico que tengo no creo que me extrañen mucho 🙂

Saludos

Manejo de Cadenas en VB.Net: 1ra. parte.

Los Creadores del BASICUno de los puntos fuertes de VB.Net, que en realidad es uno de los puntos fuertes de todas las versiones de BASIC desde la primera creada en 1963 en el Dartmouth College, es el manejo de strings. La cantidad de funciones de VB.Net para su manipulación es enorme. Es cierto que al compartir el framework C# y otros lenguajes basados en .Net tienen métodos similares. Pero muchos que pueden llegar a ser completamente nuevos para un programador que viene de C o C++, son viejos conocidos de los programadores que venimos de VB o anteriores.

He aquí la primera parte de un pequeño resumen de las principales funciones y métodos de manipulación de strings en VB.Net.

Declarar e inicializar un string

Hay dos formas de hacerlo:

Dim s As String
s = "Esta es una cadena de caracteres" 

o bien:

Dim s As String = "Esta es una cadena de caracteres" 

Concatenar strings

En VB.Net, a combinar dos strings se le llama concatenar. Se pueden usar los símbolos & o +.

Dim s1 As String = "VB"
Dim s2 As String = ".Net"
Dim s3 As String = s1 & s2 

Esto produce como resultado en s3 “VB.Net”.

Convertir Strings

Para convertir un valor numérico a una cadena tenemos el método ToString:

Dim i As Integer = 37
Dim s As String = i.ToString()

Además cuando un valor numérico es usado en una concatenación, VB.Net lo convierte automáticamente:

Dim s As String = "El valor de i es " & i

Otras funciones útiles

Entra las funciones más útiles, que sobreviven de las primeras versiones de BASIC, tenemos:

Len(s) : Devuelve la longuitud de un string.
Mid(s,j,i) : Devuelve un substring de s de i caracteres a partir de la posición j inclusive. Tambien se puede usar para reemplazar una posición determinada en uns string haciendo Mid(s,3,1) = “*”. Esta sentencia pone un * en la posición 3 del string.
Replace(s,”*”,”#”) : Reemplaza en todo el string los * por #.
Instr(s,s2) : Busca la primer ocurrencia de s2 dentro de s y devuelve un entero con su posición. Opcionalmente se puede usar Instr(i,s,s2) donde i es un entero que indica a partir de que posición dentro del string se empieza la búsqueda. Si no encuentra nada devuelve 0.

En la segunda parte veremos el poderoso método Format de la clase String para formatear strings, valores numéricos y fechas.

Saludos. 8)

El Path de la aplicación en ASP.Net

Aquellos que venimos tirando del carro desde VB 6.0 o antes, en algún momemto extrañamos la propiedad Path del objeto App. Para los nostálgicos, aquí va una función que puede reemplazara a App.Path:

 
Function App_Path() As String     
  Return System.Appdomain.Currentdomain.Basedirectory     
End Function

Podemos usarla fácilmente, por ejemplo, para abrir un archivo de texto en nuestra aplicación:

stLector = filArchivo.OpenText(App_Path & "miapp/archivo.txt") 
While stLector.Peek  -1 
    strLine = stLector.ReadLine() 
End While

Saludos.

Archivos en VB.Net

Aunque nos resistimos a reconocerlo, jamás vamos a deshacernos de ellos. De una forma u otra casi siempre necesitamos usar un archivo de texto en nuestras aplicaciones.

En ASP.Net para leer y escribir archivos de texto plano debemos incluir el espacio de nombres System.IO y utilizaremos Streams y el objeto File.

En particular los métodos más útiles del objeto File son:

  • CreateText (<NombreArchivo>)

  • AppendText (<NombreArchivo>)

  • OpenText (<NombreArchivo>)

que se utilizan para crear un archivo, agregar datos al final y abrirlo para leerlo respectivamente.

Leer un archivo

Para leer un archivo debemos asociar un StreamReader al mismo usando el método OpenText() de la siguiente forma:

Dim Lector as StreamReader = File.OpenText(“C:\datos.txt”)

Una vez que tenemos nuestro StreamReader usaremos para leer el archivo los siguientes métodos:

  • ReadLine()

  • ReadToEnd()

Ambos métodos devuelven un tipo string. El método ReadLine() devuelve todos los caracteres hasta encontrar un fin de línea. ReadToEnd() devuelve un string conteniendo todo el archivo.

Una vez que terminamos con el archivo, hay que cerrarlo usando el método Close() del Stream.

Escribir un archivo

Los métodos CreateText() y AppendText() del objeto File devuelven un StreamWriter asociado al archivo que queremos escribir.

Los métodos para escribir en el archivo son:

  • Write (<string que queremos escribir>)

  • WriteLine (<string que queremos escribir>)

La diferencia entre ambos métodos es que WriteLine() inserta un fin de linea al final del string que estamos escribirendo en el archivo.

Aquí va un pequeño ejemplo para escribir y leer el contenido de un archivo de texto.

Archivo Default.aspx.vb

Option Explicit On
Imports System.IO

Partial Class _Default Inherits System.Web.UI.Page

  Protected Sub Button1_Click(ByVal sender As Object,  _ 
                    ByVal e As System.EventArgs) 
                    Handles Button1.Click
    ‘Abre un archivo para escritura.
    Dim objEscritor As StreamWriter objEscritor = _
                                  File.AppendText(“C:\salida.txt”)  
    ‘Escribe en el archivo el contenido del TextBox.
    objEscritor.Write(TextBox1.Text) 
  
    ‘Cierra el archivo.
    objEscritor.Close()
  End Sub

  Protected Sub Button2_Click(ByVal sender As Object, _ 
                          ByVal e As System.EventArgs) 
                          Handles Button2.Click
    ‘Abre el Archivo para lectura.
    Dim objLector As StreamReader objLector = _ 
                                    File.OpenText(“C:\salida.txt”)
    ‘Lee el contenido y lo vuelca al TextBox 
    TextBox1.Text = “”
    TextBox1.Text = objLector.ReadToEnd()
    ‘Cierra el archivo.
    objLector.Close()
  End Sub
End Class


Archivo Default.aspx.

<%@ Page Language=”VB” AutoEventWireup=”false”
     CodeFile=”Default.aspx.vb” Inherits=”_Default” %>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
   “
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”
http://www.w3.org/1999/xhtml”>
<head runat=”server”>
  <title>Escribir/Leer archivos</title>
</head>
<body>
  <form id=”form1″ runat=”server”> 
    <div>
      <asp:TextBox ID=”TextBox1″ runat=”server”
         BorderStyle=”Ridge” Height=”133px” 
         TextMode=”MultiLine” Width=”317px”>
      </asp:TextBox>
      <br /> <br />
      <asp:Button ID=”Button1″ runat=”server” 
               Height=”25px” Text=”Escribir”
               Width=”75px” /> 
      <asp:Button ID=”Button2″ runat=”server”
               Height=”25px” Text=”Leer”
               Width=”75px” />
    </div>
  </form>
</body>
</html>

En otra entrada usaremos otros métodos y Server.MapPath para controlar exactamente dónde guardamos el archivo o de dónde lo leemos.¡A tener en cuenta! Es posible que el ejemplo de un error de autorización al intentar escribir el archivo. Esto se debe a que la cuenta de usuario ASPNET debe tener los permisos apropiados sobre la carpeta donde queremos guardar nuestro archivo.

Saludos.

SharpDevelop (#develop): IDE Open Source para C#, VB.Net y Boo

Gracias al amigo Jorge Abreu (¡vayan a Diario de una vida frente a la PC ya!) me entro de la existencia de #develop, un IDE Open Source que podría reemplazar a Visual Studio 2005. Según la información en el sitio es un entorno de programación muy profesional (hasta suena mas comleto que Visual Studio ), y además la interface está traducida al español. Promete mucho. Apenas vuelva de mis más que merecidas vacaciones 🙂 🙂 , lo voy a probar para poder comentar sobre el mismo.

En cuanto a Turbo Delphi for .Net, por lo que pude ver sólo soporta .Net 1.1 y obviamente Delphi (Pascal). De nuevo, una investigación más profunda quedará para mi vuelta de las vacaciones, cuando mi media neurona este mas tranquila.

Saludos.

Más descargas para programar en .Net: entornos de desarrollo y bases de datos.

Además de los frameworks y los SDK, podemos bajar varios programas para desarrolar con tecnologías .Net.

.Net 1.1

Web Matrix: Entorno de desarrollo que incluye un servidor web local para probar los desarrollos por ejemplo para los que usan Windows XP Home que no permite instalar IIS. Una desventaja puede ser que el servidor local tiene ciertas limitaciones, por ejemplo en la implementación de esquemas de seguridad.

MSDE (MS Desktop Engine): Es una versión gratuita de SQL 2000 que no incluye el Administrador Corporativo, el Administrador de Consultas ni la documentación y los ejemplos. Todo debe hacerse con herramientas de terceros o con la utilidad de línea de comandos osql. En Snapfiles Freeware pueden encontrar algunos programas para reemplazar lo que le falta al MSDE.

.Net 2.0

Visual Web Developer 2005 Express (en Español): Un entorno de desarrollo gratuito mucho más completo y profesional que Web Matrix. También incluye un servidor web local aunque se puede usar el servidor web Cassini.

SQL Server 2005 Express (en Español): Es una versión gratuita pero muy completa y potente del SQL Server 2005. Además se puede descargar la documentación y los ejemplos.

Como ven es posible trabajar con lo último de la tecnología .Net con recursos totalmente gratuitos y de excelente calidad. 😉

Saludos

Descargas para empezar a programar con .Net

La última versión de .Net es la 3.0 (Framework RedistribuiblePaquete SDK en Inglés), pero aún no es del todo estable. Lo mejor para empezar es usar directamente el framework 2.0 o incluso el 1.1 si lo van a usar de forma local en una máquina no muy potente. En principio no hace falta ningún entorno de desarrollo o base de datos en particular. Se puede usar el block de notas o el PSPad – es el que yo uso 😀 – para escribir código y, si tienen Office, el Access para bases de datos o XML.

DESCARGAS

.Net Framework 2.0

.Net Framework 1.1