Цитата:
Сообщение от PashaXP
Столкнулся с проблемой, если добавляю условие s[j]<>'|', т.е. как указано ниже, то в ELSE вообще не попадаю!!! Хотя условие должно выполнится 5-ь раз, если логически рассуждать. Но почему код не работает. Если убираю s[j]<>'|', условие срабатывает 4-е раза.
Строки вида - V3I SE7779AD3U1 SE7779AV1U1 SE7779AD1U1 SE9620AE7U1
Код:
for j:=Length(Poisk_In_File)+1 to Length(S) do
begin
If (s[j]<>' ')OR(s[j]<>'|') then Iskom_Str:=Iskom_Str+s[j]
Else
begin
.....
end;
end;
??? Работает так как еслибы было не OR а AND???
|
1. Первое условие у тебя никогда не сработает. Если ты из кода скопировал, то обрати внимание что s[j] - это единичный символ, а тут ' ' два символа.
2. Если тебе просто нужно убрать пробелы и знак '|'. Возможно проще сделать так?
Код:
Iskom_Str := StringReplace(copy(s, length(Poisk_In_File), length(s)), ' ', '', [rfReplaceAll]);
Iskom_Str := StringReplace(Iskom_Str, '|', '', [rfReplaceAll]);