Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Строки в listbox 
:(
    Опции темы
FAK
Дата 7.5.2006, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.4.2006

Репутация: нет
Всего: нет



Как присвоить команду чтобы она выполнялась в каждой строке listbox'a ??
 
PM MAIL   Вверх
Albinos_x
Дата 7.5.2006, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



чего присвоить?

может перебрать строки и выполнить команду для каждой? 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Sunr1se
Дата 7.5.2006, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 1.5.2006

Репутация: 6
Всего: 13



Если нужно выполнить определенную команду для каждой строки, то просто перебирай все строки в цикле. Делается это так:

Код

var i: integer;
begin
for i := 0 to ListBox1.Items.Count - 1 do
begin
{твой код}
end;
end;
 
--------------------
IRC-канал Винграда 
PM MAIL ICQ   Вверх
FAK
Дата 7.5.2006, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.4.2006

Репутация: нет
Всего: нет



Точнее: в лист боксе 5 строк в каждой ip адрес и на каждый ip адрес нужно отправить сообщение.
Скажите плиз как написать цикл, а тело цикла я сам напишу 
PM MAIL   Вверх
bagira
Дата 7.5.2006, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2858
Регистрация: 25.10.2003
Где: в тайге Уральских гор

Репутация: нет
Всего: 123



Для начала определить, сколько строк в ЛистБоксе с помощью  ListBox1.Items.Count

Затем организовать цикл от 1 до этой величины. 


--------------------
Сегодня ты не бродил, не искал, не любил - можно сказать - и не жил...
Ф.Х. Дагларджа (Турция)
http://zveriolginovour.ru/
https://vmeste.yandex.ru/zveriolginovour 
PM MAIL WWW ICQ   Вверх
Poseidon
Дата 8.5.2006, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(bagira @  7.5.2006,  23:36 Найти цитируемый пост)
Затем организовать цикл от 1 до этой величины.  
 От нуля, до этой величины минус один. Это так потому, что нумерация строк начинается с нуля. Т.е. если в ЛистБоксе 3 строки, то именоваться они будут так: 0, 1, 2.

Цитата(FAK @  7.5.2006,  23:17 Найти цитируемый пост)
Скажите плиз как написать цикл, а тело цикла я сам напишу  
 Читай пост Sunr1se. Текст строки содержится в ListBox1.Items.Strings[i] 


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Guedda
Дата 8.5.2006, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Можно и без переменной ;)
Код

while ListBox1.Items.Count <= 4 do begin
{Твои комманды}
end;
 


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Демо
Дата 8.5.2006, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Цитата(Guedda @  8.5.2006,  08:20 Найти цитируемый пост)
Можно и без переменной ;)


Ты не выспался сегодня наверное;) 


--------------------
    
PM MAIL ICQ Skype   Вверх
Sunvas
Дата 9.5.2006, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(FAK @  7.5.2006,  23:17 Найти цитируемый пост)
Скажите плиз как написать цикл, а тело цикла я сам напишу 

Держи код, чтоб долго не мучался!
Код

var i:word;
{..........}
if listbox1.Items.Count>0 then
for i:=0 to listbox1.Items.Count-1 do
begin
listbox1.Items.Strings[i]:={твой код};
end;
{..........}

 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
FAK
Дата 9.5.2006, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.4.2006

Репутация: нет
Всего: нет



Спасибо всем, разобрался ;) 
PM MAIL   Вверх
Dynamic
Дата 10.5.2006, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 372
Регистрация: 5.7.2004
Где: Салехард

Репутация: 12
Всего: 15



Цитата(Sunvas @  9.5.2006,  00:43 Найти цитируемый пост)
if listbox1.Items.Count>0 then

это лишнее
 


--------------------
Было бы о чем молчать, а уж что сказать – всегда найдется...
PM MAIL WWW   Вверх
Poseidon
Дата 10.5.2006, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(Dynamic @  10.5.2006,  07:42 Найти цитируемый пост)
это лишнее
 А если в listbox1 нет записей?
 


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Yanis
Дата 10.5.2006, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(Poseidon @  10.5.2006,  18:42 Найти цитируемый пост)
А если в listbox1 нет записей?

то цикл не выполнится. 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Sunvas
Дата 11.5.2006, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(Yanis @  10.5.2006,  18:19 Найти цитируемый пост)
то цикл не выполнится. 

Мдя.. Ведь от 0 до 0 цикл выполняется, а 0 строки нету если count=0..
  

Это сообщение отредактировал(а) Sunvas - 11.5.2006, 20:14


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Albinos_x
Дата 11.5.2006, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Sunvas
там цикл от 0 до (count-1), т.е. при 0 цикл будет от 0 до -1 и не выполнится...
 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Yanis
Дата 11.5.2006, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Sunvas
Цитата(Albinos_x @  11.5.2006,  20:45 Найти цитируемый пост)
при 0 цикл будет от 0 до -1 и не выполнится...

Всё верно smile 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Sunvas
Дата 12.5.2006, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(Yanis @  11.5.2006,  22:41 Найти цитируемый пост)
Всё верно  


Yanis, а ты пробовал убрать ту строку и запустить? Как ни странно цикл работает! Мне это кажется тоже станным, просто вы немного недосмотрели мой код:
Цитата(Sunvas @  9.5.2006,  00:43 Найти цитируемый пост)
var i:word;

так что i не может быть меньше 0.. smile  


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Dynamic
Дата 12.5.2006, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 372
Регистрация: 5.7.2004
Где: Салехард

Репутация: 12
Всего: 15



Цитата(Sunvas @  12.5.2006,  07:27 Найти цитируемый пост)
так что i не может быть меньше 0


