delphi4arab منتديات دلفي للعرب
كيف ينسخ نص بين وسمين <1> <4> - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف ينسخ نص بين وسمين <1> <4> (/showthread.php?tid=3361)

الصفحات: 1 2


كيف ينسخ نص بين وسمين <1> <4> - Agmcz - 19-08-2011

السلام عليكم ورحمة الله وبركاته
أود طريقة لنسخ الكلمات بين <1> <4>
كود :
<1>delphi3<1> <1>delphi3<2> <1>delphi3<3> <1>delphi44<4> <1>delphi4<4>
باستعمال pos أو طريقة أخرى


كيف ينسخ نص بين وسمين <1> <4> - cargem - 19-08-2011

هل تريد هكذا كود

كود :
procedure TForm1.Button1Click(Sender: TObject); var s1:ShortString; begin // <1>delphi44<4> if Pos('>','<1>delphi44<4>' )>0 then s1 := Copy('<1>delphi44<4>',Pos('>','<1>delphi44<4>' ) + 1 ,length('<1>delphi44<4>' )-Pos('>','<1>delphi44<4>' ) -3 ) ; Edit1.Text :=s1 ; end;



كيف ينسخ نص بين وسمين <1> <4> - Agmcz - 19-08-2011

شكرا أخي على المحاولة
القيمة delphi44
ليست ثابته أود نسخ مابين الوسمين <1> <4>


كيف ينسخ نص بين وسمين <1> <4> - cargem - 19-08-2011

هذا افضل
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
 var
 
s1, s2, s3:string; i, t:Integer;

begin        // <1>delphi44<4>
    
s1 := '<1>delphi44999<4>'  ;
 for 
i := 1 to length(s1)  do
        case 
s1[i] of
         
'a'..'z' :s2 := s2 + s1[i]  ;
         
'A'..'Z' :s2 := s2 + s1[i]  ;

        
end;
        
t :=Pos(s2, s1)   ;
        if 
t>0 then
         s3 
:=     Copy(s1,t ,length(s1)-length(s2) );
        
Edit1.Text  := s3 ;
end; 

PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
 var
 
s1, s2, s3:string; i,j,  t:Integer;

begin        // <1>delphi44<4>
    
s1 := '<1>delphi44999o<4>'  ;
        
s2:= '';
for 
i := 1 to length(s1)  do
begin


             t  
:= Pos('<', s1[i])  ;
             if 
t >0   then

                 begin
                  j 
:= Pos('>', s1)  ;
                    if 
j >0   then
                   j 
:=  j + 1 ;
                   
t :=  i-j ;


                 
end;
             if (
j>1)and (t>j) then
              s2 
:= Copy(s1,j ,t);
end;
        
Edit1.Text  := s2 ;
end; 



كيف ينسخ نص بين وسمين <1> <4> - S.M.Abdelhak - 20-08-2011

PHP كود :
Edit2.Text :=Copy(Edit1.Text,pos('>',Edit1.Text)+1,Length(Edit1.Text)-6); 



كيف ينسخ نص بين وسمين <1> <4> - Agmcz - 20-08-2011

شكرا لكم اخواني على محاولتكم
cargem أنا قلت بين <1> <4> وليس < >
النص فيه اكثر من كلمة


كيف ينسخ نص بين وسمين <1> <4> - cargem - 20-08-2011

ارني النتيجة التي تريدها؟

اليست delphi44 !!


كيف ينسخ نص بين وسمين <1> <4> - cargem - 20-08-2011

اكتب هذا النص
s1 := '<delphi44>Moves the cursor up one line and selects from the left of the starting cursor position.<xxcdelphi44>'

النتيجة
Moves the cursor up one line and selects from the left of the starting cursor position.


كيف ينسخ نص بين وسمين <1> <4> - محمد عبد العزيز - 20-08-2011

السلام عليكم ورحمة الله

تتعامل مع النص سطرا سطرا
تاخط سطر وتضعه في متغير نصي String نسميه s مثلا
لنسخ النص كا ذكرت يكفي كتابة شيئ مثل
كود :
copy(s,pos('<1>',s)+3,pos('<4>',s)-4);
مرفق مثالين بنفس الطريقة -وضعت النص في memo



كيف ينسخ نص بين وسمين <1> <4> - Agmcz - 23-08-2011

السلام عليكم ورحمة الله وبركاته
شكرا اخواني
اعدروني لأني غبت ولم أرد على الموضوع
أنا تعاملت قبل مع pos , copy
لكن طرحت الاستفسار لأني واجهتني مشكلة في نسخ
لأن نص فيه أوسام متشابهة
<1><0>
<1><2>
<1><3>
وأحيانا يقع خطأ وينسخ أكثر من المحدد

فقلت سأكتب الموضوع اما يحل المشكل أو أرى طرق أخرى عسى تحل المشكل