delphi4arab منتديات دلفي للعرب
سحب الايميلات من قائمة مبعثرة - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : سحب الايميلات من قائمة مبعثرة (/showthread.php?tid=4672)



سحب الايميلات من قائمة مبعثرة - DAMAX2010 - 28-10-2012

أولا عيدك مبارك سعيد للجميع

كيف استعمل Pos لسحب الايميلات فقط
فرضا أني أملك هذا الملف
PHP كود :
email: delphi@site.com mailto: delphi@site.com url: http://www.site.com
أكواد كثيرة غير مهمة
email
: delphi@site.com mailto: delphi@site.com url: http://www.site.com
أكواد كثيرة غير مهمة
email
: delphi@site.com mailto: delphi@site.com url: http://www.site.com
أكواد كثيرة غير مهمة
email
: delphi@site.com mailto: delphi@site.com url: http://www.site.com
أكواد كثيرة غير مهمة 
استعملت الكود الأتي
كود :
start := Pos('email: ', Source) + Length('email: '); done := Pos(' mailto:', Source); Source := Copy(Source, start, done - start); if Source <> '' then Memo1.Lines.Add(Source)
سحب الايميل الأول و توقف


سحب الايميلات من قائمة مبعثرة - Agmcz - 28-10-2012

السلام عليكم
PHP كود :
function GETXGHZ(const s1, s2, s3: string): string;
var
  
i, p1, p2: Integer;
  
SL1, SL2: TStringList;
begin
  Result 
:= '';
  
SL1 := TStringList.Create;
  
SL2 := TStringList.Create;
  try
    
SL1.Text := s3;
    for 
i := 0 to SL1.Count - 1 do
    
begin
      
if (Pos(s1, SL1[i]) <> 0) and (Pos(s2, SL1[i]) <> 0) then
      begin
        p1 
:= Pos(s1, SL1[i]) + Length(s1);
        
p2 := Pos(s2, SL1[i]);
        
SL2.Add(Copy(SL1[i], p1, p2 - p1));
      
end;
    
end;
    
Result := SL2.Text;
  finally
    
SL1.Free;
    
SL2.Free;
  
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo2
.Text := GETXGHZ('email: ', ' mailto:', Memo1.Text);
end;