delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف احذف كلمات من سلسلة نصية
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم

أستفسر عن عكس هذه الدالة يعني else
PHP كود :
s:=http.sl.GetText;
delete(s ,1 ,pos('<font>',s)+length('<font>')-1);
delete(s, pos('</font>',s) ,length(s) );
Memo1.Lines.Add(s); 
كيف أعمل عكسها يعني اذا لم يجد هذا في النتيجة راح يظهر لي Not Founded
في Memo1
جربت if...then ...else لم تنجح ربما أخطأت في التعبير
كما جربت try ... except و لم تنجح أيضا
افحص قيمة المتحول s اذا كانت لاتجلب اي شيء
ممكن توضح أكثر
وعليكم السلام
بوجد عدة أمثله في المنتدى ابحث فقط
كود :
s := http.sl.GetText; s := copy(s, pos('<font>', s) + 6, pos('</font>', s) - 7); if s <> '' then Memo1.Lines.Add(s) else Memo1.Lines.Add('Not Founded');
شكرا لك هذه تصلح مع copy أنا حبيت مع Delete
PHP كود :
delete(s ,1 ,pos('<font>',s)+length('<font>')-1);
delete(s, pos('</font>',s) ,length(s) ); 
لأن الcopy يخرج لي باقي الصفحة
هكدا افضل
بالتوفيق
كود :
var p1, p2: Integer; s: string; begin s := '<font>delphi</font>'; p1 := Pos('<font>', s) + Length('<font>'); p2 := Pos('</font>', s); s := Copy(s, p1, p2 - p1); if s <> '' then Memo1.Lines.Add(s) else Memo1.Lines.Add('Not Founded'); end;
شكرا لك نجرب و نرد
استخدم pos او ansipos مثلا
if pos(.....) <>0 then
found
else
not found
او استخدم StringReplace
السلام عليكم
onexite
كما نعلم الدالة Pos ترجع قيمة رقمية
في هده الحالة
if Pos('work', s) <> 0 then
ادا ارجعت Pos قيمة أكبر من 0
هدا يعني ان الشرط تحقق ونص موجود
يمكن استعمالها أولا للتحقق
اخونا يريد نسخ كلمات من سلسلة نصية
أما StringReplace في حالته لن يستعملها
يكفي استعمال Copy Pos