Обнулення через процедуру з параметрами (Delphi) Архів

У мене 8 форм типу RichEdit. Хочу створити кілька кнопок, після натискання якої текст відразу кількох формах обнулялся. Зрозуміло, що можна зробити, наприклад, так:

Але я хочу обнуляти через процедуру з параметрами: як параметр - 2 переміри типу string:

Procedure Rev(var a:String; b:String); begin a:=''; b:=''; end;

procedure TForm1.Button4Click; begin Rev(RichEdit1.Text, RichEdit2.Text) end;

Компілятор видає помилку: Константний об'єкт може бути неправильним.

Зрозуміло в чому справа, але незрозуміло, як все-таки можна реалізувати обнулення тесту у формах через процедуру.

По-перше, для обнулення TRichEdit необхідно використовувати його метод Clear. Наприклад, RichEdit1.Clear.

По-друге, природно у вигляді, у якому ти написав процедуру, компілятор тебе лаятиме поганими словами, т.к. у тебе йде не збіг типів. Якщо використовувати твою процедуру, можна написати так Rev(RichEdit1.Lines[номер рядка], RichEdit2.Lines[номер рядка]), але краще, все-таки, чистити через Clear.

Ось, наприклад, процедура, яка знайде на зазначеній формі всі мовлення і очистить їх:

procedure ClearReaches(fm: TForm); var i: Cardinal; begin для i:=0 до fm.ControlCount-1 до іf fm.Controls[i].ClassNameIs('TRichEdit') then (fm.Controls[i] as TRichEdit) .Clear; end;

procedure TForm1.Button1Click(Sender: TObject); begin ClearReaches(Form1); end;

ЇЖКА Спробував зробити як ти сказав:

Procedure Rev (var a: PString; b: PString; c: PString); begin a:=nil; b:=nil; c:=nil; end;

procedure TForm1.Button4Click(Sender: PObj); begin Rev(RichEdit1.Text@, RichEdit2.Text@, RichEdit3.Text@); end;

Компіляторпише про несумісність типів. Як інакше можна передати покажчик у процедуру?

Ось наприклад процедура, яка знайде на зазначеній формі всі ричі і очистить їх: Мені потрібно щоб не всі поля очищалися однією кнопкою, а однією кнопкою два, другий два і т.д.

Ні я не розумію. а що немає методу Clear? не може такого бути.

procedure ClrRich(a,b: TRichEdit); begin a.Clear; b.Clear; end;

procedure TForm1.Button1Click(Sender: TObject); begin ClrRich(RichEdit1,RichEdit2); end;

А так спробуй у себе в коді з топіка у процедурі VAR стерти, і маєш все заробити.