Por
Saiyine
el 0000-00-00 00:00:00 - Secciones: DELPHI - Enlace permanente: 488
function LeadingZero(n : string;zeroes : byte) : string;
begin
while length(n)<zeroes do n:='0'+n;
LeadingZero:=n;
end;
function damefecha : string;
var
meses : string;
Present: TDateTime;
Year, Month, Day : Word;
const Dias : array [1..7] of string = (
'domingo','lunes',
'martes','miercoles',
'jueves','viernes','sabado');
begin
meses:='ENEFEBMARABRMAYJUNJULAGOSEPOCTNOVDIC';
Present:= Now;
DecodeDate(Present, Year, Month, Day);
result:=Dias[DayOfWeek(Present)]+','+LeadingZero(inttostr(Day),2)+'/'+
meses[(month-1)*3+1]+
meses[(month-1)*3+2]+
meses[(month-1)*3+3]+'/'
+LeadingZero(inttostr(Year),4);
end;
La funcion LeadingZero es un clasico rescatado de la ayuda del turbo pascal, dado un numero devuelve una cadena con el numero
formateado con 0. Es decir si tenemos el numero 256 y queremos mostrarlo con 6 numeros, LeadingZero(256,6) nos dara la cadena
'000256'.
Otras entradas de la web que podrian interesarte:

3646
and20 (2009-08-18 06:53:10)
hola que tal,necesito de urgencia un pequeño programita en pascal que dada una en formato ddmmaa. verificar si es correcta. Si lo es, informarla segun "dd de Mmmm de aaaa". Si no lo es, informar un mensaje de error. les agradezco si me pueden ayudar en esto y enviarme la respuesta (programa) a mi correo... Gracias!

3746

3882
KarenzithaGlez (2009-10-21 08:13:17)
hahahaha.. Ponganse a estudiar.. esta bien facil esO .. pff

4282
Emily (2010-03-10 15:28:00)
Hola, necesito un favor enorme con un programa en Pascal, es el seguiente:
Realice un programa el cual tiene que leer la fecha en Formato DD MM AA y devolver la fecha del dia sigueinte. Mil gracias.
emily00119@gmail.com

4283
Saiyine (2010-03-10 15:41:27)
Fácilisimo, simplemente haz dos tablas, una para los años normales y otra para los bisiestos, añadele uno al dia y corrige si es un cambio de mes o año.
Recuerda que los bisiestos son todos los años divisibles por cuatro, menos los divisibles por 100, mas los divisibles por 400.

4284
Emily (2010-03-10 16:12:48)
Simplemente introducir la fecha y sumar 1 al dia y estar pila con los terminos e inicios de mes, o algo asi, porque solo me piden dar como salida la fecha del dia siguiente, tendria que trabajarlo como un calendario..?

4285
Saiyine (2010-03-10 16:22:43)
Claro, tu tienes una tabla con los dias que dura cada mes:
31,28,31,30,31,30,31,31,30,31,30,31
Si te dan el 31 del 1, le sumas 1 y obtienes el 32 de enero. Miras en la tabla y ves que el maximo para el mes 1 es 31, por lo que pones el dia a 1, y aumentas el mes: el dia siguiente al 31 de enero es el 1 de febrero.

4286
Saiyine (2010-03-10 16:25:52)
En pseudo-codigo:
obtener(dia);
obtener(mes);
obtener(año);
dia=dia+1;
si dia>tabla[mes] entonces
dia=1;
mes=mes+1;
fin si;
si mes>12 entonces
mes=1;
año=año+1;
fin si;
imprimir(dia,mes,año);
Esta es la version sin años bisiestos, claro.

4287
Emily (2010-03-10 16:26:42)
Gracias, muy amable y paciente

4288
Orlando (2010-03-10 16:48:42)
Hey ps yo tambien necesito ayuda

necesito un pseudocodigo en pascal que calcule la siguiente serie.
S:= (1 / 1^2) + (2 / 2^3) + (3 / 3^4 ) ........ ( n / n ^ n )
es una estructura repetitiva... peeeeero ni idea de como empezar hacerle. Espero pronta respuesta gracias

4289
Saiyine (2010-03-10 16:55:23)
Supongo que tienes la serie mal y que en realidad termina con (n / n ^ (n +1)).
Define S como un numero real;
FUNCTION Potencia(x,n:Real):Real;
BEGIN
Potencia := Exp(n *Ln(x))
END;
for i:=1 to i:=n do
S := S + (i / Potencia(i,i+1));
Lo de la funcion Potencia ya se que es algo raro, pero no recuerdo ahora mismo si habia algo en Pascal para calcular potencias.

4290
Orlando (2010-03-10 17:02:06)
Oye pues sí, sí termina como dices :)
pero bueno, mil gracias

me sirvió de mucho!

4291
Miguel (2010-03-10 17:05:19)
Hey, por lo que veo Saiyine sabe, vamos a ver bro. Es muy facil pero el programa no me corre por un error del sistema, ¿Me podrías ayudar? Necesito un pseudocodigo donde se multipliquen dos números enteros diferentes de cero sin utilizar el operador de multiplicación. Gracias.

4292
Saiyine (2010-03-10 17:19:53)
Lo mas sencillo:
a1 el primer numero
a2 el segundo
a3 el resultado, empieza a cero
for i:=1 to a2 do
a3 = a3 + a1;
Sumamos a1, a2 veces, que es igual que multiplicar a1*a2.
¡A ti te ha mandado el profesor el más facil!

4293
Miguel (2010-03-10 17:24:12)
Bueno sí, pero no he podido comprobar el que hice, porque el freepascal luego que le asigno un nombre al programa, uso "usescrt;" pero al final cuando lo compilo me muestra que se esperaba un BEGIN pero se encontró con un UsesCrt entonces :/ eso no me ha dejado comprobar mi corrida en frio del pseudocodigo.
Pero gracias, jeje lo sé estaba facil!

4294
Saiyine (2010-03-10 17:37:34)
Se te ha olvidado separarlo, es "uses crt;" con un espacio.
Con eso le dices que use la libreria crt, que si no recuerdo mal, es la que permite leer y escribir en pantalla.

4620
