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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обмануть Delphi, for to do 
:(
    Опции темы
-=::BlackCat::=-
  Дата 23.11.2004, 02:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 12.7.2003
Где: растёт анаша?

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



Задача перебрать по циклу строчки в Мемо, если что нe так удолить, проблема в том что если удолю строчку, то следщия после неё перепрыгивается =\ пытался вернут счетчик обратно:
Код

for i := 0 to mmInput.Lines.Count-1 do
   begin
    ShowMessage(mmInput.Lines[i]);
    if mmInput.Lines[i] = '5' then
     begin
      mmInput.Lines.Delete(i);
      i := i - 1;
     end;
   end;

но компилятор меня послал smile

ПС: просьба WHILE DO не предлогать smile


--------------------
-=::BlackCat::=-user posted image

такой дуратцкий аватар потому как мой 100х100, а такие подгрузить нелзя, движок форума чо сам не может его переделать??  гррр, админ, форум косячит  
PM MAIL ICQ   Вверх
Kagor
  Дата 23.11.2004, 03:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Debian user
****


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

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



-=::BlackCat::=-
Глупо конечно, но так не пошлет:
Код

for i := 0 to mmInput.Lines.Count-1 do
   begin
    ShowMessage(mmInput.Lines[i]);
    if mmInput.Lines[i] = '5' then
     begin
      mmInput.Lines.Delete(i);
      asm
        dec i;
      end;
     end;
   end;
smile

Это сообщение отредактировал(а) Kagor - 23.11.2004, 03:05


--------------------
Disassemble Your life and get the key!
PM ICQ GTalk Jabber   Вверх
-=::BlackCat::=-
Дата 23.11.2004, 03:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 12.7.2003
Где: растёт анаша?

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



Большое спасибо smile smile smile


--------------------
-=::BlackCat::=-user posted image

такой дуратцкий аватар потому как мой 100х100, а такие подгрузить нелзя, движок форума чо сам не может его переделать??  гррр, админ, форум косячит  
PM MAIL ICQ   Вверх
~FoX~
Дата 23.11.2004, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


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

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



Kagor
А не проще dec(i), без всяких ASM.....end?



--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Jureth
Дата 23.11.2004, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 23.11.2004
Где: где-то в Западной Сибири

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



Тогда компилер не пропустит.
PM   Вверх
Girder
Дата 23.11.2004, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


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

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



Код
for i := mmInput.Lines.Count-1 downto 0 do
begin
  ShowMessage(mmInput.Lines[i]);
  if mmInput.Lines[i] = '5' then mmInput.Lines.Delete(i);
end;




--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
-=::BlackCat::=-
Дата 23.11.2004, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 12.7.2003
Где: растёт анаша?

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



Цитата
Kagor
А не проще dec(i), без всяких ASM.....end?

главное что работает smile
Добавлено @ 11:36
Цитата(Jureth @ 23.11.2004, 08:28)
Тогда компилер не пропустит.

пропустит, ещё как smile проверено smile
Добавлено @ 11:38
Girder
гянул... интересно выкрутился ты, как всегда smile


--------------------
-=::BlackCat::=-user posted image

такой дуратцкий аватар потому как мой 100х100, а такие подгрузить нелзя, движок форума чо сам не может его переделать??  гррр, админ, форум косячит  
PM MAIL ICQ   Вверх
~FoX~
Дата 23.11.2004, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


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

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



Цитата(Jureth @ 23.11.2004, 10:28)
Тогда компилер не пропустит.

Эт почему еще?

Цитата

Decrements a variable by 1 or N.
Unit
System
Category
ordinal routines
Delphi syntax:
procedure Dec(var X[ ; N: Longint]);

Выдержка из хелпа.....


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Jureth
Дата 23.11.2004, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 23.11.2004
Где: где-то в Западной Сибири

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



Цитата
Эт почему еще?
Мой сказал, что я пытаюсь присвоить значение переменной цикла for. И на этом послал меня на ....

ЗЫ: Вы бы не Help цитировали, а в компилере проверяли.

Это сообщение отредактировал(а) Jureth - 23.11.2004, 14:17
PM   Вверх
Kagor
Дата 23.11.2004, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Debian user
****


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

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



Цитата(Jureth @ 23.11.2004, 14:16)
ЗЫ: Вы бы не Help цитировали, а в компилере проверяли.
Я проверил прежде чем отвечать, правда хелп не смотрел... smile smile smile


--------------------
Disassemble Your life and get the key!
PM ICQ GTalk Jabber   Вверх
Vit
Дата 23.11.2004, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Чего-то типа:

Код

i:=0
While Memo1.count>i do
   if ... then
     memo.lines.delete(i)
  else
    inc(i);



--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Kagor
  Дата 23.11.2004, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Debian user
****


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

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



Цитата(Vit @ 23.11.2004, 16:39)
Чего-то типа:

Код

i:=0
While Memo1.count>i do
   if ... then
     memo.lines.delete(i)
  else
    inc(i);

-=::BlackCat::=-
Цитата
ПС: просьба WHILE DO не предлогать
smile


--------------------
Disassemble Your life and get the key!
PM ICQ GTalk Jabber   Вверх
Vit
Дата 23.11.2004, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Цитата(Kagor @ 23.11.2004, 10:02)
-=::BlackCat::=-

Цитата
ПС: просьба WHILE DO не предлогать




Тогда:

1) Проход от конца в начало
2) Использование Repeat Until
3) Использование Goto
4) Хак с физическим изменнеием переменной

Последний способ очень плохой...



--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Kagor
  Дата 23.11.2004, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Debian user
****


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

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



Цитата(Vit @ 23.11.2004, 19:54)
4) Хак с физическим изменнеием переменной
Это как у меня в первом посте? smile
Код

asm
 dec i;
end;


Это сообщение отредактировал(а) Kagor - 23.11.2004, 23:22


--------------------
Disassemble Your life and get the key!
PM ICQ GTalk Jabber   Вверх
Vit
Дата 24.11.2004, 05:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Да... только лучше такого не делать... Я что-то не понимаю, чем плох While?


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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