السلام عليكم: قد نحتاج في بعض الاحيان الى ملئ string معين اي تكميل الاحرف الى عدد معين و ملأها بمحرف معين,
هذا الامر رأيته ضمن توابع ال Dot Net ولكنه ليس متوفر ضمن دلفي
function LeftPad(S: string; Ch: Char; Len: Integer): string; var RestLen: Integer; begin Result := S; RestLen := Len - Length(s); if RestLen < 1 then Exit; Result := S + StringOfChar(Ch, RestLen); end; function RightPad(S: string; Ch: Char; Len: Integer): string; var RestLen: Integer; begin Result := S; RestLen := Len - Length(s); if RestLen < 1 then Exit; Result := StringOfChar(Ch, RestLen) + S; end;
استدعي التابع LeftPad عندما تريد ملئ الحروف على يسار ال String
و استدعي التابع RightPad عندما تريد ملئ الحروف على يمين ال string
S: يمثل نص المحارف الذي تريد اضافة المحرف المتكرر له
Ch: و هو يمثل المحرف الذي تريد تعبئته ضمن نص المحارف S
Len: و هو الطول الكلي لنص المحارف الذي تريده ان ينتج عن عملية ال Pad
بعض النتائج للاستدعاءات لكي توضح الفكرة:
Rightpad('WAEL','$',10);سوف يكون النص العائد من استدعاء هذا التابع هو :
$$$$$$Wael
LeftPad('Delta','0',8);سوف ينتج:
000Delta
الكود منقول من Torry's Delphi Pages