blob: 68b746a107c7a034b81875a092ef74d91b0eb23f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
/*
* Turbo Vision - Version 2.0
*
* Copyright (c) 1994 by Borland International
* All Rights Reserved.
*
Modified by Robert H”hne to be used for RHIDE.
Modified by Salvador E. Tropea (to be compatible with TV 2.0)
*
*
*/
#define Uses_string
#define Uses_limits
#define Uses_stdio
#define Uses_ipstream
#define Uses_opstream
#define Uses_TFilterValidator
#define Uses_MsgBox
#include <tv.h>
TFilterValidator::TFilterValidator() :
TValidator(),
validChars(NULL)
{
}
TFilterValidator::TFilterValidator(const char * chars) :
TValidator()
{
validChars = newStr(chars);
}
TFilterValidator::~TFilterValidator()
{
delete[] validChars;
}
Boolean TFilterValidator::isValid(const char *S)
{
int i=0;
while (S[i])
{
if (!strchr(validChars,S[i])) return False;
i++;
}
return True;
}
Boolean TFilterValidator::isValidInput(char *S,Boolean)
{
return TFilterValidator::isValid(S);
}
void TFilterValidator::error()
{
messageBox(__("Invalid character in input"),mfError | mfOKButton);
}
#if !defined( NO_STREAM )
TFilterValidator::TFilterValidator(StreamableInit) :
TValidator(streamableInit)
{
}
TStreamable * TFilterValidator::build()
{
return (TStreamable *) new TFilterValidator(streamableInit);
}
void TFilterValidator::write(opstream & os)
{
TValidator::write(os);
os.writeString(validChars);
}
void * TFilterValidator::read(ipstream & is)
{
TValidator::read(is);
validChars = is.readString();
return this;
}
#endif // NO_STREAM
|