libsim Versione 7.2.4
|
◆ line_split_new()
Constructor for the line_split class. It creates a new object allowing to split a line of text into multiple lines of predefined length at blank spaces. If a line can't be splitted because a word is longer than the line, it is truncated.
Definizione alla linea 985 del file char_utilities.F90. 986 do i =1, len(goodchar)
987 igoodchar=ichar(goodchar(i:i))
988 end do
989
990 nchar=0
991 do i=1,len(in)
992 ia = ichar(in(i:i))
993 if (any(ia == igoodchar))then
994 nchar=nchar+1
995 charrr(nchar:nchar)=achar(ia)
996 end if
997 end do
998
999deallocate(igoodchar)
1000
1001else
1002
1003 charrr=in
1004
1005end if
1006
1007
1008
1009if (present(badchar)) then
1010
1011allocate(ibadchar(len(badchar)))
1012
1013 do i =1, len(badchar)
1014 ibadchar=ichar(badchar(i:i))
1015 end do
1016
1017 nchar=0
1018 do i=1,len(charrr)
1019 ia = ichar(charrr(i:i))
1020 if (.not. any(ia == ibadchar))then
1021 nchar=nchar+1
1022 charr(nchar:nchar)=achar(ia)
1023 end if
1024 end do
1025
1026deallocate(ibadchar)
1027
1028else
1029
1030 charr=charrr
1031
1032end if
1033
1034
1035if (.not. present(goodchar) .and. .not. present(badchar)) then
1036
1037 nchar=0
1038 do i=1,len(charr)
1039 ia = ichar(charr(i:i))
1040 if ((ia >= 65 .and. ia <= 90) .or. &
1041 (ia >= 97 .and. ia <= 122))then
1042 nchar=nchar+1
1043 char(nchar:nchar)=achar(ia)
1044 end if
1045 end do
1046
1047else
1048
1049 char=charr
1050
1051end if
1052
1053
1054END FUNCTION wash_char
1055
1056
1057! derived by http://sourceforge.net/projects/flibs
1058!
1059! globmatch.f90 --
|