05-23-2003, 07:55 AM
Quote:Not what is was looking for. But since it is short... 10 points!
But... mine can convert a whole sentence... :'(
The Parse function is a super awesome routine that I think superghost created.
Quote:Not what is was looking for. But since it is short... 10 points!
In$ = "chop"
Out$ = ""
SELECT CASE UCASE$(LEFT$(In$, 1))
CASE IS = "A", "E", "I", "O", "U"
Out$ = In$ + "-way"
CASE ELSE
FOR x% = 2 TO LEN(In$)
SELECT CASE UCASE$(MID$(In$, x%, 1))
CASE IS = "A", "E", "I", "O", "U": EXIT FOR
END SELECT
NEXT
L$ = LEFT$(In$, x% - 1)
R$ = MID$(In$, x%, LEN(In$))
Out$ = R$ + "-" + L$ + "ay"
END SELECT
PRINT Out$
DECLARE FUNCTION Piggy$ (In$)
PRINT Piggy$("what is pig latin that is the question")
PRINT Piggy$("hello my name is dave and i'm a pig")
PRINT
INPUT "What do you say, pig"; A$
PRINT Piggy$(A$)
FUNCTION Piggy$ (In$)
Out$ = ""
DO UNTIL w >= LEN(In$)
'=== Parse a word...
temp$ = ""
WHILE MID$(In$, w + 1, 1) <> " " AND MID$(In$, w + 1, 1) <> ""
temp$ = temp$ + MID$(In$, w + 1, 1)
w = w + 1
WEND
'====== piggy it ====
FOR x% = 1 TO LEN(temp$)
SELECT CASE UCASE$(MID$(temp$, x%, 1))
CASE IS = "A", "E", "I", "O", "U", "Y": EXIT FOR
END SELECT
NEXT
'=== If vowel first...
IF x% = 1 THEN
Out$ = Out$ + temp$ + "-way "
'=== If starts with "qu"...
ELSEIF UCASE$(LEFT$(temp$, 2)) = "QU" THEN
Out$ = Out$ + RIGHT$(temp$, LEN(temp$) - 2)
Out$ = Out$ + "-" + LEFT$(temp$, 2) + "ay "
'=== else...
ELSE
L$ = LEFT$(temp$, x% - 1)
R$ = MID$(temp$, x%, LEN(temp$))
Out$ = Out$ + R$ + "-" + L$ + "ay "
END IF
'====================
w = w + 1
LOOP
Piggy$ = Out$
END FUNCTION