تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مساعدة في استخراج اسطر ملف نصي في مصفوفة
#3
وعليكم السلام ورحمة الله

وكل عام وانتم بخير

بالنسبة لقراءة ملف نصي يوجد سؤال هنا فيه الاجابة

http://vb4arb.com/vb/showthread.php?tid=30050

بالنسبة لوضع نص او حروف فالطرق كثيرة

الطرق كثيرة منها على سبيل المثال

كود :
procedure Split
 (const Delimiter: Char;
  Input: string;
  const Strings: TStrings);
begin
 Assert(Assigned(Strings));
 Strings.Clear;
 Strings.Delimiter := Delimiter;
 Strings.DelimitedText := Input;
end;


// Usage:
procedure TForm1.Button1Click(Sender: TObject);
var
 A: TStringList;
begin
 A := TStringList.Create;
 try
   Split(' ', 'your delphi guide', A);
   ShowMessage(a[0]); //your
   ShowMessage(a[1]); //delphi
   ShowMessage(a[2]); //guide
 finally
   A.Free;
 end;
end;


كما لست في حاجة الى استخدام Split function 

كود :
program Project1;

{$APPTYPE CONSOLE}

uses
 Classes;

var
 List: TStrings;
begin
 List := TStringList.Create;
 try
   ExtractStrings([':'], [], PChar('word:doc,txt,docx'), List);
   WriteLn(List.Text);
   ReadLn;
 finally
   List.Free;
 end;
end.

لوضعها في List مثلا

كود :
List[0] = 'word'
List[1] = 'doc,txt,docx'

باستخدام System.StrUtils.SplitString

كود :
function SplitString(const S, Delimiters: string): TStringDynArray;


باستخدام الوحدة System.SysUtils.TStringHelper.Split كل هذه Function مختلفة

كود :
function Split(const Separator: array of Char): TArray<string>; overload;
function Split(const Separator: array of Char; Count: Integer): TArray<string>; overload;
function Split(const Separator: array of Char; Options: TStringSplitOptions): TArray<string>; overload;
function Split(const Separator: array of Char; Count: Integer; Options: TStringSplitOptions): TArray<string>; overload;
function Split(const Separator: array of string): TArray<string>; overload;
function Split(const Separator: array of string; Count: Integer): TArray<string>; overload;
function Split(const Separator: array of string; Options: TStringSplitOptions): TArray<string>; overload;
function Split(const Separator: array of string; Count: Integer; Options: TStringSplitOptions): TArray<string>; overload;
function Split(const Separator: array of Char; Quote: Char): TArray<string>; overload;
function Split(const Separator: array of Char; QuoteStart, QuoteEnd: Char): TArray<string>; overload;
function Split(const Separator: array of Char; QuoteStart, QuoteEnd: Char; Options: TStringSplitOptions): TArray<string>; overload;
function Split(const Separator: array of Char; QuoteStart, QuoteEnd: Char; Count: Integer): TArray<string>; overload;
function Split(const Separator: array of Char; QuoteStart, QuoteEnd: Char; Count: Integer; Options: TStringSplitOptions): TArray<string>; overload;
function Split(const Separator: array of string; Quote: Char): TArray<string>; overload;
function Split(const Separator: array of string; QuoteStart, QuoteEnd: Char): TArray<string>; overload;
function Split(const Separator: array of string; QuoteStart, QuoteEnd: Char; Options: TStringSplitOptions): TArray<string>; overload;
function Split(const Separator: array of string; QuoteStart, QuoteEnd: Char; Count: Integer): TArray<string>; overload;
function Split(const Separator: array of string; QuoteStart, QuoteEnd: Char; Count: Integer; Options: TStringSplitOptions): TArray<string>; overload;


مثال

كود :
var
 MyString: String;
 Splitted: TArray<String>;

begin
 MyString := String.Join(',', ['String1', 'String2', 'String3']);
 Splitted := MyString.Split([','], 2);
end.

ايضا مثال أخر

كود :
Uses
  StrUtils, Classes;

Var
 Str, Delimiter : String;
begin
 // Str is the input string, Delimiter is the delimiter
 With TStringList.Create Do
 try
   Text := ReplaceText(S,Delim,#13#10);

   // From here on and until "finally", your desired result strings are
   // in strings[0].. strings[Count-1)

 finally
   Free; //Clean everything up, and liberate your memory ;-)
 end;

end;


مثال اخر

كود :
SplitString(':', 'abc') returns      :    result[0]  = abc

SplitString(':', 'a:b:c:') returns   :    result[0]  = a
                                         result[1]  = b
                                         result[2]  = c
                                         result[3]  = <empty string>

SplitString(':', 'a:b:c:', 2) returns:    result[0]  = a
                                         result[1]  = b

مثال اخر
كود :
procedure TForm208.Button1Click(Sender: TObject);
var
 lst: TStringList;
begin
 lst := TStringList.Create;
 try
   lst.LineBreak := '<->';
   lst.Text := 'Whale<->Mammal<->Ocean';
   Memo1.Lines := lst;
 finally
   lst.Free;
 end;
end;


ققط مررت على المنتدى قبل حتى ان افطر .
بعد الفطور سوف اعود
الرد }}}
تم الشكر بواسطة: sendbad100 , asemshahen5


الردود في هذا الموضوع
RE: مساعدة في استخراج اسطر ملف نصي في مصفوفة - بواسطة viv - 16-08-19, 11:05 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Question [كود] مساعدة من فضلكم طلب سورس كود berrahem 0 1,212 07-05-22, 05:19 AM
آخر رد: berrahem
  [سؤال] طلب مساعدة Mayar Hanin 2 2,609 03-02-20, 02:37 PM
آخر رد: Mayar Hanin
  طلب مساعدة جزاكم الله خيرا fouadhdfouad 0 1,846 28-12-19, 10:55 PM
آخر رد: fouadhdfouad

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


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