Browse Source

+ added the win16api string functions

git-svn-id: trunk@31586 -
nickysn 10 years ago
parent
commit
afcc5a9e11
3 changed files with 43 additions and 1 deletions
  1. 2 1
      rtl/win16/system.pp
  2. 8 0
      rtl/win16/win31.pp
  3. 33 0
      rtl/win16/winprocsh.inc

+ 2 - 1
rtl/win16/system.pp

@@ -58,6 +58,8 @@ const
 
 type
   LPSTR = ^Char;far;
+  PFarChar = ^Char;far;
+  PHugeChar = ^Char;huge;
 
 var
 { Mem[] support }
@@ -118,7 +120,6 @@ const
 
 type
   PFarByte = ^Byte;far;
-  PFarChar = ^Char;far;
   PFarWord = ^Word;far;
 
   { structure, located at DS:0, initialized by InitTask }

+ 8 - 0
rtl/win16/win31.pp

@@ -195,6 +195,14 @@ function IsTask(Task: HTASK): BOOL; external 'KERNEL';
 function _hread(FileHandle: HFILE; Buffer: HugePointer; Bytes: LongInt): LongInt; external 'KERNEL';
 function _hwrite(FileHandle: HFILE; Buffer: HugePointer; Bytes: LongInt): LongInt; external 'KERNEL';
 
+{ International & Char Translation Support }
+
+function lstrcpyn(lpszString1: LPSTR; lpszString2: LPCSTR; cChars: SmallInt): LPSTR; external 'KERNEL';
+procedure hmemcpy(hpvDest, hpvSource: HugePointer; cbCopy: LongInt); external 'KERNEL';
+procedure hmemcpy(hpvDest, hpvSource: FarPointer; cbCopy: LongInt); external 'KERNEL';
+
+function IsDBCSLeadByte(bTestChar: BYTE): BOOL; external 'KERNEL';
+
 implementation
 
 end.

+ 33 - 0
rtl/win16/winprocsh.inc

@@ -245,3 +245,36 @@ function GetAtomHandle(atm: ATOM): HLOCAL; external 'KERNEL';
   function GetPrivateProfileInt(lpszSection, lpszEntry: LPCSTR; default: SmallInt; lpszFilename: LPCSTR): UINT; external 'KERNEL';
   function GetPrivateProfileString(lpszSection, lpszEntry, lpszDefault: LPCSTR; lpszReturnBuffer: LPSTR; cbReturnBuffer: SmallInt; lpszFilename: LPCSTR): SmallInt; external 'KERNEL';
   function WritePrivateProfileString(lpszSection, lpszEntry, lpszString, lpszFilename: LPCSTR): BOOL; external 'KERNEL';
+
+{ International & Char Translation Support }
+
+procedure AnsiToOem(hpszWindows, hpszOem: PHugeChar); external 'KEYBOARD';
+procedure AnsiToOem(hpszWindows, hpszOem: PFarChar); external 'KEYBOARD';
+procedure OemToAnsi(hpszOemStr, hpszWindowsStr: PHugeChar); external 'KEYBOARD';
+procedure OemToAnsi(hpszOemStr, hpszWindowsStr: PFarChar); external 'KEYBOARD';
+
+procedure AnsiToOemBuff(lpszWindowsStr: LPCSTR; lpszOemStr: LPSTR; cbWindowsStr: UINT); external 'KEYBOARD';
+procedure OemToAnsiBuff(lpszOemStr: LPCSTR; lpszWindowsStr: LPSTR; cbOemStr: UINT); external 'KEYBOARD';
+
+function AnsiNext(lpchCurrentChar: LPCSTR): LPSTR; external 'USER';
+function AnsiPrev(lpchStart, lpchCurrentChar: LPCSTR): LPSTR; external 'USER';
+
+function AnsiUpper(lpszString: LPSTR): LPSTR; external 'USER';
+function AnsiLower(lpsz: LPSTR): LPSTR; external 'USER';
+
+function AnsiUpperBuff(lpszString: LPSTR; cbString: UINT): UINT; external 'USER';
+function AnsiLowerBuff(lpszString: LPSTR; cbString: UINT): UINT; external 'USER';
+
+
+function IsCharAlpha(chTest: char): BOOL; external 'USER';
+function IsCharAlphaNumeric(chTest: char): BOOL; external 'USER';
+function IsCharUpper(chTest: char): BOOL; external 'USER';
+function IsCharLower(chTest: char): BOOL; external 'USER';
+
+function lstrcmp(lpszString1, lpszString2: LPCSTR): SmallInt; external 'USER';
+function lstrcmpi(lpszString1, lpszString2: LPCSTR): SmallInt; external 'USER';
+function lstrcpy(lpszString1: LPSTR; lpszString2: LPCSTR): LPSTR; external 'KERNEL';
+function lstrcat(lpszString1: LPSTR; lpszString2: LPCSTR): LPSTR; external 'KERNEL';
+function lstrlen(lpszString: LPCSTR): SmallInt; external 'KERNEL';
+
+function LoadString(hints: HINST; idResrouce: UINT; lpszBuffer: LPSTR; cbBuffer: SmallInt): SmallInt; external 'USER';