| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344 |
- MODULE test12;
- IMPORT strUtils, InOut, Strings;
- CONST
- CR = 0DH;
- LF = 0AH;
- VAR
- chaine : ARRAY[0..15] OF CHAR;
- taille, longueur : CARDINAL;
- i : CARDINAL;
- PROCEDURE testassign;
- BEGIN
- END testassign;
- PROCEDURE testpos;
- BEGIN
- END testpos;
- PROCEDURE testappendLFCR;
- BEGIN
- (* test des valeurs *)
- InOut.WriteHex(0DH,2);
- InOut.WriteLn;
- InOut.WriteHex(0AH,2);
- InOut.WriteLn;
- InOut.WriteHex(0CH,2);
- InOut.WriteLn;
-
- (* we have several cases here :
- - the length of the string is <= length of the array -3
- so, we have space to append the 3 endline characters
- - the length of the array is not long enough :
- so, we do nothing, but there are more solutions available
- *)
- InOut.WriteString("test1 : y'a de la place");
- InOut.WriteLn;
- chaine := "et voila";
- longueur := Strings.Length(chaine);
- taille := HIGH(chaine);
-
- InOut.WriteCard(longueur,5);
- InOut.WriteLn;
- InOut.WriteCard(taille,5);
- InOut.WriteLn;
-
- strUtils.appendLFCR(chaine);
-
- FOR i := 0 TO longueur -1 DO
- IF chaine[i] = 0C THEN
- InOut.WriteString("0C");
- ELSIF chaine[i] = CHR(LF) THEN
- InOut.WriteString("LF");
- ELSIF chaine[i] = CHR(CR) THEN
- InOut.WriteString("CR");
- ELSE
- InOut.Write(chaine[i]);
- END;
- END;
- InOut.WriteLn;
-
- END testappendLFCR;
- PROCEDURE testisalnum;
- BEGIN
- InOut.WriteString("test IN ");
- InOut.WriteLn;
- InOut.WriteString("test isalnum");
- chaine := "estvoila";
- InOut.WriteLn;
- IF strUtils.isalnum(chaine) THEN
- InOut.WriteString("tout est alphanum");
- ELSE
- InOut.WriteString("Y'a un caractère étranger");
- END;
- InOut.WriteLn;
- chaine := "sdkjhqslkf#$";
- IF strUtils.isalnum(chaine) THEN
- InOut.WriteString("tout est alphanum");
- ELSE
- InOut.WriteString("Y'a un caractère étranger");
- END;
- InOut.WriteLn;
- END testisalnum;
- PROCEDURE testisalpha;
- BEGIN
- InOut.WriteString("test isalpha");
- chaine := "estvoila";
- InOut.WriteLn;
- IF strUtils.isalpha(chaine) THEN
- InOut.WriteString("tout est alpha");
- ELSE
- InOut.WriteString("Y'a un caractère étranger");
- END;
- InOut.WriteLn;
- chaine := "sdkjhqs1";
- IF strUtils.isalpha(chaine) THEN
- InOut.WriteString("tout est alpha");
- ELSE
- InOut.WriteString("Y'a un caractère étranger");
- END;
- InOut.WriteLn;
- END testisalpha;
- PROCEDURE testisascii;
- BEGIN
- InOut.WriteString("test isascii");
- chaine := "estvoila";
- InOut.WriteLn;
- IF strUtils.isalpha(chaine) THEN
- InOut.WriteString("tout est ascii");
- ELSE
- InOut.WriteString("Y'a un caractère étranger");
- END;
- InOut.WriteLn;
- chaine := "sdkjùhqs";
- IF strUtils.isalpha(chaine) THEN
- InOut.WriteString("tout est ascii");
- ELSE
- InOut.WriteString("Y'a un caractère étranger");
- END;
- InOut.WriteLn;
- END testisascii;
- PROCEDURE testisdigit;
- BEGIN
- InOut.WriteString("test isdigit");
- chaine := "12345";
- InOut.WriteLn;
- IF strUtils.isdigit(chaine) THEN
- InOut.WriteString("tout est digit");
- ELSE
- InOut.WriteString("Y'a un caractère étranger");
- END;
- InOut.WriteLn;
- chaine := "123m45";
- IF strUtils.isdigit(chaine) THEN
- InOut.WriteString("tout est digit");
- ELSE
- InOut.WriteString("Y'a un caractère étranger");
- END;
- InOut.WriteLn;
- END testisdigit;
- PROCEDURE testisidentifier;
- BEGIN
- InOut.WriteString("test isidentifier");
- chaine := "estvoila";
- InOut.WriteLn;
- IF strUtils.isalpha(chaine) THEN
- InOut.WriteString("tout est alpha");
- ELSE
- InOut.WriteString("Y'a un caractère étranger");
- END;
- InOut.WriteLn;
- chaine := "sdkjhqs1";
- IF strUtils.isalpha(chaine) THEN
- InOut.WriteString("tout est alpha");
- ELSE
- InOut.WriteString("Y'a un caractère étranger");
- END;
- InOut.WriteLn;
- END testisidentifier;
- PROCEDURE testislower;
- BEGIN
- InOut.WriteString("test islower");
- chaine := "estvoila";
- InOut.WriteLn;
- IF strUtils.isalpha(chaine) THEN
- InOut.WriteString("tout est alpha");
- ELSE
- InOut.WriteString("Y'a un caractère étranger");
- END;
- InOut.WriteLn;
- chaine := "sdkjhqs1";
- IF strUtils.isalpha(chaine) THEN
- InOut.WriteString("tout est alpha");
- ELSE
- InOut.WriteString("Y'a un caractère étranger");
- END;
- InOut.WriteLn;
- END testislower;
- PROCEDURE testisprintable;
- BEGIN
- InOut.WriteString("test isprintable");
- chaine := "estvoila";
- InOut.WriteLn;
- IF strUtils.isalpha(chaine) THEN
- InOut.WriteString("tout est alpha");
- ELSE
- InOut.WriteString("Y'a un caractère étranger");
- END;
- InOut.WriteLn;
- chaine := "sdkjhqs1";
- IF strUtils.isalpha(chaine) THEN
- InOut.WriteString("tout est alpha");
- ELSE
- InOut.WriteString("Y'a un caractère étranger");
- END;
- InOut.WriteLn;
- END testisprintable;
- PROCEDURE testisspace;
- BEGIN
- InOut.WriteString("test isspace");
- chaine := "estvoila";
- InOut.WriteLn;
- IF strUtils.isalpha(chaine) THEN
- InOut.WriteString("tout est alpha");
- ELSE
- InOut.WriteString("Y'a un caractère étranger");
- END;
- InOut.WriteLn;
- chaine := "sdkjhqs1";
- IF strUtils.isalpha(chaine) THEN
- InOut.WriteString("tout est alpha");
- ELSE
- InOut.WriteString("Y'a un caractère étranger");
- END;
- InOut.WriteLn;
- END testisspace;
- PROCEDURE testistitle;
- BEGIN
- InOut.WriteString("test istitle");
- chaine := "Et Voila";
- InOut.WriteLn;
- IF strUtils.istitle(chaine) THEN
- InOut.WriteString("C'est un titre");
- ELSE
- InOut.WriteString("Ce n'est pas un titre");
- END;
- InOut.WriteLn;
- chaine := "Sdkj hqs1";
- IF strUtils.istitle(chaine) THEN
- InOut.WriteString("C'est un titre");
- ELSE
- InOut.WriteString("Ce n'est pas un titre");
- END;
- InOut.WriteLn;
- END testistitle;
- PROCEDURE testisupper;
- BEGIN
-
- InOut.WriteString("test isupper");
- chaine := "VOILAUNECHAINE";
- InOut.WriteLn;
- IF strUtils.isupper(chaine) THEN
- InOut.WriteString("tout est upcase");
- ELSE
- InOut.WriteString("Y'a un caractère en basse casse");
- END;
- InOut.WriteLn;
- chaine := "VOILA UNE CHAINE";
- IF strUtils.isupper(chaine) THEN
- InOut.WriteString("tout est upcase");
- ELSE
- InOut.WriteString("Y'a un caractère en basse casse");
- END;
- InOut.WriteLn;
- END testisupper;
- PROCEDURE testcopy;
- (*PROCEDURE Copy(VAR Ns: ARRAY OF CHAR; S: ARRAY OF CHAR);*)
- VAR
- src1 : ARRAY [0..9] OF CHAR;
- src2 : ARRAY [0..12] OF CHAR;
- src3 : ARRAY [0..5] OF CHAR;
- dst : ARRAY [0..9] OF CHAR;
-
- BEGIN
- (* plusieurs cas :
- - chaines égales
- - src > destination
- - src < destination
- *)
-
- InOut.WriteString(" chaines égales");
- InOut.WriteLn;
- src1 := "1234567890";
- InOut.WriteString("chaine origine : ");
- InOut.WriteString(src1);
- InOut.WriteLn;
- strUtils.Copy(dst,src1);
- InOut.WriteString("chaine destination : ");
- InOut.WriteString(dst);
- InOut.WriteLn;
- InOut.WriteLn;
- InOut.WriteLn;
-
- InOut.WriteString(" source > destination");
- InOut.WriteLn;
- src2 := "1234567890abc";
- strUtils.Copy(dst,src2);
- InOut.WriteString(src2);
- InOut.WriteLn;
- InOut.WriteString(dst);
- InOut.WriteLn;
- InOut.WriteLn;
- InOut.WriteLn;
-
- InOut.WriteString(" source < destination");
- InOut.WriteLn;
- src3 := "123456";
- strUtils.Copy(dst,src3);
- InOut.WriteString(src3);
- InOut.WriteLn;
- InOut.WriteString(dst);
- InOut.WriteLn;
-
- END testcopy;
- BEGIN
- (*testcopy;*)(* works fine *)
- (* testisupper;*)(* works fine *)
- testistitle;
- END test12.
|