missing files on first upload

This commit is contained in:
Antonio Linares
1999-05-05 07:13:12 +00:00
parent a59d9fab61
commit 780d6a8b05
3 changed files with 354 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
#include <extend.h>
#include <time.h>
HARBOUR DATETIME( void )
{
time_t current_time;
char * szResult = ( char * ) _xgrab( 26 );
time( &current_time );
szResult = strcpy( szResult, ctime( &current_time ) );
_retc( szResult );
_xfree( szResult );
}

237
harbour/source/tools/io.c Normal file
View File

@@ -0,0 +1,237 @@
#include <extend.h>
#include <dos.h>
#include <dir.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <bios.h>
#include <ctype.h>
#define TRUE 1
#define FALSE 0
HARBOUR renfile()
{
int ok;
PITEM arg1 = _param(1,IT_STRING);
PITEM arg2 = _param(2,IT_STRING);
if( arg1 && arg2)
{
ok=rename(_parc(1),_parc(2));
if(!ok)
_retl(TRUE);
else
_retl(FALSE);
}
}
/*
/* $DOC$
* $FUNCNAME$
* CD()
* $CATEGORY$
* DOS
* $ONELINER$
*
* $SYNTAX$
* CD(<NDIR>)
* $ARGUMENTS$
* <NDIR> DIR TO BE CHANGED
* $RETURNS$
* .T. IF SUCEFUL
* .F. IF NOT
*
* $DESCRIPTION$
* CHANGE THE CURRENT DIRECTORY
* $EXAMPLES$
* IF CD("OLA")
* RETURN(.T.)
* ELSE
* RETURN(.F.)
* ENDIF
*
* $SEEALSO$
*
* $INCLUDE$
* extend.h dos.h dir.h bios.h internal.h
* $END$
*/
/*
/* $DOC$
* $FUNCNAME$
* MD()
* $CATEGORY$
* DOS
* $ONELINER$
*
* $SYNTAX$
* MD(<NDIR>)
* $ARGUMENTS$
* <NDIR> DIRECTORY TO BE CREATED
* $RETURNS$
* .T. IF SUCEFUL
* .F. IF NOT
*
* $DESCRIPTION$
* CREATE A DIRECTORY
* $EXAMPLES$
* IF MD("OLA")
* RETURN(.T.)
* ELSE
* RETURN(.F.)
* ENDIF
*
* $SEEALSO$
*
* $INCLUDE$
* extend.h dos.h dir.h bios.h internal.h
* $END$
*/
/*
/* $DOC$
* $FUNCNAME$
* RD()
* $CATEGORY$
* DOS
* $ONELINER$
*
* $SYNTAX$
* RD(<NDIR>)
* $ARGUMENTS$
* <NDIR> DIR TO BE DELETED
* $RETURNS$
* .T. IF SUCEFUL
* .F. IF NOT
*
* $DESCRIPTION$
* REMOVE A DIRECTORY
* $EXAMPLES$
* IF RD("OLA")
* RETURN(.T.)
* ELSE
* RETURN(.F.)
* ENDIF
*
* $SEEALSO$
*
* $INCLUDE$
* extend.h dos.h dir.h bios.h internal.h
* $END$
*/
HARBOUR CD(void)
{
PITEM MEUDIR = _param(1,IT_STRING);
if(MEUDIR)
{
_retni(chdir(_parc(1)));
}
}
HARBOUR MD(void)
{
PITEM MEUDIR = _param(1,IT_STRING);
if(MEUDIR)
{
_retni(mkdir(_parc(1)));
}
}
HARBOUR RD(void)
{
PITEM MEUDIR = _param(1,IT_STRING);
if(MEUDIR)
{
_retni(chdir(_parc(1)));
}
}
/* $DOC$
* $FUNCNAME$
* FILE()
* $CATEGORY$
* DOS
* $ONELINER$
*
* $SYNTAX$
* RD(<NDIR>)
* $ARGUMENTS$
* <NDIR> FILE TO BE CHECKED
* $RETURNS$
* .T. IF SUCEFUL
* .F. IF NOT
*
* $DESCRIPTION$
* VERIFY IF A FILE EXISTS
* $EXAMPLES$
* IF FILE("OLA.PRG")
* RETURN(.T.)
* ELSE
* RETURN(.F.)
* ENDIF
*
* $SEEALSO$
*
* $INCLUDE$
* extend.h dos.h dir.h bios.h internal.h
* $END$
*/
HARBOUR file(void)
{
PITEM arg1 = _param(1,IT_STRING);
char *arquivos;
int achou;
struct ffblk arquivo;
if (arg1) {
arquivos=_parc(1);
achou=findfirst(arquivos,&arquivo,FA_ARCH);
if (achou)
{
_retl(TRUE);
}
else
{
_retl(FALSE);
}
}
}
HARBOUR DISKUSED(void)
{
long bytsfree,bytsfull;
struct diskfree_t disk;
_dos_getdiskfree(0,&disk);
bytsfree = (long) disk.avail_clusters * (long) disk.sectors_per_cluster * (long ) disk.bytes_per_sector;
bytsfull = (long) disk.total_clusters * (long) disk.sectors_per_cluster * (long ) disk.bytes_per_sector;
_retnl(bytsfull-bytsfree);
}
HARBOUR DISKFREE(void)
{
long bytsfree;
struct diskfree_t disk;
_dos_getdiskfree(0,&disk);
bytsfree = (long) disk.avail_clusters * (long) disk.sectors_per_cluster * (long ) disk.bytes_per_sector;
_retnl(bytsfree);
}
HARBOUR DISKFULL(void)
{
long bytsfull;
struct diskfree_t disk;
_dos_getdiskfree(0,&disk);
bytsfull = (long) disk.total_clusters * (long) disk.sectors_per_cluster * (long ) disk.bytes_per_sector;
_retnl(bytsfull);
}

