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

مجموعة أكواد جميلة

مغلق
بدأه imadouzoun في 30 ديسمبر 2005 · 0 رد · 1,990 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1

1 - نقل محتويات الـ StringGrid إلى الـ ListView

procedure StringGrid2ListView(StringGrid: TStringGrid; Listview: TListView);
var
  i, j, k: Integer;
  ListItem: TListItem;
begin
  ListView.Items.BeginUpdate;
  try
    with StringGrid, ListView do
    begin
      for j := 1 to ColCount - 1 do
        Columns.Add;
      for j := 1 to RowCount - 1 do
      begin
        ListItem         := Listview.Items.Add;
        ListItem.Caption := Cells[1, j];
        for k := 1 to ColCount - 1 do
          ListItem.Subitems.Add(Cells[k + 1, j]);
      end;
    end;
  finally
    ListView.Items.EndUpdate;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  with ListView1 do
  begin
    Items.BeginUpdate;
    try
      ViewStyle := vsReport;
      Items.Clear;
      for i := Columns.Count - 1 downto 0 do
        listView_DeleteColumn(Handle, i);
    finally
      Items.EndUpdate;
    end;
  end;
  // اختبر الان
  StringGrid2ListView(StringGrid1, ListView1);
end;

---------------------------------------

2- هل ترغب بالحصول على الكلمة التي تحت مؤش الماوس ضمن الـ RichEdit

هذا الكود مفيد مثلاً لبرنامج ترجمة حيث يشير المستخدم إلى الكلمة فتعرض الترجمة في

hint مثلاً

تم استخدام الحدث MouseMove لهذا الغرض

uses
 RichEdit;

procedure TForm1.RichEdit1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
var
  iCharIndex, iLineIndex, iCharOffset, i, j: Integer;
  Pt: TPoint;
  s: string;
begin
  with TRichEdit(Sender) do
  begin
    Pt := Point(X, Y);

    iCharIndex := Perform(Messages.EM_CHARFROMPOS, 0, Integer(@Pt));
    if iCharIndex < 0 then Exit;
    iLineIndex  := Perform(EM_EXLINEFROMCHAR, 0, iCharIndex);
    iCharOffset := iCharIndex - Perform(EM_LINEINDEX, iLineIndex, 0);
    if Lines.Count - 1 < iLineIndex then Exit;
    s := Lines[iLineIndex];
    i := iCharOffset + 1;
    while (i > 0) and (s <> ' ') do Dec(i);
    j := iCharOffset + 1;

    while (j <= Length(s)) and (s[j] <> ' ') do Inc(j);
    Caption := Copy(s, i, j - i);
  end;
end;

-----------------------------

3- هل تريد جعل الأداة RichEdit قادرة على استيعاب نص حجمه أكثر

من 64 كيلو بايت .

هذا الكود القليل حجماً الكبير مفعولاً يجعل الـRichEdit قادرة على استيعاب 2غيغابايت

procedure TForm1.Button1Click(Sender: TObject);
begin
  RichEdit11.MaxLength := $7FFFFFF0;
end; 

// أو :

procedure TForm1.Button1Click(Sender: TObject);
begin
  SendMessage(RichEdit1.Handle, EM_EXLIMITTEXT, 0, $7FFFFFF0);
end;

-----------------------------

4- أشكال متعددة للـ UnderLine ضمن الأداة RichEdit

uses
  RichEdit;

// أشكال Underline 
const
  CFU_UNDERLINETHICK = 9;
  CFU_UNDERLINEWAVE = 8;
  CFU_UNDERLINEDASHDOTDOT = 7;
  CFU_UNDERLINEDASHDOT = 6;
  CFU_UNDERLINEDASH = 5;
  CFU_UNDERLINEDOTTED = 4;
  CFU_UNDERLINE = 1;
  CFU_UNDERLINENONE = 0;

procedure RE_SetCharFormat(ARichEdit: TRichEdit; AUnderlineType: Byte; AColor: Word);
var
  Format: CHARFORMAT2;
begin
  FillChar(Format, SizeOf(Format), 0);
  with Format do
  begin
    cbSize := SizeOf(Format);
    dwMask := CFM_UNDERLINETYPE;
    bUnderlineType := AUnderlineType or AColor;
    ARichEdit.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Longint(@Format));
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  RE_SetCharFormat(RichEdit1, CFU_UNDERLINEWAVE, $50);
end;

المبرمج عماد .... B) B)

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

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

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