home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 26
/
CD_ASCQ_26_1295.iso
/
vrac
/
tvme30.zip
/
TFILENM.CPP
< prev
next >
Wrap
C/C++ Source or Header
|
1995-08-02
|
2KB
|
71 lines
// File : TFILENM.CPP
// Author : Eric Woodruff, CIS ID: 72134,1150
// Updated : Wed 08/02/95 17:54:19
// Note : Copyright 1994-95, Eric Woodruff, All rights reserved
// Compiler: Borland C++ 3.1 to 4.xx
//
// This is a simple filename/directory name inputline class.
// It is the same as TInputLine, except it accepts only valid string input
// for a filename or directory name.
//
#include <ctype.h>
#include <string.h>
#define Uses_MsgBox
#define Uses_TEvent
#define Uses_TInputLine
#define Uses_TKeys
#define Uses_TStreamableClass
#define Uses_ipstream
#define Uses_opstream
#include <tv.h>
__link( RView )
#define Uses_TFilename
#include <tintfile.h>
TStreamableClass RFilename( TFilename::name, TFilename::build,
__DELTA(TFilename) );
const char * const _NEAR TFilename::name = "TFilename";
void TFilename::handleEvent(TEvent& event)
{
if(event.what == evKeyDown)
switch (event.keyDown.keyCode)
{
case kbTab:
case kbShiftTab:
case kbBack:
case kbEnter:
case kbEsc:
break; // Let TInputLine have these.
default:
char key;
key = event.keyDown.charScan.charCode =
toupper(event.keyDown.charScan.charCode);
if(key)
{
// Filter out invalid characters.
if(key < 33 || key > 126 || strchr("\'\"`,+/|=[]<>", key))
clearEvent(event);
}
break;
}
TInputLine::handleEvent(event);
}
TStreamable *TFilename::build()
{
return new TFilename( streamableInit );
}
TFilename::TFilename( StreamableInit ) : TInputLine( streamableInit )
{
}