String comparison: Difference between revisions
Content added Content deleted
(→{{header|Quackery}}: typo, again) |
(String comparison in various BASIC dialents (BASIC256, QBasic, True BASIC and Yabasic)) |
||
Line 1,077: | Line 1,077: | ||
For case sensitive comparisons {{works with|Applesoft BASIC}} |
For case sensitive comparisons {{works with|Applesoft BASIC}} |
||
Applesoft BASIC does not have a built in UPPER$ function. |
Applesoft BASIC does not have a built in UPPER$ function. |
||
==={{header|BASIC256}}=== |
|||
{{trans|FreeBASIC}} |
|||
<lang freebasic>function StringCompare(s1, s2, ignoreCase) |
|||
if ignoreCase then |
|||
s = lower(s1) |
|||
t = lower(s2) |
|||
else |
|||
s = s1 |
|||
t = s2 |
|||
end if |
|||
if s < t then return " comes before " |
|||
if s = t then return " is equal to " |
|||
return " comes after " |
|||
end function |
|||
s1 = "Dog" : s2 = "Dog" |
|||
print s1; StringCompare(s1, s2, False); s2 |
|||
s2 = "Cat" |
|||
print s1; StringCompare(s1, s2, False); s2 |
|||
s2 = "Rat" |
|||
print s1; StringCompare(s1, s2, False); s2 |
|||
s2 = "dog" |
|||
print s1; StringCompare(s1, s2, False); s2 |
|||
print s1; StringCompare(s1, s2, True); s2; " if case is ignored" |
|||
s1 = "Dog" : s2 = "Pig" |
|||
s3 = StringCompare(s1, s2, False) |
|||
if s3 <> " is equal to " then print s1; " is not equal to "; s2 |
|||
end</lang> |
|||
{{out}} |
|||
<pre>Igual que la entrada de FreeBASIC.</pre> |
|||
==={{header|QBasic}}=== |
|||
{{works with|QBasic|1.1}} |
|||
{{works with|QuickBasic|4.5}} |
|||
{{trans|FreeBASIC}} |
|||
<lang QBasic>FUNCTION StringCompare$ (s1 AS STRING, s2 AS STRING, ignoreCase) |
|||
DIM s AS STRING, t AS STRING |
|||
IF ignoreCase THEN |
|||
s = LCASE$(s1) |
|||
t = LCASE$(s2) |
|||
ELSE |
|||
s = s1 |
|||
t = s2 |
|||
END IF |
|||
IF s < t THEN StringCompare$ = " comes before ": EXIT FUNCTION |
|||
IF s = t THEN StringCompare$ = " is equal to ": EXIT FUNCTION |
|||
StringCompare$ = " comes after " |
|||
END FUNCTION |
|||
DIM s1 AS STRING, s2 AS STRING, s3 AS STRING |
|||
s1 = "Dog": s2 = "Dog" |
|||
PRINT s1; StringCompare$(s1, s2, 0); s2 |
|||
s2 = "Cat" |
|||
PRINT s1; StringCompare$(s1, s2, 0); s2 |
|||
s2 = "Rat" |
|||
PRINT s1; StringCompare$(s1, s2, 0); s2 |
|||
s2 = "dog" |
|||
PRINT s1; StringCompare$(s1, s2, 0); s2 |
|||
PRINT s1; StringCompare$(s1, s2, 1); s2; " if case is ignored" |
|||
s1 = "Dog": s2 = "Pig" |
|||
s3 = StringCompare$(s1, s2, 0) |
|||
IF s3 <> " is equal to " THEN PRINT s1; " is not equal to "; s2 |
|||
END</lang> |
|||
{{out}} |
|||
<pre>Igual que la entrada de FreeBASIC.</pre> |
|||
==={{header|True BASIC}}=== |
|||
{{works with|QBasic}} |
|||
{{trans|FreeBASIC}} |
|||
<lang qbasic>FUNCTION StringCompare$(s1$, s2$, ignorecase) |
|||
IF ignorecase = True then |
|||
LET s$ = LCASE$(s1$) |
|||
LET t$ = LCASE$(s2$) |
|||
ELSE |
|||
LET s$ = s1$ |
|||
LET t$ = s2$ |
|||
END IF |
|||
IF s$ < t$ then |
|||
LET StringCompare$ = " comes before " |
|||
ELSE |
|||
IF s$ = t$ then |
|||
LET StringCompare$ = " is equal to " |
|||
ELSE |
|||
LET StringCompare$ = " comes after " |
|||
END IF |
|||
END IF |
|||
END FUNCTION |
|||
LET s1$ = "Dog" |
|||
LET s2$ = "Dog" |
|||
PRINT s1$; StringCompare$(s1$, s2$, False); s2$ |
|||
LET s2$ = "Cat" |
|||
PRINT s1$; StringCompare$(s1$, s2$, False); s2$ |
|||
LET s2$ = "Rat" |
|||
PRINT s1$; StringCompare$(s1$, s2$, False); s2$ |
|||
LET s2$ = "dog" |
|||
PRINT s1$; StringCompare$(s1$, s2$, False); s2$ |
|||
PRINT s1$; StringCompare$(s1$, s2$, True); s2$; " if case is ignored" |
|||
LET s1$ = "Dog" |
|||
LET s2$ = "Pig" |
|||
LET s3$ = StringCompare$(s1$, s2$, 0) |
|||
IF s3$ <> " is equal to " then PRINT s1$; " is not equal to "; s2$ |
|||
END</lang> |
|||
{{out}} |
|||
<pre>Igual que la entrada de FreeBASIC.</pre> |
|||
==={{header|Yabasic}}=== |
|||
{{trans|FreeBASIC}} |
|||
<lang freebasic>sub StringCompare$(s1$, s2$, ignoreCase) |
|||
local s$, t$ |
|||
if ignoreCase then |
|||
s$ = lower$(s1$) |
|||
t$ = lower$(s2$) |
|||
else |
|||
s$ = s1$ |
|||
t$ = s2$ |
|||
end if |
|||
if s$ < t$ return " comes before " |
|||
if s$ = t$ return " is equal to " |
|||
return " comes after " |
|||
end sub |
|||
s1$ = "Dog" : s2$ = "Dog" |
|||
print s1$, StringCompare$(s1$, s2$, False), s2$ |
|||
s2$ = "Cat" |
|||
print s1$, StringCompare$(s1$, s2$, False), s2$ |
|||
s2$ = "Rat" |
|||
print s1$, StringCompare$(s1$, s2$, False), s2$ |
|||
s2$ = "dog" |
|||
print s1$, StringCompare$(s1$, s2$, False), s2$ |
|||
print s1$, StringCompare$(s1$, s2$, True), s2$, " if case is ignored" |
|||
s1$ = "Dog" : s2$ = "Pig" |
|||
s3$ = StringCompare$(s1$, s2$, False) |
|||
if s3$ <> " is equal to " print s1$, " is not equal to ", s2$ |
|||
end</lang> |
|||
{{out}} |
|||
<pre>Igual que la entrada de FreeBASIC.</pre> |
|||
=={{header|BBC BASIC}}== |
=={{header|BBC BASIC}}== |