PDA

View Full Version : شمارش تعداد حروف تایپ شده در یک Memo



yaas
چهارشنبه 19 آذر 1382, 13:11 عصر
سلام
من چطور می تونم تعداد حروف نوشته شده توی یک Memo ر بشمارم. با اسپیس و بدون اسپیس.
ممنون

مهدی کرامتی
چهارشنبه 19 آذر 1382, 14:09 عصر
این تابع عمل موردنظر شما را انجام میدهد:


function GetMemoCharsCount(Memo:TMemo;CountSpaces:Boolean): Integer;
var I,J:Integer;
begin
for I :=1 to Length(Memo.Text) do
begin
if CountSpaces then
begin
if Not(Memo.Text[I] in [#13,#10]) then
J:=J+1;
end
else
begin
if Not(Memo.Text[I] in [#13,#10,#32]) then
J:=J+1;
end;
end;
Result:=J;
end;

اگر میخواهید Space ها شمرده شوند پارامتر دوم را True و در غیر اینصورت False پاس کنید.
مثال:


procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Clear;
Memo1.Lines.Add('Hello World!');
Memo1.Lines.Add('Salam Donya!');
Form1.Caption:=IntToStr(GetMemoCharsCount(Memo1,Fa lse));
end;

اینم یک نمونه برنامه که تابع فوق در اون استفاده شده:

yaas
شنبه 22 آذر 1382, 12:24 عصر
سلام
دست شما درد نکنه