07-08-2013، 02:25 PM
سلام دوستان من 2 تا سوال دارم
سوال اول :
من دارم سعی میکنم از textbox یه ورودی از نوع رشته بگریم و بعد بیام تعریف کنم که جای هر حرف (همه حروف انگلیسی) با یه چیز دیگه عوض کنه مثلا اگه رشته ما alireza باشه و من تعریف کنم که جای a مثلا the جایگزین بشه جای l مثلا hello و همینطوری ... .
alireza بشه thehelloreza
اما مشکل اینجاست که تابع replace فقط یک حرف رو تبدیل به چیزه دیگه میکنه ، یعنی من باید 26 بار این تابع رو صدا بزنم ؟
و اینکه مثلا من اگه حرف a رو به the تغییر دادن بعدش حرف بعدی اگه t بود اون the قبلی که جایگزین شده هم تغییر میکنه ؟
سوال دوم :
مشکل با تابع insert هست ، من میخوام اگه تعداد حروف وارد شده در textbox اگه زوج بود یک حرف در میان این کاراکتر '-' بین حروف اضافه بشه مثلا:
alireza بشه -> a-l-i-r-e-z-a
در کل من خیلی با دلفی کار نکردم اما این رو نوشتم ولی خیلی جاهاش کار نمیکنه !
ممنون میشم کمکم کنید
سوال اول :
من دارم سعی میکنم از textbox یه ورودی از نوع رشته بگریم و بعد بیام تعریف کنم که جای هر حرف (همه حروف انگلیسی) با یه چیز دیگه عوض کنه مثلا اگه رشته ما alireza باشه و من تعریف کنم که جای a مثلا the جایگزین بشه جای l مثلا hello و همینطوری ... .
alireza بشه thehelloreza
اما مشکل اینجاست که تابع replace فقط یک حرف رو تبدیل به چیزه دیگه میکنه ، یعنی من باید 26 بار این تابع رو صدا بزنم ؟
و اینکه مثلا من اگه حرف a رو به the تغییر دادن بعدش حرف بعدی اگه t بود اون the قبلی که جایگزین شده هم تغییر میکنه ؟
سوال دوم :
مشکل با تابع insert هست ، من میخوام اگه تعداد حروف وارد شده در textbox اگه زوج بود یک حرف در میان این کاراکتر '-' بین حروف اضافه بشه مثلا:
alireza بشه -> a-l-i-r-e-z-a
در کل من خیلی با دلفی کار نکردم اما این رو نوشتم ولی خیلی جاهاش کار نمیکنه !
ممنون میشم کمکم کنید
کد پیاچپی:
var
Form2: TForm2;
s,s2,s3,s4,s5 : string;
i,k : Integer;
implementation
{$R *.dfm}
function recrsive(n:string):string;
begin
s4 := StringReplace(n, 'a', 'THE',[rfReplaceAll, rfIgnoreCase]);
s4 := StringReplace(n, 'b', 'END',[rfReplaceAll, rfIgnoreCase]);
end;
procedure TForm2.btn1Click(Sender: TObject);
begin
s := Trim(edt1.Text);
s3 := Trim(edt1.Text);
s2 := '';
SetLength (s2, Length(s));
k := 0;
if Length(s) mod 2 = 0 then
begin
for I := 1 to Length(s) do
begin
k := i+1;
Insert('-',S,k);
showMessage(s);
end;
end;