в таком случае тебя ждут проблемы в будущем. Проведи простой тестик с двумя пустыми листбоксами:
Код

procedure TForm1.Button1Click(Sender: TObject);
var i:word;
begin
     for i := 0 to ListBox1.Count-1 do
      ListBox2.Items.Add(inttostr(i))
      ;
end;

приятно удивишься
 


--------------------
Было бы о чем молчать, а уж что сказать – всегда найдется...
PM MAIL WWW   Вверх
Sunvas
Дата 12.5.2006, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(Dynamic @  12.5.2006,  07:45 Найти цитируемый пост)
в таком случае тебя ждут проблемы в будущем.

Да ничего страшного меня не ждет. Можешь не сомневаться!!!

Цитата(Dynamic @  12.5.2006,  07:45 Найти цитируемый пост)
Проведи простой тестик с двумя пустыми листбоксами:

 smile Нужно внимательно читать конференцию - прочти мой код в предыдущем сообщении http://forum.vingrad.ru/index.php?showtopi...st&p=725327 .  smile 
В моем варианте все работает! smile  


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
bagira
Дата 13.5.2006, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2858
Регистрация: 25.10.2003
Где: в тайге Уральских гор

Репутация: нет
Всего: 123



Цитата(Poseidon @  8.5.2006,  02:02 Найти цитируемый пост)
От нуля, до этой величины минус один. Это так потому, что нумерация строк начинается с нуля. Т.е. если в ЛистБоксе 3 строки, то именоваться они будут так: 0, 1, 2.

 smile Да. Это я перепутала. Конечно же, с нуля smile
И организовать проверку, есть вообще строки в ЛистБоксе  или нет. 


--------------------
Сегодня ты не бродил, не искал, не любил - можно сказать - и не жил...
Ф.Х. Дагларджа (Турция)
http://zveriolginovour.ru/
https://vmeste.yandex.ru/zveriolginovour 
PM MAIL WWW ICQ   Вверх
Dynamic
Дата 15.5.2006, 05:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 372
Регистрация: 5.7.2004
Где: Салехард

Репутация: 12
Всего: 15



Цитата(Sunvas @  12.5.2006,  19:01 Найти цитируемый пост)
Да ничего страшного меня не ждет. Можешь не сомневаться!!!


дай-то Бог!

Цитата(Sunvas @  12.5.2006,  19:01 Найти цитируемый пост)
В моем варианте все работает

А тестик все же прогони.....
 


--------------------
Было бы о чем молчать, а уж что сказать – всегда найдется...
PM MAIL WWW   Вверх
Демо
Дата 15.5.2006, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Цитата(Dynamic @  12.5.2006,  07:45 Найти цитируемый пост)
в таком случае тебя ждут проблемы в будущем.


Не в будущем, а прямо сейчас. Цикл будет работать не менее 65536 раз.

Вот такой цикл будет работать нормально:

Код

var
  i: Integer;
begin
//далее по тексту


А вот такой, как и в примере, не будет:

Код

var
  i: Cardinal;
begin
//далее по тексту



Нельзя использовать беззнаковые типы в циклах, где переменная цикла может принимать отрицательное значение. 


--------------------
    
PM MAIL ICQ Skype   Вверх
temanli
  Дата 15.5.2006, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 15.5.2006

Репутация: нет
Всего: нет



Народ помогите. Как правильно это все написать...
Код

var
i, n: integer;
begin
n:=8;
for i:=0 to n do
begin
if ListBox1.Selected[i] then
RichEdit1.Lines.LoadFromFile('c:\ля-ля-ля\', i,'.txt');
end;
end;


Думаю смысл программы понятен...  

Это сообщение отредактировал(а) temanli - 15.5.2006, 22:08
PM MAIL   Вверх
Yanis
Дата 15.5.2006, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(temanli @  15.5.2006,  23:07 Найти цитируемый пост)
Народ помогите. Как правильно это все написать...

Может всё таки не надо? Думаю смысл ясен... 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
temanli
Дата 15.5.2006, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 15.5.2006

Репутация: нет
Всего: нет



Цитата(Yanis @ 15.5.2006,  22:19)
Цитата(temanli @  15.5.2006,  23:07 Найти цитируемый пост)
Народ помогите. Как правильно это все написать...

Может всё таки не надо? Думаю смысл ясен...

юмора не понял...8)
при запуске пишет "To many actual parameters" и выделяет RichEdit1.Lines.LoadFromFile('c:\ewropa\',i,'.txt'); 
PM MAIL   Вверх
Yanis
Дата 15.5.2006, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(temanli @  15.5.2006,  23:24 Найти цитируемый пост)
юмора не понял...8)

Весь смех в том, что прежде чем прибегать к помощи чего либо нужно почитать правила пользования. Понятно? Могу ещё подробнее... 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Dynamic
Дата 16.5.2006, 05:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 372
Регистрация: 5.7.2004
Где: Салехард

Репутация: 12
Всего: 15



Код

procedure LoadFromFile(const FileName: string);

а у тебя откуда столько параметров?


Цитата(temanli @  15.5.2006,  22:07 Найти цитируемый пост)
if ListBox1.Selected[i] then
RichEdit1.Lines.LoadFromFile('c:\ля-ля-ля\', i,'.txt');


ты хорошо представляешь себе, как это будет выглядеть? Если в ListBox1 у тебя будет 100 выделенных строк  - они все по-очереди будут загружаться в один и тот же ричэдит ???
 


--------------------
Было бы о чем молчать, а уж что сказать – всегда найдется...
PM MAIL WWW   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1542 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.