- PC_Tools_1.10.png (6.39 KiB) Visualizado 2398 vezes
Moderador: Moderadores
Claudio Soto escreveu:Se acuerdan tambien de los discos de 5"1/4
25/06/1991 20:08 6.284 BAT2EXEC.COM - transforma BAT em EXE
02/10/2001 09:24 6.915 DR.COM - visualização rápida
07/05/1990 23:00 1.816 LOG.COM - registra log
30/06/1992 23:00 1.309 RECORDER.COM - registra log
07/05/1990 23:00 591 SWEEP.COM - recursividade nos diretórios
14/05/1985 17:58 20.316 DFLOW.EXE - fluxograma de PRGS
28/02/1994 07:00 114.775 FILEFIX.EXE - corrige dbf, lótus, etc
28/01/2000 09:25 234.822 GHOST.EXE - clonar hd (versão antes norton)
18/04/1995 06:55 93.399 LL3.EXE - laplink 3
12/02/1993 20:03 268.701 LL5.EXE - laplink 5
25/01/1988 13:27 102.403 PCTOOLS.EXE
01/12/1988 14:00 73.472 PE2.EXE - editor de texto ibm
23/11/1992 16:38 66.213 PRINTQ.EXE - spooler de impressão
29/08/1995 14:58 44.768 qedit.exe - editor de texto
02/04/1987 00:00 129.153 TB.EXE - Turbo Basic da Borland
Claudio Soto escreveu:Me acuerdo, que tiempos aquellos, tambien me acuerdo del XTree y del Norton Change Directory (NCD) por el cual podiamos navegar por el arbol de directorios del DOS. Uno de mis primeros programas en C alla por el 91/92 fue crear el CCD (Claudio Change Directory) una imitacion burda del NCD, voy a buscar el codigo en mis archivos, si lo encuentro lo posteo solo por el recuerdo.
// PROGRAMA: Claudio Change Directory
// VERSION: 1.0
// AUTOR: Claudio Soto
// FECHA: Abril 1992
// LENGUAJE: C
// COMPILADOR: Borland Turbo C/C++
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <dir.h>
#include <dos.h>
#include <ctype.h>
#include <string.h>
#include <time.h>
// #define DEBUG
#define DIR_ESCONDIDO 0x12
#define SUBDIRECTORIO FA_DIREC|DIR_ESCONDIDO
#define TOPE_DIR 300
#define FINAL i-1
#define FINAL2 i2-1
#define ON 1
#define OFF 0
#define COLOR_NOMBRE 14
#define COLOR_RAMAS 9
#define COLOR_DIRECTORIOS 11
#define COLOR_CURSOR_BARRA 7
#define COLOR_CURSOR_FONDO 0
#define COLOR_FLECHA 15
#define COLOR_FONDO_PANTALLA 0
#define COLOR_PATH 14
void reloj ();
void recuadro (int x1, int y1, int x2, int y2, char caracter [9], int y3, char cracter2 [5]);
int mostrar_pedazo (int x, int y, char texto [], int inicio, int fin);
void trazar_linea (int x, int y1, int y2, char caracter []);
void pantalla ();
void burbuja ();
void cursor (int modo);
void activar_dir (int minima_x, int minima_y, int maxima_x, int maxima_y, int y3, int posx1_mouse, int posy1_mouse, int posx2_mouse, int posy2_mouse);
int boton_mouse (int num);
int existe_mouse ();
void gotoxy_mouse (int x, int y);
void mostrar_cursor_mouse ();
void sacar_cursor_mouse ();
void posicion_mouse (int *x, int *y);
struct ffblk reg;
char dir [TOPE_DIR] [80], camino [80], directorio [80];
char rama [TOPE_DIR], nombre [TOPE_DIR] [80], auxiliar [80];
int posx [TOPE_DIR], posy [TOPE_DIR], padre [TOPE_DIR];
int i=1, k=0, cont=1, status =0, p=1, j;
int mayor, fin, a, inicio, control1,control2;
int x=1, y=1, control3, i2, posx2 [TOPE_DIR], posy2 [TOPE_DIR];
int incremento_en_x = 2;
char drive, dir_corriente [80];
void main ()
{ int zz;
char CARAC_RECUADRO [] = { 218, 196, 191, 179, 217, 196, 192, 179, 176, 32, 0 };
char CARAC_RECUADRO2 [] = { 198, 205, 181, 0};
char CARAC_LINEA [] = { 194, 179, 193, 0};
// 218 196 191 179 217 196 192 179 176 198 205 181 194 193
// Ú Ä ¿ ³ Ù Ä À ³ ° Æ Í µ Â Á
textmode (C80);
clrscr ();
randomize ();
cursor (OFF);
mostrar_cursor_mouse ();
textcolor (14);
textbackground (9);
recuadro (3,11,77,14, CARAC_RECUADRO, 0," ");
textbackground (0);
textcolor (8);
for (zz=4; zz <= 78; zz++)
{ gotoxy (zz,15);
cprintf ("%c",177);
}
for (zz=12; zz <= 15; zz++)
{ gotoxy (78,zz);
cprintf ("%c",177);
}
textbackground (9);
textcolor (11);
drive = getdisk ();
getcurdir (drive + 1, auxiliar);
directorio [0] = drive + 65;
strcat (directorio, ":");
strcpy (camino, directorio);
strcat (camino,"\\*.*");
strcpy (nombre [0], directorio);
strcat (nombre [0], "\\");
strcpy (dir_corriente, nombre [0]);
strcat (dir_corriente, auxiliar);
strcpy (dir [0], nombre[0]);
/************************************************************************/
/* Lectura de subdirectorios */
/************************************************************************/
do
{
status = findfirst (camino, ®, SUBDIRECTORIO);
while (status == 0)
{ if ((reg.ff_attrib == DIR_ESCONDIDO) || (reg.ff_attrib == FA_DIREC) && (reg.ff_name[0] !='.') && (reg.ff_name[1] !='.'))
{ if (reg.ff_attrib == DIR_ESCONDIDO)
{ for (k=0 ;k <= strlen(reg.ff_name); k++)
nombre [i] [k] = tolower (reg.ff_name [k]);
}
else
strcpy (nombre [i], reg.ff_name);
strcpy ( dir[i], directorio);
strcat ( dir[i], "\\");
strcat ( dir[i], reg.ff_name);
padre [i] = p -1;
i++;
textbackground (9);
gotoxy (23,12);
cprintf ("Explorando %4d sub-directorio(s).",i-1);
gotoxy (4,13);cprintf (" ");
gotoxy ((80 - strlen (dir [i-1]))/2,13);
cprintf ("%s",dir [i-1]);
delay (50);
}
status = findnext (®);
}
strcpy (camino, dir [cont]);
strcat (camino, "\\*.*");
strcpy (directorio, dir [cont]);
cont ++;
p++;
} while (cont <= i);
textcolor (7);
textbackground (0);
/************************************************************************/
/* Formacion del arbol */
/************************************************************************/
cont = 0;
posx [0] = x;
posy [0] = y;
control1 = 0;
if (FINAL > 0)
{ control2 = padre [1];
a = padre [1];
mayor = padre [1];
for (k=1; k <= i-1; k++)
{ if (padre [k] > control2)
{ control2 = padre [k];
mayor ++;
}
}
control2 = padre [0];
mayor ++;
do
{ for (j=1; j<= FINAL; j++)
{ if ((control1 == 0) && (control2 == padre [j]))
{ inicio = j;
control1 = 1;
}
if (control2 == padre [j])
fin = j;
}
control3 = 0;
for (j=inicio; j <= fin; j++)
{ a = control2;
y = posy [a] + 1;
x = posx [a] + incremento_en_x;
if (control3 == 0)
{ rama [j] = 192;
control3 = 1;
}
else
rama [j] = 195;
for (k=1; k <= FINAL; k++)
{ if (posy [k] >= y)
posy [k] = posy [k] +1;
}
x = posx [a] + incremento_en_x;
y = posy [a] + 1;
posx [j] = x;
posy [j] = y;
}
cont ++;
control1 =0;
control2 = padre [fin + 1];
} while (cont < mayor);
}
/************************************************************************/
/* Union de las ramas del arbol */
/************************************************************************/
i2 = 0;
cont = 0;
if (FINAL > 0)
{ control1 = padre [1];
control2 = posy [1];
do
{ for (k=1; k <= FINAL; k++)
{ if (control1 == padre [k])
{ a = control2 - posy [k];
if (a > 1)
{ for (j=1; j <= a-1; j++)
{ posx2 [i2] = posx [k];
posy2 [i2] = posy [k] + j;
i2 ++;
}
}
control2 = posy [k];
}
}
for (k=1; k <= FINAL; k++)
{ if (padre [k] > control1)
{ control1 = padre [k];
control2 = posy [k];
break;
}
}
cont ++;
} while (cont < mayor);
}
clrscr ();
sacar_cursor_mouse ();
cursor (OFF);
pantalla ();
textcolor (14);
textbackground (9);
recuadro (3,2,77,4,CARAC_RECUADRO, 0," ");
textbackground (0);
textcolor (8);
for (zz=4; zz <= 78; zz++)
{ gotoxy (zz,5);
cprintf ("%c",176);
}
gotoxy (78,3);
cprintf ("%c",176);
gotoxy (78,4);
cprintf ("%c",176);
textbackground (9);
textcolor (COLOR_NOMBRE);
gotoxy (5,3); cprintf ("Claudio Change Directory, Ver 1.0");
gotoxy (53,3);cprintf ("(c) Claudio Soto, 1992.");
textbackground (0);
textcolor (8);
recuadro (3,7,77,22,CARAC_RECUADRO, 9, CARAC_RECUADRO2);
trazar_linea (73,7,22, CARAC_LINEA);
gotoxy (73,9); cprintf ("%c %c",181, 179);
textcolor (15);
gotoxy (74,8); cprintf ("[%c]",30);
gotoxy (74,21);cprintf ("[%c]",31);
activar_dir (4,10,80,21,8,75,8,75,21);
cursor (ON);
textmode (C80);
}
void activar_dir (int minima_x, int minima_y, int maxima_x, int maxima_y, int y3, int posx1_mouse, int posy1_mouse, int posx2_mouse, int posy2_mouse)
{ int x, y, k, num =0, num2, num_inicio, num_fin;
int control, antigua_y, mouse = 0;
int x_mouse, y_mouse;
char tecla, arriba [160], abajo [160], path [160], limpiar [4000];
if (existe_mouse () != 0)
{ gotoxy_mouse (500,100);
mouse = 1;
}
burbuja ();
for (k=0; k <= FINAL; k++)
{ if (strcmp (dir_corriente, dir [k]) == 0)
{ num2 = k;
break;
}
}
gettext (minima_x, minima_y, maxima_x, maxima_y, limpiar);
gettext (1, minima_y, 80, minima_y, arriba);
gettext (1, maxima_y, 80, maxima_y, abajo);
gettext (1, y3, 80, y3, path);
textbackground (COLOR_FONDO_PANTALLA);
num = 0;
num_inicio = 0;
for (k= minima_y; ((k <= maxima_y) && (num <= FINAL)); k++)
{ x = posx [num] + minima_x;
y = posy [num] + minima_y -1;
gotoxy (x,y);
textcolor (COLOR_RAMAS);
cprintf ("%c", rama [num]);
textcolor (COLOR_DIRECTORIOS);
cprintf ("%s ", nombre [num]);
if (num == num2)
{ gotoxy (x + strlen (nombre [num]) + 2, y);
textcolor (COLOR_FLECHA | 128);
cprintf ("%c",27);
textcolor (COLOR_DIRECTORIOS);
}
num ++;
}
num_fin = num - 1;
for (k=0; k <= FINAL2; k++)
{ x = posx2 [k] + minima_x;
y = posy2 [k] + minima_y -1;
gotoxy (x,y);
textcolor (COLOR_RAMAS);
if ((y >= minima_y) && (y <= maxima_y))
cprintf ("%c",179);
}
num = 0;
gotoxy (posx[0] + minima_x, y3);
textcolor (COLOR_PATH);
cprintf ("Path: %s", dir[num]);
#ifdef DEBUG
gotoxy (10,5);
cprintf ("inicio %s ",nombre [num_inicio]);
gotoxy (50,5);
cprintf ("fin %s ",nombre [num_fin]);
#endif
y = minima_y;
do
{ x = posx [num] + minima_x;
gotoxy (x,y);
textcolor (COLOR_CURSOR_FONDO);
textbackground (COLOR_CURSOR_BARRA);
cprintf ("%c", rama [num]);
cprintf ("%s ", nombre [num]);
// textcolor (COLOR_CURSOR_BARRA);
textbackground (COLOR_FONDO_PANTALLA);
if (num == num2)
{ gotoxy (x + strlen (nombre [num]) + 2, y);
textcolor (COLOR_FLECHA | 128);
cprintf ("%c",27);
textcolor (COLOR_DIRECTORIOS);
}
if (mouse == 1)
mostrar_cursor_mouse ();
do
{ reloj ();
tecla = 0;
if (kbhit ())
{ tecla = getch ();
if (tecla == 0)
tecla = getch ();
}
if (mouse == 1)
{ posicion_mouse (&x_mouse, &y_mouse);
x_mouse = x_mouse / 8 + 1; // convierte pixels en caracteres
y_mouse = y_mouse / 8 + 1; // convierte pixels en caracteres
if ((posx1_mouse == x_mouse) && (posy1_mouse == y_mouse) && (boton_mouse (0) == 1))
{ tecla = 'H';
delay (130);
}
if ((posx2_mouse == x_mouse) && (posy2_mouse == y_mouse) && (boton_mouse (0) == 1))
{ tecla = 'P';
delay (130);
}
}
} while (tecla == 0);
if (tecla == 'I') tecla = 'H';
if (tecla == 'Q') tecla = 'P';
if (mouse == 1)
sacar_cursor_mouse ();
gotoxy (x,y);
textcolor (COLOR_RAMAS);
cprintf ("%c", rama [num]);
textcolor (COLOR_DIRECTORIOS);
cprintf ("%s ", nombre [num]);
if ((tecla == 'H') && (num > 0))
{ num --;
y --;
if (y < minima_y)
{ y ++;
num_inicio --;
num_fin --;
gotoxy (x,maxima_y);
delline ();
gotoxy (x,minima_y);
insline ();
puttext (1, minima_y, 80, minima_y, arriba);
gotoxy (posx[num]+minima_x,y);
textcolor (COLOR_RAMAS);
cprintf ("%c", rama [num]);
textcolor (COLOR_DIRECTORIOS);
cprintf ("%s ", nombre [num]);
#ifdef DEBUG
gotoxy (10,5);
cprintf ("inicio %s ",nombre [num_inicio]);
gotoxy (50,5);
cprintf ("fin %s ",nombre [num_fin]);
#endif
for (k=0; k <= FINAL2; k++)
{ x = posx2 [k] + minima_x;
gotoxy (x,y);
textcolor (COLOR_RAMAS);
if (num == (posy2 [k] - 1) )
cprintf ("%c",179);
}
}
}
if ((tecla == 'P') && (num < FINAL))
{ num ++;
y ++;
if (y > maxima_y)
{ y --;
num_inicio ++;
num_fin ++;
gotoxy (x,minima_y);
delline ();
gotoxy (x,maxima_y);
insline ();
puttext (1, maxima_y, 80, maxima_y, abajo);
gotoxy (posx2_mouse-1, maxima_y-1);
cprintf (" ");
gotoxy (posx[num]+minima_x,y);
textcolor (COLOR_RAMAS);
cprintf ("%c", rama [num]);
textcolor (COLOR_DIRECTORIOS);
cprintf ("%s ", nombre [num]);
#ifdef DEBUG
gotoxy (10,5);
cprintf ("inicio %s ",nombre [num_inicio]);
gotoxy (50,5);
cprintf ("fin %s ",nombre [num_fin]);
#endif
for (k=0; k <= FINAL2; k++)
{ x = posx2 [k] + minima_x;
gotoxy (x,y);
textcolor (COLOR_RAMAS);
if (num == (posy2 [k] - 1) )
cprintf ("%c",179);
}
}
}
if ((tecla == 'Q') && (num < FINAL) && (num_fin < FINAL))
{ num = num_fin + 1;
antigua_y = y;
control = 0;
y = minima_y -1;
num_inicio = num;
puttext (minima_x, minima_y, maxima_x, maxima_y, limpiar);
for (k= minima_y; ((k <= maxima_y) && (num <= FINAL)); k++)
{ x = posx [num] + minima_x;
y ++;
if (y == antigua_y)
control = num;
gotoxy (x,y);
textcolor (COLOR_RAMAS);
cprintf ("%c", rama [num]);
textcolor (COLOR_DIRECTORIOS);
cprintf ("%s ", nombre [num]);
if (num == num2)
{ gotoxy (x + strlen (nombre [num]) + 2, y);
textcolor (COLOR_FLECHA | 128);
cprintf ("%c",27);
textcolor (COLOR_DIRECTORIOS);
}
num ++;
}
num_fin = num - 1;
#ifdef DEBUG
gotoxy (10,5);
cprintf ("inicio %s ",nombre [num_inicio]);
gotoxy (50,5);
cprintf ("fin %s ",nombre [num_fin]);
#endif
for (k=0; k <= FINAL2; k++)
{ x = posx2 [k] + minima_x;
y = posy2 [k] + minima_y -1 - num_inicio;
gotoxy (x,y);
textcolor (COLOR_RAMAS);
if ((y >= minima_y) && (y <= maxima_y))
cprintf ("%c",179);
}
num --;
if (control != 0)
{ y = antigua_y;
num = control;
}
}
if ((tecla == 'I') && (num > 0) && (num_inicio > 0))
{ num = num - (maxima_y - minima_y - 1);
if (num < 0) num = 0;
num_inicio = num;
antigua_y = y;
control = 0;
y = minima_y -1;
puttext (minima_x, minima_y, maxima_x, maxima_y, limpiar);
for (k= minima_y; ((k <= maxima_y) && (num <= FINAL)); k++)
{ x = posx [num] + minima_x;
y ++;
if (y == antigua_y)
control = num;
gotoxy (x,y);
textcolor (COLOR_RAMAS);
cprintf ("%c", rama [num]);
textcolor (COLOR_DIRECTORIOS);
cprintf ("%s ", nombre [num]);
if (num == num2)
{ gotoxy (x + strlen (nombre [num]) + 2, y);
textcolor (COLOR_FLECHA | 128);
cprintf ("%c",27);
textcolor (COLOR_DIRECTORIOS);
}
num ++;
}
num_fin = num - 1;
#ifdef DEBUG
gotoxy (10,5);
cprintf ("inicio %s ",nombre [num_inicio]);
gotoxy (50,5);
cprintf ("fin %s ",nombre [num_fin]);
#endif
for (k=0; k <= FINAL2; k++)
{ x = posx2 [k] + minima_x;
y = posy2 [k] + minima_y -1 - num_inicio;
gotoxy (x,y);
textcolor (COLOR_RAMAS);
if ((y >= minima_y) && (y <= maxima_y))
cprintf ("%c",179);
}
num --;
if (control != 0)
{ y = antigua_y;
num = control;
}
}
puttext (1, y3, 80, y3, path);
gotoxy (posx[0] + minima_x, y3);
textcolor (COLOR_PATH);
cprintf ("Path: %s", dir[num]);
textcolor (15);
gotoxy (74,21);cprintf ("[%c]",31);
textcolor (COLOR_PATH);
} while ((tecla != 13) && (tecla != 27));
if (tecla == 13) chdir (dir [num]);
// if (mouse == 1) sacar_cursor_mouse ();
}
void burbuja ()
{ int cont, j, tope, auxnum;
char aux [80], auxchar;
tope = FINAL;
do
{
cont =0;
for (j=0; j <= tope -1; j++)
{
if (posy [j] > posy [j+1] )
{ auxnum = posy [j];
posy [j] = posy [j+1];
posy [j+1] = auxnum;
auxnum = posx [j];
posx [j] = posx [j+1];
posx [j+1] = auxnum;
auxnum = padre [j];
padre [j] = padre [j+1];
padre [j+1] = auxnum;
auxchar = rama [j];
rama [j] = rama [j+1];
rama [j+1] = auxchar;
strcpy (aux, dir [j]);
strcpy (dir [j], dir [j+1]);
strcpy (dir [j+1], aux);
strcpy (aux, nombre [j]);
strcpy (nombre [j], nombre [j+1]);
strcpy (nombre [j+1], aux);
cont = j;
}
}
tope = cont;
} while (tope > 2);
}
void cursor (int modo)
{ union REGS reg;
if (modo == 0)
{ reg.x.cx = 0x2000;
reg.x.ax = 0x100;
int86 (0x10, ®, ®);
}
else
{ reg.x.cx = 0;
reg.x.ax = 0;
int86 (0x10, ®, ®);
}
}
void pantalla ()
{ register int i;
char fondo [1921];
for (i=0; i <= 1919; i++)
fondo [i] = 177;
fondo [1920] = '\0';
cprintf ("%s",fondo);
}
void recuadro (int x1, int y1, int x2, int y2, char caracter [9], int y3, char caracter2 [5])
{ int i;
for (i=y1 + 1; i <= y2 -1 ; i++)
{
for (k=x1 + 1; k <= x2 -1 ; k++)
{ gotoxy (k,i);
cprintf ("%c", caracter [9]);
}
}
for (i=x1 + 1; i <= x2 -1 ; i++)
{ gotoxy (i, y1);
cprintf ("%c", caracter [1]);
gotoxy (i, y2);
cprintf ("%c", caracter [5]);
gotoxy (i, y2+1);
cprintf ("%c", caracter [8]);
if ((caracter2 [1] != ' ') && (caracter2 [1] != '\0'))
{ gotoxy (i, y3);
cprintf ("%c", caracter2 [1]);
}
}
gotoxy (x2, y2+1);
cprintf ("%c%c", caracter[8], caracter[8]);
gotoxy (x2+1, y2);
cprintf ("%c", caracter[8]);
for (i=y1 + 1; i <= y2 -1 ; i++)
{ gotoxy (x1, i);
cprintf ("%c", caracter [3]);
gotoxy (x2, i);
cprintf ("%c", caracter [7]);
gotoxy (x2+1, i);
cprintf ("%c", caracter [8]);
}
gotoxy (x1, y1);
cprintf ("%c", caracter [0]);
gotoxy (x2, y1);
cprintf ("%c", caracter [2]);
gotoxy (x2, y2);
cprintf ("%c", caracter [4]);
gotoxy (x1, y2);
cprintf ("%c", caracter [6]);
if ((caracter2 [0] != ' ') && (caracter2 [0] != '\0'))
{ gotoxy (x1,y3);
cprintf ("%c", caracter2 [0]);
}
if ((caracter2 [2] != ' ') && (caracter2 [2] != '\0'))
{ gotoxy (x2,y3);
cprintf ("%c", caracter2 [2]);
}
}
void trazar_linea (int x, int y1, int y2, char caracter [])
{ int i;
gotoxy (x,y1);
cprintf ("%c",caracter [0]);
for (i=y1+1; i <= y2-1; i++)
{ gotoxy (x,i);
cprintf ("%c",caracter [1]);
}
gotoxy (x,y2);
cprintf ("%c",caracter [2]);
}
int mostrar_pedazo (int x, int y, char texto [],int inicio, int fin)
{ int i;
gotoxy (x,y);
for (i=inicio; (i <= fin) && (i <= strlen (texto)); i++)
cprintf ("%c", texto [i]);
return i;
}
int boton_mouse (int num)
{ // 0 = boton sin presionar.
// 1 = boton izquierdo presionado.
// 2 = boton del medio o el derecho presionado.
// 3 = boton izq y dech presionado o izq y del medio presionado
// o los tres botones presionados.
union REGS reg;
reg.x.ax = 5;
reg.x.bx = num;
int86 (0x33, ®, ®);
return (reg.x.ax);
}
int existe_mouse ()
{ union REGS reg;
reg.x.ax = 0;
int86 (0x33, ®, ®);
return (reg.x.ax);
}
void gotoxy_mouse (int x, int y)
{ union REGS reg;
reg.x.ax = 4;
reg.x.cx = x; // en pixels
reg.x.dx = y; // en pixels
int86 (0x33, ®, ®);
}
void mostrar_cursor_mouse ()
{ union REGS reg;
reg.x.ax = 1;
int86 (0x33, ®, ®);
}
void sacar_cursor_mouse ()
{ union REGS reg;
reg.x.ax = 2;
int86 (0x33, ®, ®);
}
void posicion_mouse (int *x, int *y)
{ union REGS reg;
reg.x.ax = 3;
int86 (0x33, ®, ®);
*x = reg.x.cx; // en pixels
*y = reg.x.dx; // en pixels
}
void reloj ()
{ long far *pnt_hora = MK_FP(0x40, 0x6C), reloj2;
int h, m, s;
char a [10];
struct date d;
reloj2 = *pnt_hora;
h = reloj2 / 65543;
reloj2 -= h * 65543;
m = reloj2 / 1092;
reloj2 -= m * 1092;
s = reloj2 / 18.2;
itoa (s,a,10);
gotoxy (46,25);
textcolor (14);
cprintf ("HORA: ");
printf ("%2d:%2d:%c%c", h, m, a [strlen (a)-2], a [strlen (a)-1]);
getdate(&d);
gotoxy (20,25);
cprintf ("FECHA: ");
printf ("%2d:%2d:%2d", d.da_day, d.da_mon, d.da_year);
}
Retornar para Piadas, Vídeos e Fotos engraçadas
Usuários vendo este fórum: Nenhum usuário registrado online e 4 visitantes