Parsi Coders
سوال در رابطه با 2تابع replace و insert - نسخه قابل چاپ

+- Parsi Coders (http://parsicoders.com)
+-- انجمن: Software Development Programming (http://parsicoders.com/forumdisplay.php?fid=37)
+--- انجمن: Pascal/Delphi (http://parsicoders.com/forumdisplay.php?fid=45)
+---- انجمن: Delphi (http://parsicoders.com/forumdisplay.php?fid=69)
+---- موضوع: سوال در رابطه با 2تابع replace و insert (/showthread.php?tid=3277)



سوال در رابطه با 2تابع replace و insert - nimaarek - 07-08-2013

سلام دوستان من 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

در کل من خیلی با دلفی کار نکردم اما این رو نوشتم ولی خیلی جاهاش کار نمیکنه !
ممنون میشم کمکم کنید

کد پی‌اچ‌پی:
var
  
Form2TForm2;
  
s,s2,s3,s4,s5 string;
  
i,Integer;
implementation
 
{$R *.dfm}
function 
recrsive(n:string):string;
begin
  s4 
:= StringReplace(n'a''THE',[rfReplaceAllrfIgnoreCase]);
  
s4 := StringReplace(n'b''END',[rfReplaceAllrfIgnoreCase]);
end;
 
procedure TForm2.btn1Click(SenderTObject);
begin
:= Trim(edt1.Text);
s3 := Trim(edt1.Text);
s2 := '';
SetLength (s2Length(s));
:= 0;
if 
Length(smod 2 0 then
begin
for := 1 to Length(s) do
begin
  k 
:= i+1;
  
Insert('-',S,k);
  
showMessage(s);
end;
end

 

 


RE: سوال در رابطه با 2تابع replace و insert - Z4R4THUSTR4 - 07-10-2013

 
کد پی‌اچ‌پی:
function SpChar(InStr:string):string;
var
c1:integer;
St:string;
begin
 
for c1 := 1 to Length(InStr) do
   
begin
     
if c1<>Length(Instrthen St := '_' else St :='';
     
Result:=Result+InStr[c1]+St;
   
end;
end

 

سوال اولت رو اصلا متوجه نشدم


RE: سوال در رابطه با 2تابع replace و insert - nimaarek - 07-10-2013

مرسی ولی حل شده بود مشکلم