Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 25-08-2014
Valee Valee is offline
Miembro
NULL
 
Registrado: jul 2014
Posts: 19
Poder: 0
Valee Va por buen camino
Gracias Chicos! Al sorteo lo pude realizar.
Ahora tengo otra duda con el mismo trabajo. Resulta que el profesor nos hizo crear la cola mandandole el nombre del archivo, de la siguiente forma:
CrearCola(var Cola: TipoCola;Nombre: string);
De ser así, en cada proceso dentro de la librería, se tiene que poner el nombre¿? Porque ahora lo estoy necesitando y nose si se puede, o como hacerlo.. Como hago para entrar al GrupoA, o al GrupoD¿? ahí les mando la librera:

Código Delphi [-]
unit LibCola;

interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls;

Const
  _Ruta = ' ';
  _PosNula= -1;
  _Nulo= 0;
  _Ultimo= 8;

Type
  TipoPosicion= longint;
  TipoClave= string[3];
  Cadena= string[20];
  TipoCantidad= longint;
  TipoRegColaD= record
                  LocalClave: TipoClave;
                  EquipoLocal: Cadena;
                  GolesLocal: TipoCantidad;
                  VisitanteClave: TipoClave;
                  EquipoVisitante: Cadena;
                  GolesVisitante: TipoCantidad;
                  PuntosLocal: TipoCantidad;
                  PuntosVisitante: TipoCantidad;
                  Jugado: boolean;
                  Enlace: TipoPosicion;
                end;
  TipoArchivoColaD= file of TipoRegColaD;

  TipoRegColaC = Record
                     Primero:TipoPosicion;
                     Ultimo:TipoPosicion;
                     Borrados:TipoPosicion;
                     Cantidad: TipoCantidad;
                     Editable: boolean;
                   end;
  TipoArchivoColaC = File of TipoRegColaC;

  TipoCola= record
              D: TipoArchivoColaD;
              C: TipoArchivoColaC;
            end;

Procedure CrearCola ( var Cola: TipoCola; Dato:string; Control:string);
Procedure AbrirCola (var Cola:TipoCola);
Procedure CerrarCola (var cola:TipoCola);
Procedure Encolar (var Cola: TipoCola; Reg: TipoRegColaD);
Procedure Decolar (var Cola:TipoCola);
Procedure Frente (var Cola:TipoCola; var Reg: TipoRegColaD);
Function ColaVacia (var Cola:TipoCola): boolean;
Function Ultimo (var Cola: TipoCola): TipoPosicion;

implementation

Procedure CrearCola ( var Cola: TipoCola; Dato:string; Control:string);
var
  i:TipoPosicion;
  RC: TipoRegColaC;
begin
for i:=1 to _Ultimo do
  begin
    case i of
      1: begin
          assign (Cola.D, _Ruta+Dato);
          reset (Cola.D);
          if (IORESULT <> 0)
          then
            rewrite (Cola.D);
          assign (Cola.C, _Ruta+Control);
          reset (Cola.C);
          if (IORESULT <> 0)
          then
            begin
              rewrite (Cola.C);
              RC.Primero:= _PosNula;
              RC.Ultimo:= _PosNula;
              RC.Cantidad:= _Nulo;
              RC.Borrados:= _PosNula;
              RC.Editable:= true;
            end;
         end;
      2: begin
          assign (Cola.D, _Ruta+Dato);
          reset (Cola.D);
          if (IORESULT <> 0)
          then
            rewrite (Cola.D);
          assign (Cola.C, _Ruta+Control);
          reset (Cola.C);
          if (IORESULT <> 0)
          then
            begin
              rewrite (Cola.C);
              RC.Primero:= _PosNula;
              RC.Ultimo:= _PosNula;
              RC.Cantidad:= _Nulo;
              RC.Borrados:= _PosNula;
              RC.Editable:= true;
            end;
         end;
      3: begin
          assign (Cola.D, _Ruta+Dato);
          reset (Cola.D);
          if (IORESULT <> 0)
          then
            rewrite (Cola.D);
          assign (Cola.C, _Ruta+Control);
          reset (Cola.C);
          if (IORESULT <> 0)
          then
            begin
              rewrite (Cola.C);
              RC.Primero:= _PosNula;
              RC.Ultimo:= _PosNula;
              RC.Cantidad:= _Nulo;
              RC.Borrados:= _PosNula;
              RC.Editable:= true;
            end;
         end;
      4: begin
          assign (Cola.D, _Ruta+Dato);
          reset (Cola.D);
          if (IORESULT <> 0)
          then
            rewrite (Cola.D);
          assign (Cola.C, _Ruta+Control);
          reset (Cola.C);
          if (IORESULT <> 0)
          then
            begin
              rewrite (Cola.C);
              RC.Primero:= _PosNula;
              RC.Ultimo:= _PosNula;
              RC.Cantidad:= _Nulo;
              RC.Borrados:= _PosNula;
              RC.Editable:= true;
            end;
         end;
      5: begin
          assign (Cola.D, _Ruta+Dato);
          reset (Cola.D);
          if (IORESULT <> 0)
          then
            rewrite (Cola.D);
          assign (Cola.C, _Ruta+Control);
          reset (Cola.C);
          if (IORESULT <> 0)
          then
            begin
              rewrite (Cola.C);
              RC.Primero:= _PosNula;
              RC.Ultimo:= _PosNula;
              RC.Cantidad:= _Nulo;
              RC.Borrados:= _PosNula;
              RC.Editable:= true;
            end;
         end;
      6:begin
          assign (Cola.D, _Ruta+Dato);
          reset (Cola.D);
          if (IORESULT <> 0)
          then
            rewrite (Cola.D);
          assign (Cola.C, _Ruta+Control);
          reset (Cola.C);
          if (IORESULT <> 0)
          then
            begin
              rewrite (Cola.C);
              RC.Primero:= _PosNula;
              RC.Ultimo:= _PosNula;
              RC.Cantidad:= _Nulo;
              RC.Borrados:= _PosNula;
              RC.Editable:= true;
            end;
         end;
      7: begin
          assign (Cola.D, _Ruta+Dato);
          reset (Cola.D);
          if (IORESULT <> 0)
          then
            rewrite (Cola.D);
          assign (Cola.C, _Ruta+Control);
          reset (Cola.C);
          if (IORESULT <> 0)
          then
            begin
              rewrite (Cola.C);
              RC.Primero:= _PosNula;
              RC.Ultimo:= _PosNula;
              RC.Cantidad:= _Nulo;
              RC.Borrados:= _PosNula;
              RC.Editable:= true;
            end;
         end;
      8: begin
          assign (Cola.D, _Ruta+Dato);
          reset (Cola.D);
          if (IORESULT <> 0)
          then
            rewrite (Cola.D);
          assign (Cola.C, _Ruta+Control);
          reset (Cola.C);
          if (IORESULT <> 0)
          then
            begin
              rewrite (Cola.C);
              RC.Primero:= _PosNula;
              RC.Ultimo:= _PosNula;
              RC.Cantidad:= _Nulo;
              RC.Borrados:= _PosNula;
              RC.Editable:= true;
            end;
         end;
    end;
  end;
  close (Cola.D);
  close (Cola.C);
end;

Procedure AbrirCola (var Cola:TipoCola);
begin
  reset (Cola.D);
  reset (Cola.C);
end;

Procedure CerrarCola (var cola:TipoCola);
begin
  close (Cola.D);
  close (Cola.C);
end;

Procedure Encolar (var Cola: TipoCola; Reg: TipoRegColaD);
var
  RC: TipoRegColaC;
  RD: TipoRegColaD;
  PosNueva: TipoPosicion;
  RAux: TipoRegColaD;
begin
  seek (Cola.C, _Nulo);
  read (Cola.C, RC);
  if RC.Borrados<>_PosNula //Recupero celula entre los borrados
  then
    begin
      PosNueva:= RC.Borrados;
      seek (Cola.D, PosNueva);
      read (Cola.D, RD);
      RC.Borrados:= RD.Enlace;
    end
  else
    begin
      PosNueva:= filesize (Cola.D);
      if RC.Primero= _PosNula //Inserto en cola nueva o al final
      then
        begin
          RC.Primero:= PosNueva;
          RC.Ultimo:= PosNueva;
          Reg.Enlace:= _PosNula;
        end
      else
        begin
          seek (Cola.D, RC.Ultimo);
          read (Cola.D, RAux);
          RAux.Enlace:= PosNueva;
          seek (Cola.D, RC.Ultimo);
          write (Cola.D, RAux);
          RC.Ultimo:= PosNueva;
          Reg.Enlace:= _PosNula;
        end;
    end;
  RC.Cantidad:= RC.Cantidad+1;
  seek (Cola.C, _Nulo);
  write (Cola.C, RC);
  seek (Cola.D, PosNueva);
  write (Cola.D, Reg);
end;

Procedure Decolar (var Cola:TipoCola);
var
  RC: TipoRegColaC;
  RD: TipoRegColaD;
  PosBorrado: TipoPosicion;
begin
  seek (Cola.C, _Nulo);
  read (Cola.C, RC);
  if RC.Primero= RC.Ultimo //Elimino y paso a cola vacia
  then
    begin
      PosBorrado:= RC.Primero;
      seek (Cola.D, RC.Primero);
      read (Cola.D, RD);
      RD.Enlace:= RC.Borrados;
      RC.Borrados:= RC.Primero;
      RC.Primero:= _PosNula;
      RC.Ultimo:= _PosNula;
    end
  else
    begin
      PosBorrado:= RC.Primero;
      seek (Cola.D, PosBorrado);
      read (Cola.D, RD);
      RC.Primero:= RD.Enlace;
      RD.Enlace:= RC.Borrados;
      RC.Borrados:= PosBorrado;
    end;
  RC.Cantidad:= RC.Cantidad-1;
  seek (Cola.C, _Nulo);
  write (Cola.C, RC);
  seek ( Cola.D, PosBorrado);
  write (Cola.D, RD);
end;

Procedure Frente (var Cola:TipoCola; var Reg: TipoRegColaD);
var
  RC: TipoRegColaC;
begin
  seek (Cola.C, _Nulo);
  read (Cola.C, RC);
  seek (Cola.D, RC.Primero);
  read (Cola.D, Reg);
end;

Function ColaVacia (var Cola:TipoCola):boolean;
var
  RC: TipoRegColaC;
begin
  seek (Cola.C, _Nulo);
  read (Cola.C, RC);
  if RC.Primero=_PosNula
  then
    ColaVacia:= true
  else
    ColaVacia:= false;
end;

Function Ultimo (var Cola: TipoCola): TipoPosicion;
var
 RC: TipoRegColaC;
begin
  seek (Cola.C,_Nulo);
  read (Cola.C, RC);
  Ultimo:= RC.Ultimo;
end;

end.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Sorteo RAD Studio 2007 Emilio Noticias 170 05-03-2008 22:28:13
Ganador Sorteo RAD Studio 2007 Emilio Noticias 37 18-02-2008 20:37:47


La franja horaria es GMT +2. Ahora son las 03:27:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi