![]() |
|
#4
|
|||
|
|||
![]() Ну, на самом деле это выглядеть должно где-то так (пишу прямо тут, так что за компиляемость не ручаюсь, главное смысл):
Код:
// Где-то описана строка со всеми доступными символами, например, для 3 она будет содержать 'abc' var AllSymbols : String; // процка, делающая замену procedure ChangeSymbol(Idx : Integer; var S : String); var Ch : Char; NextCh : Char; begin // текущий символ в позиции Idx Ch := S[Idx]; // находим следующий символ For I := 1 To Length(AllSymbols) Do If AllSymbols = Ch Then Begin // если он последний, то следующий будет первый, иначе - следующий If I = Length(Allsymbols) Then NextCh := AllSymbols[1] Else NextCh := Allsymbols[I+1]; Break; End; // если символ первый среди возможных, то надо поменять предшествующий - переход позиции If NextCh := AllSymbols[1] Then ChangeSymbol(Idx-1,S); // меняем символ S[Idx] := NextCh; end; ну фактически тебе осталось написать инициализацию всех переменных и выталкивание этого добра в Мемо. |