Форум: "Начинающим";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
ВнизПочему не заходит в Брейк ? Найти похожие ветки
← →
RX (2005-12-24 12:25) [0]
begin
for i:=0 to ListFile.Lines.Count do
for k:=0 to 3 do if ListFile.Lines[i]=massivlist[k]
then break else
massivlist[i]:=ListFile.Lines[i];
end;
если вместо брейка написать чонить типа qwerty:=123 то это выполняется а брейк нет. И компилер брейкпоинт не ставит туда.
← →
The_scorpion © (2005-12-24 12:45) [1]
> если вместо брейка написать чонить типа qwerty:=123 то это
> выполняется а брейк нет
Не может такого быть, брейк тоже выполняется. Просто выход идет только из одного цикла, ты наверное это не учитываешь.
← →
RX (2005-12-24 12:49) [2]Нееет.вместо того что бы сделать брейк когда ListFile.Lines[i]=massivlist[k] TRUE - он какого то хрена в елс прыгает. Только что проверил.
← →
RX (2005-12-24 12:55) [3]Алгоритм заполнения массива строками из Мемо путём банальной проверки на их наличие в массиве. В случае если такая строка в массиве есть то брейк (одинаковых строк в массиве не должно собираться), в случае если нет похожей строки в массиве - добавить в массив. Может кто предложит др-й рабочий алг-м?
← →
Юрий Зотов © (2005-12-24 13:25) [4]А зачем здесь вообще нужны какие-то там брейки? Да и ошибки в коде не помешало бы убрать.
for i := 0 to ListFile.Lines.Count - 1 do
for k := 0 to 3 do
if ListFile.Lines[i] <> massivlist[k] then
massivlist[k] := ListFile.Lines[i];
Видимо, компилятор не дурак и строит код примерно в таком духе, так что никаких лишних брейков (т.е. лишних jmp) в нем уже нет - вот потому брейкпойнт и не ставится. Ставить просто негде.
Только сильно похоже, что этот код неверен уже по смыслу. Поскольку он не соответствует задаче, описаной в [3]. Вот вариант:
SL := TStringList.Create;
SL.Sorted := True;
SL.Duplicates := dupIgnore;
SL.Assign(ListFile.Lines);
← →
RX (2005-12-24 13:37) [5]Чото блин корректировки не помогают
а вот SL как декларировать и где?
ругается типа чото там корресподинг
← →
RX (2005-12-24 13:50) [6]Ну блин неужели нет чегонибудь стандартного всеми тыщу раз использумого метода проверки наличия в массиве элемента (принадлежит он этому массиву иль нет)??!
← →
SergP. (2005-12-24 14:00) [7]
> RX (24.12.05 13:37) [5]
> Чото блин корректировки не помогают
> а вот SL как декларировать и где?
> ругается типа чото там корресподинг
SL:TStrings
← →
DiamondShark © (2005-12-24 14:05) [8]
> RX (24.12.05 13:50) [6]
> Ну блин неужели нет чегонибудь стандартного всеми тыщу раз
> использумого метода проверки наличия в массиве элемента
> (принадлежит он этому массиву иль нет)??!
i := Low(Massiv);
while (i <= High(Massiv)) and (element <> Massiv[i]) do Inc(i);
if i <= High(Massiv) then // Ура! Нашли!
учить наизузсть.
← →
RX (2005-12-24 14:09) [9])))) а как его заполнить чтоб дубликатов не было?
пожалуста!!! )))
← →
Fl@sh © (2005-12-24 15:47) [10]
> )))) а как его заполнить чтоб дубликатов не было?
> пожалуста!!! )))
Имхо, лучше все-же делать способом, кот. представил ЮЗ.
← →
RX (2005-12-25 09:09) [11]Вот блин наканецта придумал...
Вот это работает 100%begin
el:=0;
for i:=0 to ListFile.Lines.Count-1 do
begin
eqflag:=false;
for k:=0 to 100 do if ListFile.Lines[i]=massivlist[k]
then eqflag:=true;
if eqflag=false then begin massivlist[el]:=ListFile.Lines[i];
el:=el+1;
end;
end;
end;
← →
Separator © (2005-12-25 09:24) [12]
function Dup(ListFile: TStringList): TStringList;
begin
Result:= TStringList.Create;
Result.Sorted := True;
Result.Duplicates := dupIgnore;
Result.Assign(ListFile.Lines)
end;
← →
Separator © (2005-12-25 09:28) [13]Точней так:
Result.Assign(ListFile)
← →
Separator © (2005-12-25 09:36) [14]либо можно так:
function Dup(ListFile: TStringList): TStringList;
var i: integer;
begin
Result:= TStringList.Create;
for i:= 0 to ListFile.Count - 1 do
if Result.IndexOf(ListFile[i]) <> -1
then Result.Add(ListFile[i])
end;
Смысла от переменных el и eqflag вообще не вижу. Почему цикл к от 0 до 100?
← →
Набережных С. © (2005-12-25 10:06) [15]
> Separator © (25.12.05 09:24) [12]
Это круто. Действительно, зачем такому профи читать чужие ответы, например [4], он и так знает, что кроме него никто ничего путного не посоветует.
← →
Separator © (2005-12-25 10:50) [16]
> Набережных С. © (25.12.05 10:06) [15]
Я читал 4 и просто оформил для RX в готовую функцию, чтоб меньше приходилось придумывать. А то чем он больше выдумает, тем больше ошибок допускает
← →
Набережных С. © (2005-12-25 11:18) [17]
> Separator © (25.12.05 10:50) [16]
Я просто показал, как это может выглядеть со стороны, не более того. Я подумал, что тебя это может интересовать.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.018 c