PDA

View Full Version : مشکل با دستور Delete



sj1501
شنبه 01 آذر 1393, 14:09 عصر
سلام دوستان من از دستور delete برای حذف بخشی از رشته استفاده کردم اما خطا سمیکالون میده لطفا راهنمایی کنید با تشکر

khoshblagh
شنبه 01 آذر 1393, 20:17 عصر
سلام دوستان من از دستور delete برای حذف بخشی از رشته استفاده کردم اما خطا سمیکالون میده لطفا راهنمایی کنید با تشکر
با سلام دستور را اینطور بنویس

begin
if copy(s,1,5)=' and ' then Delete (s,1,5);
end;

sj1501
سه شنبه 04 آذر 1393, 12:26 عصر
با سلام دستور را اینطور بنویس

begin
if copy(s,1,5)=' and ' then Delete (s,1,5);
end;

سلام دوست عزیز مرسی از اینکه جواب دادید ولی بازهم همین خطا را میدهد! ؟؟؟؟؟؟؟؟؟؟؟؟؟

یوسف زالی
سه شنبه 04 آذر 1393, 12:54 عصر
دستور مربوطه رو بردارید ببینید باز خطا می ده؟
اگر بله، ایراد جای دیگه هست.

sj1501
چهارشنبه 05 آذر 1393, 21:12 عصر
دستور مربوطه رو بردارید ببینید باز خطا می ده؟
اگر بله، ایراد جای دیگه هست.

دستور دیگه به جای Delete نوشتم خطا نداد.
البته اینم بگم این دستور در پروژه دیگه جواب میده ولی تو این پروژه خطا میده

یوسف زالی
چهارشنبه 05 آذر 1393, 22:37 عصر
دستور که انتخابی کار نمی کنه، یه جای کارت می لنگه.
کدت رو کامل تر بگذار بشه راهنمایی بهتری کرد.

sj1501
جمعه 07 آذر 1393, 14:46 عصر
دستور که انتخابی کار نمی کنه، یه جای کارت می لنگه.
کدت رو کامل تر بگذار بشه راهنمایی بهتری کرد.
procedure TFIist_Equip_ID.SearchClick(Sender: TObject);var s:string;
begin
s:='ID =' + QuotedStr(e1.Text);
s:=s+' and Equipment =' + QuotedStr(e1.Text);
s:=s+' and Status =' + QuotedStr(c1.Text);
s:=s+' and Degree =' + QuotedStr(c2.Text);
s:=s+' and Location =' + QuotedStr(e3.Text);
s:=s+' and Type =' + QuotedStr(e4.Text);
s:=s+' and Line =' + QuotedStr(e5.Text);
s:=s+' and Date_Installation =' + QuotedStr(e6.Text);
s:=s+' and Category =' + QuotedStr(e7.Text);
s:=s+' and Significance =' + QuotedStr(c3.Text);
begin
if copy(s,1,5)=' and ' then delete(s,1,5);
end;
TEquip_ID.Filter:=s;
TEquip_ID.Filtered := True;
end;

یوسف زالی
جمعه 07 آذر 1393, 14:54 عصر
کد مشکلی ندارد.

developing
جمعه 07 آذر 1393, 18:38 عصر
با سلام

اگه دقیقا همین کد در برنامه ی شما نوشته شده است. باید بگم اشتباه زیر در آن وجود دارد.

بعد از and در if دو بار از فاصله استفاده نموده اید. یعنی به جای ' and ' نوشتید ' and '.

کافی است به جای خط زیر

if copy(s,1,5)=' and ' then delete(s,1,5);

خط زیر را جایگزین نمایید.


if copy(s,1,5)=' and ' then delete(s,1,5);

sj1501
یک شنبه 09 آذر 1393, 09:46 صبح
با سلام

اگه دقیقا همین کد در برنامه ی شما نوشته شده است. باید بگم اشتباه زیر در آن وجود دارد.

بعد از and در if دو بار از فاصله استفاده نموده اید. یعنی به جای ' and ' نوشتید ' and '.

کافی است به جای خط زیر

if copy(s,1,5)=' and ' then delete(s,1,5);

خط زیر را جایگزین نمایید.


if copy(s,1,5)=' and ' then delete(s,1,5);

اینکار هم کردم ولی باز هم خطا می دهد اگر به خطا که در اولین پست گذاشته شده دقت کنید این فاصله را هم ندارد لطفا کمک کنید

developing
شنبه 15 آذر 1393, 22:42 عصر
با سلام

من برای اطمینان از درستی مطالب بالا آنرا در دو نسخه XE2 و ۷ دلفی و نسخه 1.0.10 لازاروس آزمایش نمودم.

در تمام نسخه های بالا به خوبی متن اضافه در ابتدای رشته پاک سازی شد.

شاید :لبخندساده: با استفاده از تابع Leftstr بتوانید نتیجه بگیرید.

امتحان کنید و نتیجه را بگویید.

اگر نشد لطفا نسخه IDE، تابع، و نوع رشته ی خود را کامل بگویید تا بشود راهنمایی نمود.