+#elif defined(__BORLANDC__) && defined(__WIN32__)
+
+// Borland C++ 4.52 doesn't have much tchar support
+// maybe Borland C++ 5.02 has, can't check right now
+// but I'll use the Win32 API instead here
+
+#include <tchar.h>
+#if wxUSE_UNICODE // temporary - preserve binary compatibility
+typedef _TCHAR wxChar;
+typedef _TSCHAR wxSChar;
+typedef _TUCHAR wxUChar;
+#else
+#define wxChar char
+#define wxSChar signed char
+#define wxUChar unsigned char
+#endif
+
+#include <windef.h>
+#include <winbase.h>
+#include <winnls.h>
+#include <winnt.h>
+
+ // ctype.h functions
+inline WORD __wxMSW_ctype(wxChar ch)
+{
+ WORD ret;
+ GetStringTypeEx(LOCALE_USER_DEFAULT, CT_CTYPE1, &ch, 1, &ret);
+ return ret;
+}
+#define wxIsalnum(x) IsCharAlphaNumeric
+#define wxIsalpha IsCharAlpha
+#define wxIsctrl(x) (__wxMSW_ctype(x) & C1_CNTRL)
+#define wxIsdigit(x) (__wxMSW_ctype(x) & C1_DIGIT)
+#define wxIsgraph(x) (__wxMSW_ctype(x) & (C1_DIGIT|C1_PUNCT|C1_ALPHA))
+#define wxIslower(x) IsCharLower
+#define wxIsprint(x) (__wxMSW_ctype(x) & (C1_DIGIT|C1_SPACE|C1_PUNCT|C1_ALPHA))
+#define wxIspunct(x) (__wxMSW_ctype(x) & C1_PUNCT)
+#define wxIsspace(x) (__wxMSW_ctype(x) & C1_SPACE)
+#define wxIsupper(x) IsCharUpper
+#define wxIsxdigit(x) (__wxMSW_ctype(x) & C1_XDIGIT)
+#define wxTolower(x) (wxChar)CharLower((LPTSTR)(x))
+#define wxToupper(x) (wxChar)CharUpper((LPTSTR)(x))
+
+// #define wxStrtok strtok_r // Borland C++ 4.52 doesn't have strtok_r
+#define wxNEED_WX_STRING_H
+#define wxNEED_WX_STDIO_H
+#define wxNEED_WX_STDLIB_H
+#define wxNEED_WX_TIME_H
+#define wxNEED_WCSLEN
+
+#else//!Windows