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

نسخة كاملة : فلترة ملف نصي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
انا عندي ملف نصي و انشاء سكريبت انطلاقا منه نأخذ متال عن صيغة الملف و هو موجود في المر فقات
كيف احصل على العبارة التالية

كود :
GDE:NS=4-200,PDC=2,DT=CP2C-3,DL=MS200_2/CLB2-1; GDE:NS=4-200,PDC=3,DT=CP2C-7,DL=MS200_3/CLB2-65; GDE:NS=4-100,PDC=4,DT=CP2C-2 , DL=B100_4/LNB2-34 ; GDE:NS=4-100,PDC=5,DT=CP2C-6 , DL=B100_5/LNB2-66 ; GDE:NS=4-100,PDC=6,DT=CP2C-21, DL=B100_6/LNB2-55 ;

الكود اعطاني السطر الأول والثالث فقط

كود :
GDE:NS=4-200,PDC=2,DT=CP2C-3,DL=MS200_2/CLB2-1; GDE:NS=4-100,PDC=4,DT=CP2C-2 , DL=B100_4/LNB2-34 ;

الكود المستعمل بدالة

PHP كود :
implementation
{$R *.dfm}
function 
CleanedLine(aString: string): string;
var
  
Type1,type2,type3,type4: string;
begin
  
if Length(Trim(aString)) = 0 then begin
    Result 
:= '';
    Exit;
  
end;
  
Type1 := Trim(right('MS', astring)));
  
Type2 := Trim(right('T2', astring)));
  
Type3 := Trim(right('C', left('M', astring))); 
  
type4 := Trim(right('C', left('B', astring))); 

  
Result := 'GDE : NS= ' + Type1 + '  ,  PDC= ' + Type2 +', DT= '+Type3+', DL='+Type4+ ';';
end; 

PHP كود :
procedure DoProcess;
var
  
sl: TStringList;
  
lig: Integer;
  
InputFile, OutputFile : TFileName;
begin
  InputFile  
:= 'Z:\DATA1.txt';
  
OutputFile := 'Z:\DATA2.txt';

  if 
not FileExists(InputFile) then begin
    Showmessage
('FiLE ' + InputFile + ' NOT FOUND');
    Exit;
  
end;

  
sl := TStringList.Create;
  try
    
sl.LoadFromFile(InputFile);
    for 
lig := sl.Count - 1 downto 0 do
      
sl[lig] := CleanedLine(sl[lig]);
    
sl.saveToFile(OutputFile);
  finally
    
sl.free;
  
end;
end;