Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];

Вниз

Как сделать не сортированный 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.037 c
1-1097484487
MOV
2004-10-11 12:48
2004.10.24
Область видимости


1-1097563467
aleshap
2004-10-12 10:44
2004.10.24
Возможно ли в Delphi косвенно выполнить команду


1-1097402705
acsoft
2004-10-10 14:05
2004.10.24
Не вкладывать в EXE иконку.


14-1096884524
WondeRu
2004-10-04 14:08
2004.10.24
Diamondback (delphi 9) - новая версия!


3-1096103454
Новенький
2004-09-25 13:10
2004.10.24
Вопрос по Rave Report





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский