[Nuevo] Utiles

Librerías finalizadas programadas por usuarios entusiastas

[Nuevo] Utiles

Notapor PowerDeath » Dom Ago 03, 2014 7:47 am

Agregadas nuevas funciones muy buenas jajaj
  • Incrementar ' Incrementa una variable por el valor establecido.
  • Decrementar ' Decrementa una variable por el valor establecido.
  • [Actualizado] Mensaje
  • TiempoSeg ' Muestra el tiempo del sistema en segundos.
  • TiempoHora ' Muestra el tiempo del sistema en horas.
  • TiempoInicio ' Comienza el contador.
  • TiempoFinSeg ' Muestra el tiempo transcurrido desde la inicialización de la función "TiempoInicio" en Seg.
  • TiempoFinHora ' Muestra el tiempo transcurrido desde la inicialización de la función "TiempoInicio" en Horas
  • TiempoFin ' Muestra el tiempo transcurrido desde la inicialización de la función "Tiempo" en Milisegundos.
  • PausarSeg ' Pausa el programa por segundos.
  • MostrarMatriz [Familia] ' Muestra el contenido de la matriz establecida.
  • Semilla ' Obtiene los últimos 3 dígitos del tiempo transcurrido en el sistema.
Código: Seleccionar todo
Importar "Cadena.prp"
Importar "Declare.prp"

$EBC-
$ADV-

Privado:

Const DivVal=1000000000
Var Time:Entero

Público:

'Decrementa el valor de una variable.
Proc Decrementar(Referencia i_Valor:Entero,Opcional i_b_Valor:Entero = 1)
   i_Valor = i_Valor - i_b_Valor
FinProc

'Incrementa el valor de una variable.
Proc Incrementar(Referencia i_Valor:Entero,Opcional i_b_Valor:Entero = 1)
   i_Valor = i_Valor + i_b_Valor
FinProc


Proc RGB(Rojo,Verde,Azul:Byte):Entero
  Resultado=Rojo + (Verde shl 8) + (Azul shl 16)
FinProc


Proc ObtenerRGB(Color:Entero, Referencia R,V,A:Byte)
  Si (Color>&FFFFFF) GenerarError errParamInv
  R=Color And &FF
  V=(Color shr 8) And &FF
  A=(Color shr 16) And &FF
FinProc


Proc Mensaje(Texto:Cadena,Opcional Titulo:Cadena="Pauscal",Opcional Tipo:Entero,Opcional hWnd:Entero):Entero
  Si (hWnd=0) hWnd=GetActiveWindow()
  Texto = Reemplazar(Texto,Null,"")
  Texto = Texto + Null
  Devolver MessageBox(hWnd,Texto,Titulo,Tipo)
FinProc


Proc Trunc(Num:Real):Entero
  Resultado=RealEnt(Num)
  Si (EntReal(Resultado)>Num) Resultado=Resultado-1
FinProc


Proc TruncReal(Num:Real):Real
  Resultado=EntReal(Trunc(Num))
FinProc


Proc Rnd():Real
  Var Num:EnteroSig

  Num=Aleatorio
  Mientras (Num<=0) Or (Num>999900000)
    Num=Num+Aleatorio\10
  FinMientras
  Devolver EntReal(Num)/DivVal
FinProc


Proc NúmeroAlAzar(Min,Max:Entero):Entero
  Var Lim:Real

  Si (Min>Max) GenerarError errParamInv
  Lim=EntReal(Max-Min+1)
  Repetir
    Resultado=RealEnt(Rnd()*Lim)+Min
  HastaQue (Resultado>Min) y (Resultado<Max)
FinProc


Proc HiWord(Valor:Entero):Word
  Resultado=(Valor shr 16) And &FFFF
FinProc


Proc LoWord(Valor:Entero):Word
  Resultado=Valor
FinProc


Proc Val(Str:Cadena):Real
  AdmErr
    Resultado=CadReal(Str)
  Controlar
  FinAdmErr
FinProc

Proc Tiempo:Entero
  Resultado=GetTickCount()
FinProc

Proc TiempoSeg:Entero
  Resultado=GetTickCount() \ 1000
