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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.42 c
15-1199834693
Fedor
2008-01-09 02:24
2008.02.17
Постоянная удаленная работа для Delphi программиста, 2-3 ч.в день


3-1191485669
Ega23
2007-10-04 12:14
2008.02.17
TADODataSet.Post - не сохранять данные в БД


15-1200378567
Москва(с)
2008-01-15 09:29
2008.02.17
Запрет доступа к серверу


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


2-1201170599
Res
2008-01-24 13:29
2008.02.17
Файл





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