вот исходник кода, программа должна из строки Label1 переводить значение в Label2 с заменой букв а на б, пробелов на '-', и подсчитывать количество замен(в зависимости от того, поставлена галочка в CheckBox'ах или нет). У меня выдает ошибку в строках:
while Pos('а', s) > 0 do
s[Pos('a',s)]:='a';
while Pos(' ',s)>0 do
s[Pos(' ',s)]:='-';...
если заменить тип s на string, то программа запускается, но нужных действий не производит((( помогите... код вот:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
Button1: TButton;
Edit2: TEdit;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
n, s:integer;
begin
n:=0;
Edit3.Text:='';
Edit2.Text:='';
if CheckBox2.Checked then
while Pos('а', s) > 0 do
begin
n:=n+1;
s[Pos('a',s)]:='a';
end;
if CheckBox3.Checked then
while Pos(' ',s)>0 do
begin
n:=n+1;
s[Pos(' ',s)]:='-';
end;
if CheckBox1.Checked then Edit3.Text:=IntToStr(n);
Edit2.Text:=s;
end;
end.
Admin: Пользуемся тегами!