29-12-2008, 12:38 AM
السلام عليكم
بارك الله فيك Rover طريقة ممتازة و كاملة . و الكمال لله .
طريقتى ناقصة بحيث ادا تم تغير مكان z تختلط الامور اى مكانه دائما فى الاخير . اضافتا الى دالك غلقت على نفسى بكثرة المتغيرات
-- لم استعمل Pos .
50 سطر و سطر :confused:
اخى Rover قم بعرض طريقتك فى المنتدى (الكود) . طريقة جميلة .
بارك الله فيك Rover طريقة ممتازة و كاملة . و الكمال لله .
طريقتى ناقصة بحيث ادا تم تغير مكان z تختلط الامور اى مكانه دائما فى الاخير . اضافتا الى دالك غلقت على نفسى بكثرة المتغيرات
-- لم استعمل Pos .
50 سطر و سطر :confused:
PHP كود :
Type Array3Value = Array[0..2]of String;
Function ConstValue(Str:String):Array3Value;
var
i,intx,inty,x,y:integer;
inx,iny,inz:array[0..1]of integer;
Zero:string;
begin
Zero:='0';
intx :=0; inty :=0;
inx[0]:=0; inx[1]:=0;
iny[0]:=0; iny[1]:=0;
inz[0]:=0; inz[1]:=0;
for i:= 0 to length(str) do
begin
if Str[i]='x'
then intx:=i;
if Str[i]='y'
then inty:=i;
end;
x:=intx+2;
y:=inty+2;
//------------------------------------------//
if (intx < inty)and(intx <>0)then
begin
inx[0]:=(inx[0]+0); inx[1]:=(inx[1]-3+(x));
iny[0]:=(iny[0]+x); iny[1]:=(iny[1]+inty-(x));
inz[0]:=(inz[0]+y); inz[1]:=(inz[1]+length(str)+1-(y));
end
else
if (intx > inty)and(inty <>0)then
begin
inx[0]:=(inx[0]+y); inx[1]:=(inx[1]+intx-(y));
iny[0]:=(iny[0]+0); iny[1]:=(iny[1]-3+(y));
inz[0]:=(inz[0]+x); inz[1]:=(inz[1]+length(str)+1-(x));
end;
//------------------------------------------//
if (intx < inty)and(intx =0)then
begin
iny[0]:=(0); iny[1]:=(y-3);
inz[0]:=(inz[0]+y); inz[1]:=(inz[1]+length(str)+1-(y));
end;
if (intx > inty)and(inty =0)then
begin
inx[0]:=(0); inx[1]:=(x-3);
inz[0]:=(inz[0]+x); inz[1]:=(inz[1]+length(str)+1-(x));
end;
//------------------------------------------//
Result[0]:=Copy(str,inx[0],inx[1]);
Result[1]:=Copy(str,iny[0],iny[1]);
Result[2]:=Copy(str,inz[0],inz[1]);
if Result[0]='' then Result[0]:=Zero;
if Result[1]='' then Result[1]:=Zero;
if Result[2]='' then Result[2]:=Zero;
end;
اخى Rover قم بعرض طريقتك فى المنتدى (الكود) . طريقة جميلة .

