ورود

View Full Version : جستجو و جایگزین کردن یک حرف



ali_gtp
یک شنبه 28 بهمن 1386, 21:48 عصر
با سلام خیلی جستجو کردم ولی اونی که می خواستم پیدا نکردم .
من دارم یه برنامه درست می کنم که به این مشکل برخوردم من می خوام که یه حرف رو برام جستجو کنه و بجاش یه حرف دیگه رو جایگزین کنه اگه کسی میتونه منو راهنمایی کنه.

حمیدرضاصادقیان
یک شنبه 28 بهمن 1386, 22:44 عصر
سلام دوست عزیز.اگه میخوای دیتای داخل sql رو بروز کنی با دستور خود Replace میتونی اینکارو انجام بدی.
اگر غیر از اینه که شما متن مورد نظر رو میگیری در یک متغیر ذخیره میکنی ، طول رشته مورد نظرت رو بدست میاری و در یک حلقه تک تک کارکتر های اونو تست میکنی اگر با مقدار مورد نظرت برابر بود اونو با مقداری که میخوای جایگزین میکنی.

ali_gtp
یک شنبه 28 بهمن 1386, 22:51 عصر
نه دوست عزیز من یک بانک اطلاعاتی دارم که متون و تحقیقات رو داخلش ذخیره میکنم(پارادوکس هست) و چون حرف ی رو بصورت ؟ ذخیره می کنه می خوام که اینو قبل از ذخیره سازی جایگزین کنم . یعنی ی بجای ؟
ممنون

ali_gtp
دوشنبه 29 بهمن 1386, 07:09 صبح
بابا یکی کمک کنه کسی بلد نیست؟

Saeid59_m
دوشنبه 29 بهمن 1386, 07:19 صبح
این که کاری نداره



For i:=1 to length (s) Do
if s[i]='؟' then s[i]:='ی';

ali_gtp
دوشنبه 29 بهمن 1386, 10:39 صبح
اینجوری امتحان کردم سیستم هنگ میکنه حالا بزار یه بار دیگه امتحان کنم .

ali_gtp
دوشنبه 29 بهمن 1386, 10:52 صبح
آقا حل شد.
اینجوری نوشتم:


procedure TForm5.DBMemo1Change(Sender: TObject);
var i:integer;
s:string;
begin
s:=DBMemo1.Text;
for i:=1 to length(s) do
if s[i]='?' then
s[i]:='í';
DBMemo1.Text:=s;
end;
قبلا اینجوری نوشتم که هنگ میکرد:

procedure TForm5.DBMemo1Change(Sender: TObject);
var i:integer;
s:string;
begin
s:=DBMemo1.Text;
for i:=1 to length(s) do
if s[i]='?' then
begin
s[i]:='í';
DBMemo1.Text:=s;
end;
end;

فقط تو یه begin و end فرق میکنه . ممنون از شما