![]() |
|
كيف يمكن قلب النصوص مع الاسطر الاعلى يصبح اسفل والعكس - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : كيف يمكن قلب النصوص مع الاسطر الاعلى يصبح اسفل والعكس (/showthread.php?tid=3364) |
كيف يمكن قلب النصوص مع الاسطر الاعلى يصبح اسفل والعكس - cargem - 20-08-2011 السلام عليكم سؤال تنشيط الاذهان مثلا إقتباس :16. Fix bug "Switch to found results window" command now switches back to the current edit view if the focus is already on the found results. المطلوب قلب الاسطر + عكس الكلمات right to lift & lift to right تحياتي كيف يمكن قلب النصوص مع الاسطر الاعلى يصبح اسفل والعكس - paix144 - 21-08-2011 و عليكم السلام و رحمة الله كود : function strInverse( const _chaine: string ): string;
var
x : integer;
begin
for x :=length( _chaine ) downto 1 do begin
Result:= Result + copy( _chaine , x, 1 )
end;
end;
كيف يمكن قلب النصوص مع الاسطر الاعلى يصبح اسفل والعكس - محمد عبد العزيز - 21-08-2011 وعليكم السلام ورحمة الله كمثال باستخدام مكونين Memo واحد لاحتواء النص الاصلي والثاني لعرض النص بعد التعديل مكون ListBox كوسيلة لقلب الكلمات وزر Button نضع النص بمحتوى المكون Memo1 ونكتب بالزر شيئ مثل كود : Var
i,j : integer;
s : String;
begin
Memo2.Clear;
for i:= Memo1.Lines.Count-1 downto 0 do begin
s := Memo1.Lines[i];
s := copy(s,1,length(s)-1);
ListBox1.Items.CommaText := s;
s := ListBox1.Items[0];
for j:= ListBox1.Items.Count-1 Downto 1 Do
s := s+' '+ListBox1.Items[j];
Memo2.Lines.Add(s+'.');
end;
end;كيف يمكن قلب النصوص مع الاسطر الاعلى يصبح اسفل والعكس - cargem - 21-08-2011 ممتاز ياملك هنا يحصل خطا عند استخدام TStringList لماذا لا نستغني عن Object كود : procedure TForm1.BitBtn1Click(Sender: TObject);
Var
i, j, c: integer;
s: String;
t:TStringList ;
begin
Memo2.Clear;
j := c ;
t := TStringList.Create();
try
t.Text :=Memo1.Text ;
for i :=0 to (t.Count - 1)div 2 do
begin
t.Exchange(i, t.Count-c);
s := t.Strings[i];
// Memo1.Text := t.Text ;
inc(c);
s := copy(s, 1, length(s) - 1);
t.CommaText := s;
s := t.Strings[0];
for j := t.Count - 1 Downto 1 Do
s := s + ' ' + ListBox1.Items[j];
Memo2.Lines.Add(s + '.');
end;
Memo2.Text := s ; // t.Text
finally
t.Free;
end;
end;كيف يمكن قلب النصوص مع الاسطر الاعلى يصبح اسفل والعكس - cargem - 21-08-2011 المشكلة هنا ListBox1.Items[j]; كيف يمكن قلب النصوص مع الاسطر الاعلى يصبح اسفل والعكس - cargem - 21-08-2011 الحل ![]() كود : function GetSwapText(InTex: string): string;
Var
i, j, c: integer;
s: String;
t, m, R: TStringList;
begin
c := 1;
t := TStringList.Create();
m := TStringList.Create();
R := TStringList.Create();
try
t.Text := InTex;
for i := 0 to (t.Count - 1) div 2 do
begin
t.Exchange(i, t.Count - c);
inc(c);
end;
for i := 0 to (t.Count - 1) Do
begin
s := t.Strings[i];
s := copy(s, 1, length(s) - 1);
m.CommaText := s;
s := m.Strings[0];
for j := m.Count - 1 Downto 1 Do
s := s + ' ' + m.Strings[j];
R.Add(s + '.');
end;
result := R.Text;
finally
t.Free;
m.Free;
R.Free;
end;
end;كيف يمكن قلب النصوص مع الاسطر الاعلى يصبح اسفل والعكس - محمد عبد العزيز - 22-08-2011 إقتباس :هنا يحصل خطا عند استخدام tstringlistالمثال اعددته على دلفي 5 استخدام اصدار دلفي احدث بحاجة لتعديل طفيف هنا أو هناك إقتباس :لماذا لا نستغني عن objectيمكن،عند طرح حل سريع احاول استخدام المكونات المرئية لايصال الفكرة، طبعا في حالة برنامج/تطبيق الحل قد يكون مختلف لا ادري ان انتبهت لحذف النقطة من أخر كل سطر و ايضا الترقيم عند بداية كل سطر قبل عملية قلب الكلمات كيف يمكن قلب النصوص مع الاسطر الاعلى يصبح اسفل والعكس - cargem - 22-08-2011 والله ما قصرت وفيت كيف يمكن قلب النصوص مع الاسطر الاعلى يصبح اسفل والعكس - اسامه الحكيم - 10-07-2012 شكرا لكم وشكرا لمعلوماتكم القيمه |