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

Вниз

listbox.items.add в .NET   Найти похожие ветки 

 
anton773   (2008-01-12 20:30) [0]

здравствуйте! Почему в .NET не катит следующий код: var
files : Array of string;  begin  ListBox1.Items.Add(files );
в листбокс добавляется только какое-то System.String[] в то же время код  RichTextBox1.Lines:= files; успешно добавляет нужные строки.


 
anton773   (2008-01-12 20:40) [1]

Немного уточн: как правильно в listbox добавить массив строк. Заранее извините за наивность вопроса.


 
Сергей М. ©   (2008-01-12 20:44) [2]

А что, разве ListBox1.Items := files не прокатывает ?
Я просто не в курсе насчет NET, но здесь прямая аналогия с RichTextBox1.Lines:= files


 
anton773   (2008-01-12 20:48) [3]


> А что, разве ListBox1.Items := files не прокатывает ?
Пробовал... компиллятор ругается что свойство ListBox1.Items только для чтения и ему мол ничего присвоить нельзя.


 
homm ©   (2008-01-12 20:49) [4]

> [2] Сергей М. ©   (12.01.08 20:44)
> А что, разве ListBox1.Items := files не прокатывает ?

Добавить ?


 
anton773   (2008-01-12 20:53) [5]


> Добавить ?

Ну может немного ошибся с термином. Мне нужно чтобы строки из массива оказались в листбоксе


 
Agent13 ©   (2008-01-12 21:05) [6]

ListBox1.Items.AddRange(files); ?


 
Сергей М. ©   (2008-01-12 21:12) [7]


> homm ©   (12.01.08 20:49) [4]


см.

>  RichTextBox1.Lines:= files; успешно добавляет нужные строки


Это ведь тоже не "добавление".

Терминология тут явно неудачная, но если есть возражения, то тогда и сравнению фрагменты эти не подлежат.

А может Assign() поможет ?


 
anton773   (2008-01-12 21:17) [8]


> Agent13 ©   (12.01.08 21:05) [6]
> ListBox1.Items.AddRange(files); ?

теперь компиллятор кричит что это не перегруженный метод и вызвать процедуру с указанными аргументами невозможно


 
anton773   (2008-01-12 21:21) [9]


> А может Assign() поможет ?

прововал так ListBox1.Items.Assign(files) ; жалуется на недекларированный идентификатор


 
homm ©   (2008-01-12 21:24) [10]

> [7] Сергей М. ©   (12.01.08 21:12)

ок.


 
homm ©   (2008-01-12 21:25) [11]

> [9] anton773   (12.01.08 21:21)

Не понос, дак золотуха :)


 
anton773   (2008-01-12 21:25) [12]

Еще уточнение: прогу пишу в D 2005  Widows Forms (не VCL)


 
anton773   (2008-01-12 22:06) [13]

Мастера ау ууу. Вопрос то простой.


 
Agent13 ©   (2008-01-12 22:38) [14]

Ну я так думаю, проблема в том, что мало кто пишет на Delphi.NET.
Я например не знаю, параметр какого-типа надо подсунуть в D.NET, чтобы заработало [6]. Разбирайся в справке. А вообще, всегда же можно пройти через files в цикле и добавлять по строки по одной.


 
anton773   (2008-01-16 19:25) [15]

Еще раз попробу задать вопрос. может кто нибуь знает....


 
clickmaker ©   (2008-01-16 19:28) [16]

что-то типа
var file: string;

for each file in files do begin
 ListBox1.Items.Add(file);


 
anton773   (2008-01-16 19:44) [17]


> var file: string;

file это массив строк и как его поместить в листбокс ума не приложу. пробежать в цикле по массиву строк от нулевой до последней почемуто не получается. Сказывается плохое знание .НЕТ


 
anton773   (2008-01-16 19:52) [18]

Что - то мои познания в .НЕТ никуда ни катят. Никак не могу почему понять почему массив строк нельзя поместить в  листбокс. Кто знает скажите как правильно выполнять ListBox1.Items.Add(Какого типа параметр); и как преобразовать массив строк в ЭТОТ ПАРАМЕТР


 
Agent13 ©   (2008-01-16 19:59) [19]


> ListBox1.Items.Add(Какого типа параметр);

string

> и как преобразовать массив строк в ЭТОТ ПАРАМЕТР

Массив строк преобразовывать в строку лучше не надо :) А то получится, как у тебя в [0]:
> System.String[]
Его нужно именно оббежать, если у тебя не получается - приведи код, как ты это делаешь.


 
anton773   (2008-01-16 20:21) [20]


> приведи код, как ты это делаешь.

Примерно так.:                                                                                     procedure TWinForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
var
files: Array of string;
i: integer;

 begin
 for i:= 0 to files.strings.count do
 begin
 ListBox1.Items.Add(files.strings[i])  ;
end;


 
Agent13 ©   (2008-01-16 20:56) [21]


> anton773   (16.01.08 20:21) [20]

Во-первых, обходить только до Сount - 1, иначе перебор выходит.
Во-вторых, может я не въезжаю, но зачем files.strings[i], почему не просто files[i]?


 
anton773   (2008-01-16 21:16) [22]


> Во-вторых, может я не въезжаю, но зачем files.strings[i],
>  почему не просто files[i]?

А как подругому ссылаться на номер строки в массиве?


 
clickmaker ©   (2008-01-17 12:22) [23]


> 22] anton773   (16.01.08 21:16)

у тебя ж не стринглист, а массив.
files[i]
и в Д2005 не появилось что-то типа foreach для дотнетовских массивов?



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

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

Наверх




Память: 0.51 MB
Время: 0.023 c
2-1201243079
F@T@L_Err0r
2008-01-25 09:37
2008.02.17
Edit


15-1200600130
Kostafey
2008-01-17 23:02
2008.02.17
Отбросить все, оставить главное.


15-1200521605
BooM
2008-01-17 01:13
2008.02.17
ошибка при загрузке Delphi 7


2-1200995882
Stasxxx
2008-01-22 12:58
2008.02.17
Помогите с задачей.


15-1200227591
Lip
2008-01-13 15:33
2008.02.17
Как проверить введенное число в С