FinProc

Proc TiempoHora:Entero
  Resultado=(GetTickCount() \ 1000) \ 60
FinProc

'Inicia el contador de tiempo.
Proc TiempoInicio:Entero
  Time=GetTickCount()
FinProc

'Obtiene el tiempo transcurrido desde el inicio del contador.
'En Milesimas
Proc TiempoFin:Entero
  Resultado = (GetTickCount - Time)
FinProc

'Obtiene el tiempo transcurrido desde el inicio del contador.
'En Segundos
Proc TiempoFinSeg:Entero
  Resultado = (GetTickCount - Time) \ 1000
FinProc

'Obtiene el tiempo transcurrido desde el inicio del contador.
'En Horas
Proc TiempoFinHora:Entero
  Resultado = ((GetTickCount - Time) \ 1000) \ 60
FinProc

Proc Semilla(Opcional Longi:Entero = 3):Entero
Var h_Time,h_Left,h_LeftB:Cadena,i:Entero
h_Time = EntCad(Tiempo)
h_Left = DerechaCad(h_Time,Longi)
Resultado = CadEnt(h_Left)
FinProc


Proc Pausar(Milisegundos:Entero)
  Sleep(Milisegundos)
FinProc

Proc PausarSeg(Seg:Entero)
  Sleep(1000 * Seg)
FinProc

Proc MostrarMatrizEnt(Matriz[]:Entero)
Var Contenido:Cadena,i:Entero
Contar i = 0 a Límite(Matriz)
Contenido = Contenido + "Matriz[" + EntCad(i) + "] = {" + EntCad(Matriz[i]) + "}" + CrLf
Seguir
Mensaje(Contenido,"Mostrar Matriz",PscInformación)
FinProc

Proc MostrarMatrizEntSig(Matriz[]:EnteroSig)
Var Contenido:Cadena,i:Entero
Contar i = 0 a Límite(Matriz)
Contenido = Contenido + "Matriz[" + EntCad(i) + "] = {" + EntCad(Matriz[i]) + "}" + CrLf
Seguir
Mensaje(Contenido,"Mostrar Matriz",PscInformación)
FinProc

Proc MostrarMatrizCad(Matriz[]:Cadena)
Var Contenido:Cadena,i:Entero
Contar i = 0 a Límite(Matriz)
Contenido = Contenido + "Matriz[" + EntCad(i) + "] = {" + Matriz[i] + "}" + CrLf
Seguir
Mensaje(Contenido,"Mostrar Matriz",PscInformación)
FinProc

Proc MostrarMatrizReal(Matriz[]:Real)
Var Contenido:Cadena,i:Entero
Contar i = 0 a Límite(Matriz)
Contenido = Contenido + "Matriz[" + EntCad(i) + "] = {" + RealCad(Matriz[i]) + "}" + CrLf
Seguir
Mensaje(Contenido,"Mostrar Matriz",PscInformación)
FinProc
'Algoritmo de ordenamiento GuerraSort


Proc OrdenarEnteros(Referencia Matriz[]:Entero)
  Var i,Max,Temp:Entero

  Max=Límite(Matriz)
  Mientras i<Max
    Si Matriz[i+1]>Matriz[i]
      Temp=Matriz[i]
      Matriz[i]=Matriz[i+1]
      Matriz[i+1]=Temp
      Si (i) i=i-1
    SiNo
      i=i+1
    FinSi
  FinMientras
FinProc

Proc OrdenarReales(Referencia Matriz[]:Real)
  Var i,Max:Entero
  Var Temp:Real

  Max=Límite(Matriz)
  Mientras i<Max
    Si Matriz[i+1]>Matriz[i]
      Temp=Matriz[i]
      Matriz[i]=Matriz[i+1]
      Matriz[i+1]=Temp
      Si (i) i=i-1
    SiNo
      i=i+1
    FinSi
  FinMientras
FinProc


¡Saludos!
Imagen
PowerDeath
 
Mensajes: 160
Registrado: Sab Ago 11, 2012 5:29 am

Sponsor


Volver a Librerias

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron