Nästa: Filhantering
Upp: Fördeklarerade procedurer och funktioner
Förra: Slumptal
PROGRAM Trimtest;
VAR
str1, str2: Varying[100] OF Char;
BEGIN
str1 := 'Grisar!! ';
str2 := 'Svin!!';
Writeln(Trim(str1), str2);
END.
ger utskriften
Grisar!!Svin!!
Observera: Om man låter returvärdet av ett Trim-anrop tilldela
en strängvariabel med bestämd längd (se
avsnitt 8.3), kommer de sista överflödiga
positionerna (om det finns några sådana) i denna variabel i alla fall
att fyllas med blanka.
Operatorn + kan användas för att slå ihop två eller flera strängar. Som exempel tar vi satsen str := 'Gris' + 'ar oc' + 'h nöff'; som alltså tilldelar variabeln str strängen 'Grisar och nöff'.
Operatorerna =, <>, <, <=, =>, > kan användas för att jämföra två strängar. Strängen x är mindre än strängen y om x kommer före i bokstavsordningen. Stora bokstäver kommer före små bokstäver, men på grund av en bugg i version 4.2 av pascalkompilatorn så kommer bokstäverna å, ä, ö före alla andra tecken.
Om man vill ha riktig svensk bokstavsordning ska man använda
jämförelsefunktionen
SweStrCmp(s1,s2:sträng- eller teckentyp):Integer
som finns i filen
/usr/local/include/pc/strings.h.
Om s1 eller s2 har fler än 256 tecken
ignoreras de sista. Om s1 är alfabetiskt större än s2 returneras
1, om s1 är alfabetiskt mindre än s2 returneras -1 och om strängarna
är lika returneras 0. Gemena och versala bokstäver behandlas lika, siffror är mindre
än bokstäver och de svenska bokstäverna å, ä, ö, Å, Ä och Ö jämförs korrekt. Exempel:
| Anrop | Returvärde |
| SweStrCmp('ÖrA', 'åRA') | 1 |
| SweStrCmp('lab4', 'lab5') | -1 |
| SweStrCmp('lab 7', 'lab7') | -1 |
| SweStrCmp('TeX', 'tEx') | |
| SweStrCmp('Grisar','Gris') | 1 |
| SweStrCmp('', 'NÖFF') | -1 |
Viggo Kann