التعامل مع النصوص
#1
كيف اقطع هذا السطر
"htm";"http://exodus.googlecode.com/svn/trunk/docs/presence.html"
بحيث يكون هكذا
PHP كود :
1-   Str1=  /svn/trunk/docs/presence.html
2
-   Str2= /svn/trunk/docs/ 
علما ان هناك اكثر من الف سطر


PHP كود :
T :=0;
    
Sname := Dfile.Strings[33];
    
Bname :=Sname;
    
Sname := SearchAndReplace(Sname, '/', '\');
    LenFname := Length(Sname);
    for i := 1 to LenFname do
    begin
      nPos := Pos('
\', Sname[i]);

      if nPos > 0 then
      begin // Length(OpenDialog1.FileName) - nPos Length(OpenDialog1.FileName)
        T := T + nPos;

        if T > 2 then

        begin
          swebF := Copy(Bname, i, LenFname - 1);
          Break;
        end ;
        Delete(Sname, i, LenFname);
        Insert('
/', Sname, i);
          nPos :=0;
      end;
    end; 
الرد
#2
السلام عليكم
ابحث عن DelimitedText CommaText
http://www.delphibasics.co.uk/RTL.asp?Name=TStringList
اختر عنوان مناسب
بالتوفيق.
الرد
#3
السلام عليكم
PHP كود :
uses IdURI

function Filterdz(Url: string): string;
var
  
URI: TIdURI;
  
LS: TStringList;
begin
  LS 
:= TStringList.Create;
  
URI := TIdURI.Create(Url);
  try
    
LS.Add(URI.Path + URI.Document);
    
LS.Add(URI.Path);
    
Result := LS.Text;
  finally
    
LS.Free;
    
URI.Free;
  
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  
LS, LS2: TStringList;
  
i: Integer;
  
Data, Result: string;
begin
  LS 
:= TStringList.Create;
  
LS2 := TStringList.Create;
  
LS.Text := Data;
  
begin
    
for i := 0 to LS.Count - 1 do
    
begin
      LS2
.Add(Filterdz(LS[i]));
    
end;
    
Result := LS2.Text;
  
end;
end; 
بالتوفيق
الرد
#4
الاخ rami
الاداه هي عملية ارجاع الملفات المنزله الى المجلد ات حسب الرابط
PHP كود :
1-   Str1=  /svn/trunk/docs/presence.html 
2
-   Str2= /svn/trunk/docs/ 

اولا نعمل فولدرات
ثانيا نقل الملفات الى الفلدرات
ارفقت لك الملف


الملفات المرفقة
.rar   files.rar (الحجم : 6.56 ك ب / التحميلات : 14)
.rar   Unit1.rar (الحجم : 2.05 ك ب / التحميلات : 10)
الرد
#5
السلام عليكم
هل اجريت اختبار لما وضعت في رد سابق أم لا
أظن أنه يفي بالغرض
الرد
#6
سأحاول الان
الرد
#7
لقد في الكود ليتناسب مع المتطلبات
والنتيجة 100/100
اشكرك جدا اخي رامي
[صورة: picture0001r.png]


الملفات المرفقة
.7z   scan_websTool.7z (الحجم : 406.7 ك ب / التحميلات : 17)
الرد
#8
اخي kachwahed هديه لك الموقع كامل هنا

كود :
http://www.mirrorcreator.com/files/MYE4HA1U/Delphi_-_Basics__ingles_.7z_links
الرد
#9
تستطيع التقطيع والجمع بواسطة
الدالتين : Explode, implode

كود :
function Explode(ch: string; sep: string = ';'): TStringList; var p: integer; begin p := pos(sep, ch); explode := TStringList.Create; while p > 0 do begin explode.Add(copy(ch, 1, p - 1)); if p <= length(ch) then ch := copy(ch, p + length(sep), length(ch)); p := pos(sep, ch); end; if length(ch) > 0 then explode.Add(ch); end; //------------------------------ function Implode(lst: TStringList; sep: string = ';'): string; var i: integer; s: string; begin i := 0; while i < lst.Count - 1 do begin s := s + lst[i] + sep; i := i + 1; end; if i < lst.Count then s := s + lst[i]; //Ne mets pas de séparateur sur le dernier élément result := s; end;
المصدر:
كود :
http://forum.hardware.fr/hfr/Programmation/Delphi-Pascal/string-tokeniser-explode-sujet_21714_1.htm
وإن تقدم ذو تقوى بصالحةٍ *** قدمتُ بين يديه عبرة الندمِ
الرد
#10
إقتباس :الدالتين : Explode, implode
الدالتين : Explode, implode شهيرتين في PHP
هناك دوما البديل في دلفي
في الرابط السابق أمثلة عن استخدام DelimitedText CommaText Delimiter QuoteChar مع StringReplace أيضا
كود :
http://www.delphibasics.co.uk/RTL.asp?Name=StringReplace
لا أظنك ستحتاج لشيء آخر
لا تحاول برمجة شيء موجود من الصفر
انظر حولك (مكتبات النصوص StrUtils وأنماط TStringList أو أخرى...)
إقتباس :اخي kachwahed هديه لك
شكرا على هدية أيا كانت Smile
وهذه لك:
كود :
http://portableapps.com/node/13470
خفيفة صغيرة محمولة ومجانية لتحميل SVN بأكمله Smile
بالتوفيق.
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم