Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Как сделать не сортированный TStringList или TStrings   Найти похожие ветки 

 
Галинка ©   (2004-10-12 14:12) [0]

Вот в чем собственно проблема.

procedure TMDBSelectDlg.ListBox1Click(Sender: TObject);
var
i,k:integer;
FieldsNames:TStringList;
begin
k:=0;
FieldsNames:=TStringList.Create;
  for i:=0 to ListBox1.Items.Count-1 do
   If ListBox1.Selected[i] then
    begin
     inc(k);
     SetLength(TablesNames,k);
     TablesNames[k-1]:=ListBox1.Items.Strings[i];
    end;
  ListBox2.Clear;
  for i:=0 to k-1 do
   begin
    FieldsNames.CaseSensitive:=false;
    FieldsNames.Sorted:=true;
    Form1.Connection.GetFieldNames(TablesNames[i],FieldsNames);
    ListBox2.Items.AddStrings(FieldsNames);
   end;
FieldsNames.Free;
end;

Так вот эта конструкция выдает поля в отсортированном виде, а мне надо так как они в таблицах идут. Это принципиально. Потому как потом ДБГриды я связываю по ходу столбцов.

Заранее спасибо всем, кто ответит...)))


 
Ega23 ©   (2004-10-12 14:15) [1]

FieldsNames.Sorted:=true;

Тебе это о чём-нибудь говорит???


 
Amoeba ©   (2004-10-12 14:16) [2]

А зачем в коде нужно вот это?
FieldsNames.Sorted:=true;


 
Галинка ©   (2004-10-12 14:24) [3]

Убрала я FieldsNames.Sorted:=true;, все равно сортированный...


 
Ega23 ©   (2004-10-12 14:25) [4]

for i:=0 to Fiels.Count-1 do
Strings.add(Fields[i].FieldName)       ?


 
=SOFT=   (2004-10-12 14:25) [5]

Попробуй так FieldsNames.Sorted:=false; говорят помогает :)


 
Галинка ©   (2004-10-12 14:37) [6]

Для Ega23:
У меня имена полей узнаются, теоретически, до того как я узнаю имена нужных таблиц, так, что через Тэйблы связываться, слишком сложно, по-моему...


 
Галинка ©   (2004-10-12 14:39) [7]

procedure TMDBSelectDlg.ListBox1Click(Sender: TObject);
var
i,k:integer;
FieldsNames:TStringList;
begin
k:=0;
FieldsNames:=TStringList.Create;
FieldsNames.CaseSensitive:=false;
FieldsNames.Sorted:=false;
  for i:=0 to ListBox1.Items.Count-1 do
   If ListBox1.Selected[i] then
    begin
     inc(k);
     SetLength(TablesNames,k);
     TablesNames[k-1]:=ListBox1.Items.Strings[i];
    end;
  ListBox2.Clear;
  for i:=0 to k-1 do
   begin
    FieldsNames.CaseSensitive:=false;
    Form1.Connection.GetFieldNames(TablesNames[i],FieldsNames);
    ListBox2.Sorted:=false;
    ListBox2.Items.AddStrings(FieldsNames);
   end;
FieldsNames.Free;
end;
Что еще не так? А Все равно сортирует...


 
begin...end ©   (2004-10-12 14:41) [8]

Наверное, в ListBox1 уже отсортировано ;-)


 
Ega23 ©   (2004-10-12 14:42) [9]

У меня имена полей узнаются, теоретически, до того как я узнаю имена нужных таблиц, так, что через Тэйблы связываться, слишком сложно, по-моему...

Это, пардон, как?


 
Ega23 ©   (2004-10-12 14:43) [10]

И, кстати, про TTable я ничего не говорил. Вообще, ИМХО, вредный компонент. Никогда не использую.


 
Галинка ©   (2004-10-12 14:49) [11]

Для begin...end: но  ListBox2.Sorted:=false;
Для Ega23: Во-первых, я через АДО работаю. Там через коннекшн все это узнается... А если не Тэйбл, то тогда Fields.Count чего?


 
Ega23 ©   (2004-10-12 14:57) [12]

А если не Тэйбл, то тогда Fields.Count чего?

Гм. По-моему ты не понимаешь, что первично, а что - вторично.
У TDataSet, конечно же, у кого же ещё?
И, кстати, TADOConnection - где ты там всё это узнаёшь?


 
Галинка ©   (2004-10-12 15:03) [13]

Для Ega23: ADOConnection.GetFieldNames(TablesNames[i],FieldsNames);


 
begin...end ©   (2004-10-12 15:05) [14]


> [11] Галинка ©   (12.10.04 14:49)


> но  ListBox2.Sorted:=false;

Ну и что? Ты думаешь, если отсортированный список загнать в ListBox, у которого Sorted = False, то элементы случайным образом будут располагаться?


 
Галинка ©   (2004-10-12 15:11) [15]

Для begin...end:
FieldsNames:=TStringList.Create;
FieldsNames.CaseSensitive:=false;
FieldsNames.Sorted:=false;


&
ListBox2.Sorted:=false;
ListBox2.Items.AddStrings(FieldsNames);



Страницы: 1 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.026 c
3-1096400500
Вадим
2004-09-28 23:41
2004.10.24
Сохранность данных


4-1095706253
Игорь_
2004-09-20 22:50
2004.10.24
как программно изменить StaticText на чужой форме?


1-1097223524
Chuk45
2004-10-08 12:18
2004.10.24
А если Excel закрыт????


3-1096021162
Alexxxxxxxxxx
2004-09-24 14:19
2004.10.24
Как программно изменить значения параметров в BDE


1-1097156631
vikoz
2004-10-07 17:43
2004.10.24
Манифест не работает