Главная страница
    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.48 MB
Время: 0.035 c
14-1096888432
Rule
2004-10-04 15:13
2004.10.24
Там я насколько помню намечалась встреча в Кировограде...


1-1097164927
Zahar
2004-10-07 20:02
2004.10.24
Как отловить нажатие на TitleBar ???


3-1095860969
Torex1111111111111111111
2004-09-22 17:49
2004.10.24
HELP!!!!! Срочно нужна помощь по сетевому доступу к базу данных


1-1097574502
Роман
2004-10-12 13:48
2004.10.24
Извлечение ресурсов из dll


4-1095587536
HDD
2004-09-19 13:52
2004.10.24
серийный номер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский