استحضار جميع المكونات إلى TStrings
#3
بارك الله في أخي o15s19 على الرد
في الحقيقة ليس ذاك الذي أقصد، TStrings أو TStringList لا يهم...
الذي أبحث عنه هو طريقة لجلب قائمة بأسماء جميع المكونات إلى TComboBox أو TListBox أو ... (أعني أي TStrings).
الأكواد التي طرحتها تستختدم في صناعة Packages يعني من داخل IDE للدلفي.
وجدت طريقة (باستخدام Registry) لا أظنها الأفضل لكنها تفي بالغرض:
كود :
procedure GetComponentNames(lst: TStrings); var i, j, iPos: Integer; Reg: TRegistry; sComponent: String; slValues, slData: TStrings; begin Reg := TRegistry.Create; slValues := TStringList.Create; slData := TStringList.Create; try Reg.RootKey := HKEY_CURRENT_USER; Reg.OpenKey('Software\Borland\Delphi\6.0\Palette', False); // Change reg key where appropriate Reg.GetValueNames(slValues); for i := 0 to Pred(slValues.Count) do begin lst.Append(slValues[i]); lst.Append('----------'); slData.Delimiter := ';'; slData.DelimitedText := Reg.ReadString(slValues[i]); for j := 0 to Pred(slData.Count) do begin sComponent := slData[j]; iPos := Pos('.', sComponent); if (iPos > 0) then Delete(sComponent, 1, iPos); lst.Append(sComponent); end; end; finally slData.Free; slValues.Free; Reg.Free; end; {try..finally} end;
شكرا كثيرا أخي على الرد.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد


الردود في هذا الموضوع
استحضار جميع المكونات إلى TStrings - بواسطة kachwahed - 13-10-2009, 10:34 AM

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


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