Archivo plano de texto

16/05/2005 - 23:33 por Lala | Informe spam
Chicos chicocos una inquietud

Como puedo hacer un archivo plano de texto con tamaños predefinidos de campo

En VB yo creaba registros de tamaño predefinido asi
dim campo_1 as string * 6
dim campo_2 as string * 4

campo_1 = "001221"
campo_2 = "0545"

Open strfile For Output As #1
Print #1, campo_1 + campo_2

Como puedo hacer lo mismo en VB. NET

Desde ya muchas gracias

Preguntas similare

Leer las respuestas

#1 Jorge Serrano [MVP VB]
18/05/2005 - 13:19 | Informe spam
Hola Lala,

en VB para la plataforma .NET, no existe la declaración de cadenas de texto
con un tamaño fijo.
La propiedad Length permite conocer el tamaño de una cadena, y la función
Remove eliminar un trozo de cadena y truncarla.

Un ejemplo sería:

Dim strA As String
strA = "Ejemplo1"
MessageBox.Show(strA.Remove(4, strA.Length - 4))

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Weblog de Jorge Serrano
http://weblogs.golemproject.com/jorge/


"Lala" wrote:

Chicos chicocos una inquietud

Como puedo hacer un archivo plano de texto con tamaños predefinidos de campo

En VB yo creaba registros de tamaño predefinido asi
dim campo_1 as string * 6
dim campo_2 as string * 4

campo_1 = "001221"
campo_2 = "0545"

Open strfile For Output As #1
Print #1, campo_1 + campo_2

Como puedo hacer lo mismo en VB. NET

Desde ya muchas gracias



Respuesta Responder a este mensaje
#2 Tristan
18/05/2005 - 15:33 | Informe spam
Utiliza el atributo VBFixedString y los métodos FilePut/FileGet:

Structure Registro
<VBFixedString(6)> Public campo1 As String
<VBFixedString(4)> Public campo2 As String
End Structure

FileOpen(1, "c:\fijo.txt", OpenMode.Random)
Dim reg As Registro
reg.campo1 = "001221"
reg.campo2 = "0545"
FilePut(1, reg)
FileClose(1)

Aunque en realidad en el ejemplo que has expuesto no son necesarios campos
de longitud fija. Si cada campo contiene un string con la longitud precisa y
los escribes en el archivo concatenando los campos, tal y como lo haces en
tu ejemplo, no es necesario utilizar VBFixedString.

Juan Carlos Badiola Saiz
MVP - C#
Respuesta Responder a este mensaje
#3 Jorge Serrano [MVP VB]
19/05/2005 - 00:26 | Informe spam
Nota: lo que te comenta Tristán es sólo válido para la declaración de
variables dentro de una estructura, pero para la declaración de variables
dentro de un evento, método, etc., VB no posee una declaración directa de una
variable String con un tamaño fijo. Lo deberías simular.

De todos los modos, lo lógico sería utilizar en este caso una estructura
como te indica Tristán, o simular la acción como te indicaba yo.

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Weblog de Jorge Serrano
http://weblogs.golemproject.com/jorge/


"Lala" wrote:

Chicos chicocos una inquietud

Como puedo hacer un archivo plano de texto con tamaños predefinidos de campo

En VB yo creaba registros de tamaño predefinido asi
dim campo_1 as string * 6
dim campo_2 as string * 4

campo_1 = "001221"
campo_2 = "0545"

Open strfile For Output As #1
Print #1, campo_1 + campo_2

Como puedo hacer lo mismo en VB. NET

Desde ya muchas gracias



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida