1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 | {
$Id: getdiscid.pp,v 1.2 2005/02/14 17:13:20 peter Exp $
Copyright (c) 1999-2000 by Michael Van Canneyt
Demonstrates DiscID unit usage.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
program getdiscid;
uses cdrom,discid;
Var TheDiscID : cardinal;
Tracks, i : Integer;
Entries : Array[1..100] of TTocEntry;
Device : string;
begin
Case ParamCount of
0 : Device:='/dev/cdrom';
1 : Device:=Paramstr(1);
else Writeln('Usage: getdiscid [devicefile]');
halt(1);
end;
Tracks := ReadCDTOC(Device,Entries);
If Tracks<0 then Writeln('Error reading TOC of device ',device)
else
begin
Writeln('Disk has ',tracks,' tracks.');
TheDiscID := CDDBDiscID(Entries,Tracks); Writeln('Disc ID : ',lowercase(HexStr(theDiscID,8)));
Writeln('CDDB Query : ',GetCDDBQueryString(Entries,Tracks));
end;
end.
{
$Log: getdiscid.pp,v $
Revision 1.2 2005/02/14 17:13:20 peter
* truncate log
} |
Carpe Diem
0000-00-00 00:00:00
perdon el codigo no tiene nada que ver con ID ademas no se pq se incompleto en muchas partes...
Carpe Diem
0000-00-00 00:00:00
[pascal]
{*********PROGRAMA PARA CALCULAR LA EDAD EXACTA ***********}
{*********Por ---------> JLRVPUMA 12 03 1986 <---------- ');
writeln;
read (dn,mn,an);
writeln('Ahora escribe la fecha actual en el formato indicado arriba');
writeln;
read(da,ma,aa);
edias := da-dn;
eanios := aa-an;
emes := ma-mn;
mesadic :=emes+12; {esta varriable la utilizo para pasar a positivo a var
emes en caso de ser negativa,12 por los meses del
anio,por ejemplo si mn=10 y ma=02 entonces emes=-8
ya que emes=ma-mn,de octubre a febrero hay 4 meses,
exactos si los dias coiciden,de esta forma si le
sumo doce a emes el resultado es 4}
if (dn=da) and (mn=ma) then {si los meses y los dias coinciden entonces
es el cumpleanios del usuario}
begin
cad :='!!!!!!!!!!FELIZ ANIVERSARIO!!!!!!!!!!' ;
writeln ('*****************************************************');
writeln;
writeln (cad:5);
writeln;
writeln ('*****************************************************');
writeln;
writeln('Tu edad es de :',eanios:4,' ','anios');
{entonces la edad del usuario
usuario es la diferencia de aa-an}
writeln;
writeln(emes:4,' ','mes(es)');{emes guarda los meses de edad,en este caso
hay cero meses ya que como calculo los meses de edad con ma-mn,
entonces la diferencia en este caso es cero}
writeln;
writeln(edias:4,' ','dia(s)'); {pasa lo mismo con edias que guarda los
dias de edad}
writeln;
writeln
end;
if (emes<0) and (edias<0) then {aqui evaluo la edad en meses y en dias
y tambien en anios,asi : si emes<0 o negativo, eso quiere decir que
ma(el numero de mes actual) es menor que mn(numero de mes de nacim.)
ya que emes=ma-mn.Por lo tanto todavia no se ha llegado al mes de nacim.
para cumplir anios,entonces mi edad en anios va a ser eanios(aa-an) menos
uno,el resultado se almacena en eaniosf,como lo muestra la primera
formula}{Luego si edias<0 es decir negativo,significa que da(dia actual)
es menor que dn(dianacimiento) ya que edias=da-dn.Por lo tanto aun no
se ha llegado al dia de nacim.(dn) para cumplir un mes mas.Y puesto
que el resultado es negativo lo multiplico por -1 para volverlo positivo
y utilizar esta cantidad como se ve abajo.el producto se guarda en la
variable ediasf}
begin
eaniosf := eanios-1;
ediasf := edias*-1;
mesadicf:= mesadic-1; {como emes<0 no se ha cumplido el mes
entonces a mesadic se le resta 1}
writeln ('Tu edad es de : ',eaniosf,' ','anios');
writeln;
writeln (mesadicf:3,' ','mes(es)');
writeln;
writeln ('Te faltan : ',ediasf,' ','dia(s) para tener ',mesadic,' ','mes(es)');
writeln;
writeln
end;
if (emes0) then {si edias>0 entonces ya se ha cumplido el
mes,ya qe edias=da-dn,por ejemplo si
da=15 y dn=14 --->edias=1, es decir
se cumplio el mes el 14 y hay un dia adicional
pero no implica que aumenten los anios ya
que el mes debe ser >=0 y en este caso
emes0) and (edias0) and (edias>0) then
begin
writeln ('Tu edad es de : ',eanios,' ','anios');
writeln;
writeln (emes:3,' ','mes(es) y');
writeln;
writeln (edias:3,' ','dia(s)');
writeln;
writeln
end;
if (edias0) and (emes=0) then
begin
writeln ('Tu edad es de : ',eanios,' ','anios');
writeln;
writeln (emes:3,' ','mes(es) y');
writeln;
writeln (edias:3,' ','dia(s)');
writeln;
writeln
end;
if (edias=0) and (emes>0) then
begin
writeln ('Tu edad es de : ',eanios,' ','anios');
writeln;
writeln (emes:3,' ','mes(es) y');
writeln;
writeln (edias:3,' ','dia(s)');
writeln;
writeln
end;
writeln
end.
[/pascal]