Alinear texto??

Para cualquier tema relacionado con la asignatura de Programación en cualquier titulación.

Alinear texto??

Notapor MarTin06 » Dom, 01 Feb 2009 17:10

hola!! teño unha duda q qeria aer se se podia resolver.... resulta que o facer os listados emprego esta orde:
Código: Seleccionar todo
writeLn(alumno[i].apellido:20,',  ',alumno[i].nombre:20,', 'alumno[i].login:20);


e o resultado é x ejemplo este:

a, a, a,
adsl, adsl, adsl,
modem, modem, modem,
opt, opt, opt,

ai algunha maneira de q o efecto sexa o contrario?? é dicir, algo asi:

a a
adsl adsl
modem modem
opt opt

bue, o efecto o subir a mensaxe nn se ve... pero espero q algen me poda axudar
MarTin06
Griswold
 
Mensajes: 189
Registrado: Jue, 25 Dic 2008 19:10

Re: Alinear texto??

Notapor Fer » Dom, 01 Feb 2009 17:11

Si escribes "20-length(string)" espacios, siempre te quedará alineado, según el string que tengas de cada vez.
Campaña de donación de apuntes:

¡Súbelos a la sección de apuntes o deja los tuyos en el local de alumnos!
Avatar de Usuario
Fer
QG Admin
Corresponsal de guerra
 
Mensajes: 26112
Registrado: Vie, 22 Sep 2006 14:18
Ubicación: A Coruña

Re: Alinear texto??

Notapor MarTin06 » Dom, 01 Feb 2009 17:26

FeR escribió:Si escribes "20-length(string)" espacios, siempre te quedará alineado, según el string que tengas de cada vez.


ui, creo q nn entendo o q me qers dicir...
MarTin06
Griswold
 
Mensajes: 189
Registrado: Jue, 25 Dic 2008 19:10

Re: Alinear texto??

Notapor Shadark » Dom, 01 Feb 2009 17:45

[echarmeflores]Mira, te lo explico yo, que acabo de leer esto por casualidad y ya lo he puesto en práctica, con gran acierto [/echarmeflores]

Se refiere a que cambies el valor de login:20 (ese 20, la distancia que quieres) por una distancia variable que dependerá de la longitud de la cadena que tengas con anterioridad. En mi caso, lo he empleado así:

Código: Seleccionar todo
Login:(29-length(Apellido1+Apellido2+Nombre)))


Fui tanteando distintos valores, quito la longitud de los apellidos y el nombre juntos hasta que me cuadre. Es decir, a apellidos más largos, menos distancia. A apellidos más cortos, más distancia.

Ejemplo:
(Distancia grande, nombres cortos)
Código: Seleccionar todo
Ruiz Díaz, Luis              inflrd00
Gallardón Pérez, Rodrigo     infrgp00
(Poca distancia, nombres largos)


(no queda exactamente alineado pero espero que se entienda lo que quiero decir)

Saludos.
Avatar de Usuario
Shadark
Nihlathak
Cosas.
 
Mensajes: 1813
Registrado: Jue, 23 Oct 2008 14:53
Ubicación: Shibuya/Shinjuku

Re: Alinear texto??

Notapor Fer » Dom, 01 Feb 2009 17:55

MarTin06 escribió:
FeR escribió:Si escribes "20-length(string)" espacios, siempre te quedará alineado, según el string que tengas de cada vez.


ui, creo q nn entendo o q me qers dicir...


Poniendo ese número de espacios, si el string mide uno, pondrá 19 espacios. En total, 20 caracteres. Si el string mide 11, pondrá 9 caracteres; en total siguen siendo 20 caracteres. Y así siempre con cualquier número.
Campaña de donación de apuntes:

¡Súbelos a la sección de apuntes o deja los tuyos en el local de alumnos!
Avatar de Usuario
Fer
QG Admin
Corresponsal de guerra
 
Mensajes: 26112
Registrado: Vie, 22 Sep 2006 14:18
Ubicación: A Coruña

Re: Alinear texto??

Notapor MarTin06 » Dom, 01 Feb 2009 17:58

FeR escribió:
MarTin06 escribió:
FeR escribió:Si escribes "20-length(string)" espacios, siempre te quedará alineado, según el string que tengas de cada vez.


ui, creo q nn entendo o q me qers dicir...


Poniendo ese número de espacios, si el string mide uno, pondrá 19 espacios. En total, 20 caracteres. Si el string mide 11, pondrá 9 caracteres; en total siguen siendo 20 caracteres. Y así siempre con cualquier número.



ahora o entendo!! o numero d espacios dependera da lonxitude do nome/apelido.. ok! moitas gracias
agora solo me qeda pelearme coa opcion d conservar a nota.. ejeje
MarTin06
Griswold
 
Mensajes: 189
Registrado: Jue, 25 Dic 2008 19:10

Re: Alinear texto??

Notapor MarTin06 » Dom, 01 Feb 2009 18:15

non sei se o estou facendo mal, pero creo q non

Código: Seleccionar todo
Login:(30-(length(alumno[i].nombre + alumno[i].apellido))


pero o efecto de alineacion é o mismo ca antes!!
MarTin06
Griswold
 
Mensajes: 189
Registrado: Jue, 25 Dic 2008 19:10

Re: Alinear texto??

Notapor Fer » Dom, 01 Feb 2009 18:21

MarTin06 escribió:non sei se o estou facendo mal, pero creo q non

Código: Seleccionar todo
Login:(30-(length(alumno[i].nombre + alumno[i].apellido))


pero o efecto de alineacion é o mismo ca antes!!



O que queres é alinealo á esquerda, ¿non? Porque che sae alineado á dereita. Pois en vez de usar eso dos "dous puntos" para poñer espacios, fai una función que che devolva un string de espacios por medio dun FOR.

writeln(Login, espacios(parámetros_a_mandar));

Algo así...
Campaña de donación de apuntes:

¡Súbelos a la sección de apuntes o deja los tuyos en el local de alumnos!
Avatar de Usuario
Fer
QG Admin
Corresponsal de guerra
 
Mensajes: 26112
Registrado: Vie, 22 Sep 2006 14:18
Ubicación: A Coruña


Volver a 1º [EI/ETIS/ETIX] Programación (Pro)

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados