Другие языки программирования и технологии

кто нить знает как в Дельфи написать прогу : Дан текст, если в тексте сушествует знак "+" то заменить его на "-"

Пишем в обработчике нужного события такой код (после строки procedure такая-то (Sender: TObject);)

var
s: string; //Здесь хранится данный текст
i: byte; //счетчик;
begin
for i := 0 to length(s) do if s[ i ] = '+' then s[ i ] := '-'; //Пробелы из [ i ] убрать, я так написал из-за дурацкой конвертации в тег курсива на Ответах :)
{Выводим строку s в какой-нибудь элемент управления, например, Edit1}
Edit1.Text := s;
end.

Ну или вместо Edit1.Text присваиваете значение s любому свойству любого объекта на форме, которое имеет тип String, хоть Caption формы.

З. Ы. для такой простенькой ситуации лучше написать свой маленький специализированный код, чем брать большие функции/процедуры из внешних библиотек.
Firdavs Bakiev
Firdavs Bakiev
8 836
Лучший ответ
function ReplaceStr(const S, Srch, Replace: string): string;
var
I: Integer;
Source: string;
begin
Source := S;
Result := '';
repeat
I := Pos(Srch, Source);
if I > 0 then begin
Result := Result + Copy(Source, 1, I - 1) + Replace;
Source := Copy(Source, I + Length(Srch), MaxInt);
end
else Result := Result + Source;
until I <= 0;
end;

Описание параметров: s - строка в которой надо сделать замену (исходный текст) , Srch - что надо найти и заменить, Replace - на что надо заменить.

Функиця взята из RX Library.
Можно не просматривать всю строку, а сделать так

while pos('+',s)>0 do s[pos('+',s)]:='-';

Кстати, при просмотре надо начинать не с нуля, а с 1 for i:=1 ...
Евген Блиц
Евген Блиц
1 768