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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2021, 20:25   #1
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,453
Сообщение алфавитный массив с буквой Ё

привет, помогите закончить процедуру, чтоб результат в ShowMessage была случайная буква (Random(n)):

Код:
procedure TForm1.AlphavitEx;
const
     AlphMas: array[1..33] of string = ('А', 'Б', 'В', 'Г', 'Д', 'Е',
                                        'Ё', 'Ж', 'З', 'И', 'Й', 'К',
                                        'Л', 'М', 'Н', 'О', 'П', 'Р',
                                        'С', 'Т', 'У', 'Ф', 'Х', 'Ц',
                                        'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь',
                                        'Э', 'Ю', 'Я');
var
   Month: Integer;
begin
  try
    for Month := 1 to 33 do
    begin
///    Random(AlphMas);
    AlphMas[Month] := Random(AlphMas);
    end;
//    ShowMessage(Month);
  except
    raise
//      Exception.Create('"' + Month + '"' + ' - какая-то ошибка!');
  end;
end;
компилятор это видит так (то, что я "сочинил"):

Код:
[Error] super_sek_.pas(615): Left side cannot be assigned to
[Error] super_sek_.pas(615): Incompatible types
[Fatal Error] super_sec.dpr(5): Could not compile used unit 'super_sek_.pas'

Последний раз редактировалось beegl; 02.01.2021 в 20:30. Причина: add text
beegl вне форума Ответить с цитированием
Старый 02.01.2021, 20:39   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Так массив то константа, он неизменим
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 02.01.2021, 20:42   #3
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,453
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Так массив то константа, он неизменим
Код:
procedure TForm1.AlphavitEx;
var
   Month: Integer;
   AlphMas: array[1..33] of string = ('А', 'Б', 'В', 'Г', 'Д', 'Е',
                                        'Ё', 'Ж', 'З', 'И', 'Й', 'К',
                                        'Л', 'М', 'Н', 'О', 'П', 'Р',
                                        'С', 'Т', 'У', 'Ф', 'Х', 'Ц',
                                        'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь',
                                        'Э', 'Ю', 'Я');
begin
  try
    for Month := 1 to 33 do
    begin
а потом как, как его "заставить" с генерировать случайную букву? )

beegl вне форума Ответить с цитированием
Старый 02.01.2021, 20:59   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
ShowMessage(AlphMas[random(34)]);
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 03.01.2021, 02:48   #5
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Ещё точнее
Код:
ShowMessage(AlphMas[random(33)+1]);
Но
Код:
Random(AlphMas)
это что-то близкое к Незнайке в Солнечном городе. Типа волшебной палочки.

Последний раз редактировалось BDA; 03.01.2021 в 15:23.
northener на форуме Ответить с цитированием
Старый 03.01.2021, 16:36   #6
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,453
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
ShowMessage(AlphMas[random(33)+1]);
вот что получилось:

Вложения
Тип файла: rar super_sec.rar (2.31 Мб, 0 просмотров)

Последний раз редактировалось beegl; 03.01.2021 в 16:40.
beegl вне форума Ответить с цитированием
Старый 03.01.2021, 18:16   #7
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,453
По умолчанию

Цитата:
Сообщение от beegl Посмотреть сообщение
вот что получилось:
А как его фиксировать много на-генерированных букв? ... т.е. с каждой генерацией сохранять в Label10.Caption, и при новой генерации было сохранено предыдущая генерированная буква?

( в моём случае выдаёт ошибку )

Код:
procedure TForm1.AlphavitGenerateEx;
const
     AlphMasEx: array[1..33] of string = ('А', 'Б', 'В', 'Г', 'Д', 'Е',
                                                      'Ё', 'Ж', 'З', 'И', 'Й', 'К',
                                                      'Л', 'М', 'Н', 'О', 'П', 'Р',
                                                      'С', 'Т', 'У', 'Ф', 'Х', 'Ц',
                                                      'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь',
                                                      'Э', 'Ю', 'Я');
var
    AtomEx: Word;
begin
    Label10.Caption := AlphMasEx[random(33)+1];
    AtomEx := AddAtom(PChar(Label10.Caption));
    Label10.Caption := PChar(AtomEx) + Label10.Caption;
end;
Через атом (временная запись) можно как-то?
beegl вне форума Ответить с цитированием
Старый 03.01.2021, 22:24   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Код:
begin
    Label10.Caption := AlphMasEx[random(33) + 1] + Label10.Caption;
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
алфавитный указатель на PHP vladpeshkov Помощь студентам 1 20.11.2017 13:54
Найти какое-нибудь слово, начинающееся буквой "a" и заканчивающееся буквой "z" Shved2298 Помощь студентам 1 08.05.2017 12:01
Двусвязный список. Алфавитный порядок Сайын Помощь студентам 0 31.05.2011 23:37
Алфавитный указатель Николай999 HTML и CSS 0 10.08.2010 14:34
Обратный алфавитный порядок ~GVS Помощь студентам 0 21.04.2010 15:54