Demuestra el uso de la libreria DiscID

Demuestra el uso de la libreria DiscID

¿Has encontrado un error? ¿Tienes la solución? Deja tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por estudiante con únicamente conocimiento básico del lenguaje, no de programación.

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
 }

10 comentarios en "Demuestra el uso de la libreria DiscID"

Carpe Diem

perdon el codigo no tiene nada que ver con ID ademas no se pq se incompleto en muchas partes...

Carpe Diem

[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]

Punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:

  • Si es lenguaje C <code lang="c">Código en C</code>
  • Si es lenguaje Pascal <code lang="pascal">Aquí dentro el código de Pascal</code>.

De esta manera el código coloreas el código.

Deja un comentario

Suscribirse a los comentarios.