الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

من لها ؟؟ لماذا التفريق بين النوع Tstringarray و ...

مغلق
بدأه أبو محمد اللحياني في 24 ديسمبر 2007 · 0 رد · 421 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1

بسم الله الرحمن الرحيم

هذه مشاكل غريبة عليَّ ولم أعرف ما تفسيرها :

type
  TStrArray = array of String;

var
	sourceTxt : String;
	sourceArr : Array of String;

function Explode2(const cSeparator, vString: String): TStrArray;
var
  i: Integer;
  S: String;
begin
  S := vString;
  SetLength(Result, 0);
  i := 0;
  while Pos(cSeparator, S) > 0 do begin
	SetLength(Result, Length(Result) +1);
	Result := Copy(S, 1, Pos(cSeparator, S) -1);
	Inc(i);
	S := Copy(S, Pos(cSeparator, S) + Length(cSeparator), Length(S));
  end;
  SetLength(Result, Length(Result) +1);
  Result := Copy(S, 1, Length(S));
end;
//------------------------------------------------------
procedure Explode(const cSeparator, vString: String; Result : TStrArray);
var
  i: Integer;
  S: String;
begin
  S := vString;
  SetLength(Result, 0);
  i := 0;
  while Pos(cSeparator, S) > 0 do begin
	SetLength(Result, Length(Result) +1);
	Result := Copy(S, 1, Pos(cSeparator, S) -1);
	Inc(i);
	S := Copy(S, Pos(cSeparator, S) + Length(cSeparator), Length(S));
  end;
  SetLength(Result, Length(Result) +1);
  Result := Copy(S, 1, Length(S));
end;

//------------------------------------------------------
//function resetArrayOfwords (src: String; ) TStrArray;
procedure resetArrayOfwords (src: String; var Result : Array of String);
begin//
  //result := Explode(' ', src);
   Explode(' ', src, result);
end;
//------------------------------------------------------
function randomWord : String;
begin //
  result := '';
  if Length(sourceArr)= 0 Then //exit;
	 sourceArr := resetArrayOfwords (sourceTxt);
  if Length(sourceArr)>0 Then
  begin
	result := randomFrom(sourceArr);
  end;
end;
//------------------------------------------------------

وكما ترى الفرق بين بين Explode2 و Explode هوالرأس يعني هذا إجراء وهذه دالة.

والمشكلة هي التفريق بين النوع TStrArray و المتغير من نوع Array of String

لماذا هذه الدوال تفرق بينهما مع أنها كلها مصفوفات ومادتها واحدة ؟؟؟؟.

فهل من أحد يعطيني تفسير لذلك وجزاكم الله خيراً ولا حرمكم الأجر .

والمطلوب هو تشغيل الدالة randomFrom وجزاكم الله خيراً

ولو وافيت ربك دون ذنب *** وناقشك الحساب إذاً هلكتا

ولم يظلمك في عملٍ ولكن *** عسير أن تقوم بما حملتا

هذا الموضوع مغلق.

مواضيع مشابهة