![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
вот исходник кода, программа должна из строки 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, 15.04.2009 в 18:42. |