-
Доброго времени суток. В mmE: TMemo работаю со строками: with mmE.Lines do for iw := 0 to Count-1 do begin //--for sd := Strings[iw]; //Берём строку из mmE ....... if pos(';',sd) then Delete(sd,1,1); //Ошибка
Delete является методом Lines (mmE.Lines.Delete) Как удалить символ из строки?
-
-
Для строки с индексом 1 вот так - работает, проверил Дальше уже для вашего случая доработайте var
S: String;
begin
if pos(';', Memo1.Lines[1]) > 0 then
begin
S := Memo1.Lines[1];
Delete(S, 1, 1);
Memo1.Lines[1] := S;
end;
И никаких with, блин!! никакой радости они на дают в подавляющем большинстве случаев, только путают.
-
так должно работать в вашем случае - if pos(';',sd) then System.Delete(sd,1,1); но с with, как и сказали, лучше не иметь дел
-
Ошибку выдаёт: Incompatible types: 'Integer' and 'String', соответственно. sd: string; Спасибо всем за советы. ухты, вам отдельное спасибо. Через System. Delete(sd,1,1); заработало. Обработчик, где эта мутная история, очень большой и очень старый. Появилась необходимость его дополнить некоторыми действиями. Переделывать и разбираться в нём нет желания. Он ещё, фиг знает сколько отработает в таком виде. На будущее, все советы, конечно пригодятся.
|