K
Kavlar
Всем привет)
Парни, очень нужен ваш совет.
Пишу программку - загрузить ОпенДалогом в РичЕдит (РидОнли = тру) текст, далее нужно найти в тексте файла фразу или слово ограниченное скобками
(слово или фраза),
удалить ее вместе со скобками и СэйвДиалогом сохранить новый файл. Раньше никогда не сталкивался с поиском символов в строках.
Загрузку/сохранение файла реализовал. Дальше небольшая проблемка с этими скобками и словом/фразой.
Значит, какие у меня мысли:
объявить переменные:
pozicia:=0; //сколько букв всего
poziciask:=0; //с какой позиции скобка открывается (
poziciask2:=0; //на какой позиции скобка закрывается )
проанализировать текст, потом вычесть из poziciask2 переменную poziciask и удалить полученное количество символов начиная с того момента, когда скобка открывается.
Никак не могу реализовать условие(( Плюс подскажите, какой функцией можно реализовать удаление символов.
Вот что я вымучал
если лень код писать, хотя бы словами подскажите алгоритм. Под вечер уже башка не варит совсем((
Парни, очень нужен ваш совет.
Пишу программку - загрузить ОпенДалогом в РичЕдит (РидОнли = тру) текст, далее нужно найти в тексте файла фразу или слово ограниченное скобками
(слово или фраза),
удалить ее вместе со скобками и СэйвДиалогом сохранить новый файл. Раньше никогда не сталкивался с поиском символов в строках.
Загрузку/сохранение файла реализовал. Дальше небольшая проблемка с этими скобками и словом/фразой.
Значит, какие у меня мысли:
объявить переменные:
pozicia:=0; //сколько букв всего
poziciask:=0; //с какой позиции скобка открывается (
poziciask2:=0; //на какой позиции скобка закрывается )
проанализировать текст, потом вычесть из poziciask2 переменную poziciask и удалить полученное количество символов начиная с того момента, когда скобка открывается.
Никак не могу реализовать условие(( Плюс подскажите, какой функцией можно реализовать удаление символов.
Вот что я вымучал
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
pozicia:=0;
poziciask:=0;
poziciask2:=0;
//проверяем строки
for i:=0 to richedit1.lines.count-1 do
begin
//вложенным циклом проверяем символы в строках
for j:=0 to length(richedit1.lines.strings[i])-1 do
begin
// если скобка открывается, то poziciask + 1;
if richedit1.lines.strings[i] = '(' then
begin
poziciask:= poziciask+1;
end
// если есть скобка не открывается, то pozicia + 1;
else
begin
pozicia:= pozicia+1;
end;
end;
end;
end;
Label1.Caption:= 'скобка начинается с позиции ' + FloatToStr(poziciask);
Label2.Caption:= 'всего букв ' + FloatToStr(pozicia);
end.
если лень код писать, хотя бы словами подскажите алгоритм. Под вечер уже башка не варит совсем((