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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2017, 09:19   #1
brownb
Форумчанин
 
Регистрация: 16.10.2016
Сообщений: 157
По умолчанию сгенерировать цисла по диапазону

Подскажите или может у кого есть исходники генератора цифр по порядку
допусти
0001
0002

и так до 9999
brownb вне форума Ответить с цитированием
Старый 05.04.2017, 09:32   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
  for i:=1 to 9999 do StringList.Add(Format('%.4d',[i]));
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.04.2017, 10:05   #3
brownb
Форумчанин
 
Регистрация: 16.10.2016
Сообщений: 157
По умолчанию

Спасибо!Подскажите пожалуйста как теперь к этому списку добавить еще два символа в начале строки и в конце.То есть у меня есть список в мемо допустим AABB и четерых значиные цифры по порядку.Допустим
АА0001BB
....
AA9999BB
И так до конца.Потом следующие значение
AACC
AA0001CC
....
AA9999CC
brownb вне форума Ответить с цитированием
Старый 05.04.2017, 10:06   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
Format('AA%.4dBB',[i])
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.04.2017, 10:10   #5
brownb
Форумчанин
 
Регистрация: 16.10.2016
Сообщений: 157
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Код:
Format('AA%.4dBB',[i])
Спасибо но мне нужно както сгенерировать все возможные варианты.То есть у меня есть два списка букв от a до z(4 символа) и цифры от 0001 до 9999 и теперь надо както это все приклеить так сказать)
brownb вне форума Ответить с цитированием
Старый 05.04.2017, 10:19   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Сделай циклы по спискам букв и почитай справку по функции Format, в частности по символам форматирования
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.04.2017, 10:28   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

генератор пароля без повторения
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.04.2017, 10:32   #8
brownb
Форумчанин
 
Регистрация: 16.10.2016
Сообщений: 157
По умолчанию

Я смотрел такие генераторы у меня немного по другому получается то есть две буквы в начале потом 4 цифры и опять две буквы.
Подскажите как разбить
в мемо1 есть AABB нужно BB добавить в мемо2 и в мемо1 удалить BB
brownb вне форума Ответить с цитированием
Старый 05.04.2017, 10:46   #9
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

возможно надо это
сгенерировать ВСЕ последовательности вида XY...Z где для каждой позиции выбран(указан) свой алфавит.
Код:
поз   алфавит
1-2:  A..Z (буква лат. алфавита)
3-6:  0..9 (десятичная цифра)
7-8:  A..Z
здесь написана генерация в одном алфавите, для разных надо
Код:
maxind: array[1..100] of integer;
for j:=1 to 100 do
  case j of
  1..2: maxind[j]:=26;
  3..6: maxind[j]:=10;
  7..8: maxind[j]:=26;
  else maxind[j]:=0;
  end;
и везде где есть операция с maxind заменить на операцию с maxind[ind]

P.S. да еще надо конечно будет "перевести" полученные числа массива arrind: array [1..100] of integer в "нормальные" буквы и цифры.

Код:
var r: string[100];
for j:=1 to 100 do 
  case j of 
  1..2: r[j]:=chr( ord('A')+ ardind[j] {-1 ???});
  3..6: r[j]:=chr( ord('0')+ ardind[j] {-1 ???});
  7..8: r[j]:=chr( ord('A')+ ardind[j] {-1 ???});
  else r[j]:=' ';
  end;
как-то так
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 05.04.2017 в 10:54.
evg_m вне форума Ответить с цитированием
Старый 05.04.2017, 11:11   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цикл мог бы так выглядеть
Код:
var i: Integer;
    c11,c12,c21,c22: Char;

  for c11:='A' to 'Z' do
    for c12:='A' to 'Z' do
      for c21:='A' to 'Z' do
        for c22:='A' to 'Z' do
          for i:=1 to 9999 do StringList.Add(Format('%s%s%.4d%s%s',[c11,c12,i,c21,c22]));
Только получишь 4 с половиной миллиарда строк. Что делать с ними будешь?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ сгенерировать псевдослучайные числа jnn12 Visual C++ 2 22.01.2017 13:10
сгенерировать цифры mitiay Общие вопросы Delphi 13 20.02.2016 00:35
Сгенерировать матрицу Татьяна123456 Общие вопросы C/C++ 0 14.11.2012 21:32
Пользователь вводит три цисла, необходимо их вывести в порядке возростания LION7777 Фриланс 14 03.06.2010 11:50
Как сгенерировать число от -1 до 36 vadmaruschak Помощь студентам 1 08.10.2009 23:26