![]() |
|
|
Регистрация | << Правила форума >> | 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. |