PROCEDURE TForm4.TestChrCmpI(Sender : TObject);
VAR charstocomp1 : CHAR;
VAR charstocomp2 : CHAR;
VAR wcharstocomp1 : WideChar;
VAR wcharstocomp2 : WideChar;
VAR charvalstr : STRING;
VAR apiretval : BOOL;
VAR newinfoline : STRING;
BEGIN
charstocomp1 := #0;
charstocomp2 := #0;
FillChar(wcharstocomp1, SizeOf(wcharstocomp1), #0);
FillChar(wcharstocomp2, SizeOf(wcharstocomp2), #0);
charvalstr := '';
apiretval := FALSE;
newinfoline := '';
charstocomp1 := #9; //Tab
charstocomp2 := #13; //Line feed
charvalstr := '#' + IntToStr(WORD(charstocomp1)) + ' (0x' + IntToHex(WORD(charstocomp1) , 4) + ')';
charvalstr := charvalstr + ' and #' + IntToStr(WORD(charstocomp2)) + ' (0x' + IntToHex(WORD(charstocomp2) , 4) + ')';
apiretval := ChrCmpIA(WORD(charstocomp1), WORD(charstocomp2));
newinfoline := 'ChrCmpIA called with ' + charvalstr + ' returned : ';
IF (apiretval = TRUE) THEN
newinfoline := newinfoline + 'TRUE'
ELSE
newinfoline := newinfoline + 'FALSE';
Memo1.Lines.Add(newinfoline);
charstocomp1 := 'A';
charstocomp2 := 'A';
charvalstr := '"' + charstocomp1 + '" (0x' + IntToHex(WORD(charstocomp1) , 4) + ')';
charvalstr := charvalstr + ' and "' + charstocomp2 + '" (0x' + IntToHex(WORD(charstocomp2) , 4) + ')';
apiretval := ChrCmpIA(WORD(charstocomp1), WORD(charstocomp2));
newinfoline := 'ChrCmpIA called with ' + charvalstr + ' returned : ';
IF (apiretval = TRUE) THEN
newinfoline := newinfoline + 'TRUE'
ELSE
newinfoline := newinfoline + 'FALSE';
Memo1.Lines.Add(newinfoline);
charstocomp1 := 'A';
charstocomp2 := 'z';
charvalstr := '"' + charstocomp1 + '" (0x' + IntToHex(WORD(charstocomp1) , 4) + ')';
charvalstr := charvalstr + ' and "' + charstocomp2 + '" (0x' + IntToHex(WORD(charstocomp2) , 4) + ')';
apiretval := ChrCmpIA(WORD(charstocomp1), WORD(charstocomp2));
newinfoline := 'ChrCmpIA called with ' + charvalstr + ' returned : ';
IF (apiretval = TRUE) THEN
newinfoline := newinfoline + 'TRUE'
ELSE
newinfoline := newinfoline + 'FALSE';
Memo1.Lines.Add(newinfoline);
charstocomp1 := 'A';
charstocomp2 := 'a';
charvalstr := '"' + charstocomp1 + '" (0x' + IntToHex(WORD(charstocomp1) , 4) + ')';
charvalstr := charvalstr + ' and "' + charstocomp2 + '" (0x' + IntToHex(WORD(charstocomp2) , 4) + ')';
apiretval := ChrCmpIA(WORD(charstocomp1), WORD(charstocomp2));
newinfoline := 'ChrCmpIA called with ' + charvalstr + ' returned : ';
IF (apiretval = TRUE) THEN
newinfoline := newinfoline + 'TRUE'
ELSE
newinfoline := newinfoline + 'FALSE';
Memo1.Lines.Add(newinfoline);
wcharstocomp1 := #9;//Tab
wcharstocomp2 := #13; //Line feed
charvalstr := '#' + IntToStr(WORD(wcharstocomp1)) + ' (0x' + IntToHex(WORD(wcharstocomp1) , 4) + ')';
charvalstr := charvalstr + ' and #' + IntToStr(WORD(wcharstocomp2)) + ' (0x' + IntToHex(WORD(wcharstocomp2) , 4) + ')';
apiretval := ChrCmpIW(WORD(wcharstocomp1), WORD(wcharstocomp2));
newinfoline := 'ChrCmpIW called with ' + charvalstr + ' returned : ';
IF (apiretval = TRUE) THEN
newinfoline := newinfoline + 'TRUE'
ELSE
newinfoline := newinfoline + 'FALSE';
Memo1.Lines.Add(newinfoline);
wcharstocomp1 := 'B';
wcharstocomp2 := 'B';
charstocomp1 := 'B';
charstocomp2 := 'B';
charvalstr := '"' + charstocomp1 + '" (0x' + IntToHex(WORD(wcharstocomp1) , 4) + ')';
charvalstr := charvalstr + ' and "' + charstocomp2 + '" (0x' + IntToHex(WORD(wcharstocomp2) , 4) + ')';
apiretval := ChrCmpIW(WORD(wcharstocomp1), WORD(wcharstocomp2));
newinfoline := 'ChrCmpIW called with ' + charvalstr + ' returned : ';
IF (apiretval = TRUE) THEN
newinfoline := newinfoline + 'TRUE'
ELSE
newinfoline := newinfoline + 'FALSE';
Memo1.Lines.Add(newinfoline);
wcharstocomp1 := 'a';
wcharstocomp2 := 'Z';
charstocomp1 := 'a';
charstocomp2 := 'Z';
charvalstr := '"' + charstocomp1 + '" (0x' + IntToHex(WORD(wcharstocomp1) , 4) + ')';
charvalstr := charvalstr + ' and "' + charstocomp2 + '" (0x' + IntToHex(WORD(wcharstocomp2) , 4) + ')';
apiretval := ChrCmpIW(WORD(wcharstocomp1), WORD(wcharstocomp2));
newinfoline := 'ChrCmpIW called with ' + charvalstr + ' returned : ';
IF (apiretval = TRUE) THEN
newinfoline := newinfoline + 'TRUE'
ELSE
newinfoline := newinfoline + 'FALSE';
Memo1.Lines.Add(newinfoline);
wcharstocomp1 := #915; //Upper case, Greek gamma symbol
wcharstocomp2 := #915; //Upper case, Greek gamma symbol
charvalstr := 'upper case symbol for gamma ' + ' (0x' + IntToHex(WORD(wcharstocomp1) , 4) + ')';
charvalstr := charvalstr + ' and upper case symbol for gamma '+ ' (0x' + IntToHex(WORD(wcharstocomp2) , 4) + ')';
apiretval := ChrCmpIW(WORD(wcharstocomp1), WORD(wcharstocomp2));
newinfoline := 'ChrCmpIW called with ' + charvalstr + ' returned : ';
IF (apiretval = TRUE) THEN
newinfoline := newinfoline + 'TRUE'
ELSE
newinfoline := newinfoline + 'FALSE';
Memo1.Lines.Add(newinfoline);
wcharstocomp1 := #960; //Lower case, Greek pi symbol
wcharstocomp2 := #928; //Upper case, Greek pi symbol
charvalstr := 'Lower case symbol for pi ' + ' (0x' + IntToHex(WORD(wcharstocomp1) , 4) + ')';
charvalstr := charvalstr + ' and upper case symbol for pi '+ ' (0x' + IntToHex(WORD(wcharstocomp2) , 4) + ')';
apiretval := ChrCmpIW(WORD(wcharstocomp1), WORD(wcharstocomp2));
newinfoline := 'ChrCmpIW called with ' + charvalstr + ' returned : ';
IF (apiretval = TRUE) THEN
newinfoline := newinfoline + 'TRUE'
ELSE
newinfoline := newinfoline + 'FALSE';
Memo1.Lines.Add(newinfoline);
wcharstocomp1 := #916; //Upper case, Greek delta symbol
wcharstocomp2 := #952; //Upper case, Greek theta symbol
charvalstr := 'upper case symbol for delta ' + ' (0x' + IntToHex(WORD(wcharstocomp1) , 4) + ')';
charvalstr := charvalstr + ' and upper case symbol for theta '+ ' (0x' + IntToHex(WORD(wcharstocomp2) , 4) + ')';
apiretval := ChrCmpIW(WORD(wcharstocomp1), WORD(wcharstocomp2));
newinfoline := 'ChrCmpIW called with ' + charvalstr + ' returned : ';
IF (apiretval = TRUE) THEN
newinfoline := newinfoline + 'TRUE'
ELSE
newinfoline := newinfoline + 'FALSE';
Memo1.Lines.Add(newinfoline);
newinfoline := '';
Memo1.Lines.Add(newinfoline);
END; |