Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2009, 13:53   #1
Михаил70
Пользователь
 
Регистрация: 22.08.2009
Сообщений: 16
По умолчанию помогите с коментариями к коду

Есть код. Помогите написать кометария к каждой строчки кода, включая переменные. Особенно мееня интересует строка s := StringReplace(s, s[1], '', [rfReplaceAll, rfIgnoreCase]); что она выполняет идля чего она сдесь?

procedure TForm1.Button1Click(Sender: TObject);
var
s, res: string[50];
i: integer;
begin
s := Edit1.Text;
res := '';
for i := 1 to Length(s) do
begin
res := res + s[1];
s := StringReplace(s, s[1], '', [rfReplaceAll, rfIgnoreCase]);
if Length(s) = 0 then Break;
end;
Edit2.Text := res;
Label2.Caption:='Длина строки результата='+inttostr(i);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

end.
Михаил70 вне форума Ответить с цитированием
Старый 11.09.2009, 15:37   #2
АНК
Пользователь
 
Регистрация: 01.09.2009
Сообщений: 30
По умолчанию

Похоже по кнопке Button1 хотели посчитать кол-во не повторяющихся символов в Edit1 и вывести их Edit2.
Цитата:
Особенно мееня интересует строка s := StringReplace(s, s[1], '', [rfReplaceAll, rfIgnoreCase]);
Это первый символ строки s и все такие же дальше удаляются из строки s
АНК вне форума Ответить с цитированием
Старый 11.09.2009, 15:56   #3
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

вот:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
{Переменные комментировать не буду, ибо понять для чего они вы сможете в коде}
s, res: string[50];
i: integer;
begin
s := Edit1.Text; //Приравниваем s тексту из Edit1
res := '';  //Отчищаем переменную
for i := 1 to Length(s) do //Цикл который перебирает с первого по последний символ текста
begin              //Обойдемся без комментариев
res := res + s[1];   //Помещаем в нашу переменную символ
s := StringReplace(s, s[1], '', [rfReplaceAll, rfIgnoreCase]);  //Заменяем первый символ в нашем тексте на пустой текст игнорируя регистр и заменяя все такие же символы
if Length(s) = 0 then Break;   //Если наш текст кончился то покидаем цикл
end;                       //Это думаю понятно
Edit2.Text := res;  //Помещаем наш получившийся текст без одинаковых символов в наше второе поле
Label2.Caption:='Длина строки результата='+inttostr(i);  //Выводим кол-во прошедших циклов до завершения, т.е. кол-во символов
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
close;//Покидаем программу
end;
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 11.09.2009, 18:47   #4
Михаил70
Пользователь
 
Регистрация: 22.08.2009
Сообщений: 16
По умолчанию

Спасибо за помощь!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!
Михаил70 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите описать программу по исходному коду rombler69 Помощь студентам 1 29.05.2009 21:02
Комментарии к коду ELL Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 09.03.2009 16:01
Комментарии к коду Juhn Паскаль, Turbo Pascal, PascalABC.NET 6 24.12.2007 20:29
Комментарии к коду Ярослав Помощь студентам 4 23.11.2007 16:57