View File

@@ -0,0 +1,101 @@
#include <extend.h>
#include <ctype.h>
/* TODO: search this file for TODO and find 'em! */
/* debug function to dump the ASCII values of an entire string */
HARBOUR STRDUMP( void )
{
char *szText = _parc(1);
long i, lLength = _parclen(1);
for( i = 0; i < lLength; i++ )
printf("%d ", szText[i]);
printf("\n");
}
char *StrToken(char *szText, long lText, long lIndex, char cDelimiter, long *lLen)
{
long wStart, wEnd = 0, wCounter = 0;
do
{
wStart = wEnd;
if( cDelimiter != ' ' )
{
if( szText[wStart] == cDelimiter )
wStart++;
}
else
{
while( wStart < lText && szText[wStart] == cDelimiter )
wStart++;
}
if( wStart < lText && szText[wStart] != cDelimiter )
{
wEnd = wStart + 1;
while( wEnd < lText && szText[wEnd] != cDelimiter )
wEnd++;
}
else
wEnd = wStart;
} while( wCounter++ < lIndex - 1 && wEnd < lText );
if( wCounter < lIndex )
{
*lLen = 0;
return "";
}
else
{
*lLen = wEnd - wStart;
return szText + wStart;
}
}
/* returns the nth occurence of a substring within a token-delimited string */
HARBOUR STRTOKEN( void )
{
char *szText;
long lIndex = _parnl(2);
char cDelimiter = *_parc(3);
long lLen;
if( !cDelimiter )
cDelimiter = ' ';
szText = StrToken(_parc(1), _parclen(1), lIndex, cDelimiter, &lLen);
_stornl(lLen, 4);
_retclen(szText, lLen);
}
HARBOUR ROT13( void )
{
PITEM pText = _param(1, IT_STRING);
if( pText )
{
char *szText = pText->value.szText;
long i, lLen = pText->wLength;
char *szResult = _xgrab(lLen + 1);
for( i = 0; i < lLen; i++ )
{
char c = szText[i];
if( (c >= 'A' && c <= 'M') || (c >= 'a' && c <= 'm') )
c += 13;
else if( (c >= 'N' && c <= 'Z') || (c >= 'n' && c <= 'z') )
c -= 13;
szResult[i] = c;
}
_retclen(szResult, lLen);
_xfree(szResult);
}
else
_retc("");
}