در این جلسه نیز می خواهیم به برخی از توابعی که با آنها کم و بیش سروکار داریم اشاره کنیم . ابتدا به برخی از توابع کنترل رشته ها می پردازیم : ======================== CompareStr , StrComp : این دو تابع برای مقایسه کردن دو رشته به کار می رود . شکل کلی آن به صورت زیر می باشد :
function StrComp(const Str1, Str2 : PChar): Integer; function CompareStr(const S1, S2: string): Integer;
- این تابع دو پارامتر رشته ای را دریافت می کند و نتیجه ای صحیح طبق جدول زیر برمی گرداند .
عددی منفی بر می گرداند <0 | Str1< Str2 در صورت برابری صفر بر می گرداند =0 | Str1= Str2 عددی مثبت بر می گرداند >0 | Str1 > Str2
StrCopy : این تابع یک رشته را به در یک رشته دیگر کپی می کند . شکل کلی آن به صورت زیر می باشد :
function StrCopy(Dest: PChar; const Source: PChar): PChar;
پارارمتر Dest رشته ای است که باید در آن عملیات کپی صورت گیرد و پارامتر Source رشته ای است که قرار است کپی شود . این تابع یک مقدار رشته ای بر می گرداند که در واقع همان پارامتر Dest می باشد .
Lenght , StrLen : این دو تابع طول یک رشته را بر میگرداند و در واقع تعداد کاراکترهای یک رشته می باشد . شکل کلی آن به صورت زیر است :
function StrLen(const Str: PChar): Cardinal; function Length(Str): Integer;
پارامتر Str رشته ای است که قرار است طول آن محاسبه شود .
LowerCase , StrLower : این دو تابع تمام کاراکترهای یک رشته را به کاراکتر کوچک تبدیل می کند. شکل تابع به صورت زیر است:
function StrLower(Str: PChar): PChar; function LowerCase(const S: string): string;
این تابع یک رشته را به عنوان پارامتر دریافت می کند و پس از تبدیل آن را بر می گرداند .
Pos , StrPos : کار این دو تابع جستجوی یک رشته درون رشته ای دیگر است و به صورت زیر به کار می رود :
function StrPos(const tr1, Str2: PChar): PChar; function Pos(Substr: string; S: string): Integer;
این تابع دو پارامتر رشته را می گیرد و رشته Str2 را درون رشته str1 جستجو می کند ، در صورتی که رشته پیدا نشود مقدار nil را بر می گرداند . در مورد تابع Pos در صورت پیدا شدن رشته محل اولین وقوع آن بر گردانده می شود .
UpperCase , StrUpper : این دو تابع نیز تمام کاراکترهای یک رشته را به کاراکتر بزرگ تبدیل می کند. شکل تابع به صورت زیر است:
function StrUpper(Str: PChar): PChar; function UpperCase(const S: string): string;
این تابع یک رشته را به عنوان پارامتر دریافت می کند و پس از تبدیل آن را بر می گرداند .
Copy : این تابع ، برای جدا کردن زیررشته از یک رشته مورد استفاده قرار می گیرد و به صورت زیر به کار می رود :
function Copy(S : String ; Index, Count: Integer): string;
این تابع سه پارامتر می گیرد و از مکان Index رشته Sبه تعداد Count کاراکتر جدا می کند و زیررشته مورد نظر را بر میگرداند .
روال Delete : این روال قسمتی از یک رشته را حذف می کند .
این تابع از کارکتر شماره Index به طول Count از رشته S کاراکترها را حذف نموده و رشته جدید را بر می گرداند .
روال Insert : از این روال برای قرار دادن رشته ای در یک رشته دیگر به کار می رود .
procedure Insert(Source: string; var S: string; Index: Integer);
این روال رشته source را گرفته و در مکان Index از رشته S کپی کرده و رشته جدید S را برمیگرداند .
TrimLeft , TrimRight : این دو تابع یک رشته را گرفته و به ترتیب فضای خالی سمت راست و فضای خالی سمت چپ آن را حذف می کنند.
function TrimLeft(const S: string): string; function TrimLeft(const S: WideString): WideString;
function TrimRight(const S: string): string; function TrimRight(const S: WideString): WideString;
روال Str : از این روال برای تبدیل مقدار عددی به رشته عددی به کار می رود و به صورت زیر می باشد :
procedure Str(X [: Width [: Decimals ]]; var S);
این روال مقدار عددی X را گرفته و به مقدار رشته عددی S تبدیل می کند . پارامترهای انتخابی و دلخواه Width و Decimals به ترتیب طول قسمت عددی که قرار است به رشته تبدیل شود و طول قسمت اعشار عدد اعشاری می باشد . مثال :
var Num : Integer ; S : String ; Num := 125.236 ; Str(Num : 6 : 2 , S) ; مقدار S = '125.23'