IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

 
 Ответить  Открыть новую тему 
> Randomize и маски, ...сгенерировать записи...
Jill
сообщение 29.03.2006 11:37
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 105
Пол: Женский
Реальное имя: Юлия

Репутация: -  0  +


Подскажите, плз, как случайным образом сформировать запись с учетом ограничений (например, номер телефона, дату и т.д.)

Вот, собственно, и сабж
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
F.I.A.T.
сообщение 29.03.2006 11:44
Сообщение #2


Гость






И в чем проблема? Не знаем, как генерировать 8 чисел (ну, или скольки значный там номер телефона?) в интервале 1 - 9?

С датами: сгенерировать номер месяца (1 - 12), и уже зная его - год (число в заданном интервале) и число даты (сначала - год, для того, чтобы определить его високосность). Где именно проблема?
 К началу страницы 
+ Ответить 
Jill
сообщение 29.03.2006 12:59
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 105
Пол: Женский
Реальное имя: Юлия

Репутация: -  0  +


Проблема в выводе.

Допустим, сформировали эти самые 12 (именно12) чисел. Каким макаром их вывести в формате маски (напр 8-375-16-245632)?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 29.03.2006 18:05
Сообщение #4


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


var S:string;
.....
S:='8'+random(900)+'-'+random(90); //получим что-то вроде 8-375-12
Edit1.Text:=S;


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Malice
сообщение 29.03.2006 20:55
Сообщение #5


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


Цитата(мисс_граффити @ 29.03.2006 18:05) *

S:='8'+random(900)+'-'+random(90); //получим что-то вроде 8-375-12


Неочень хорошо, т.к. random(900) может быть <3 знаков, так может и 8-1-0 получится.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 29.03.2006 21:51
Сообщение #6


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Можно вот так попробовать

   randomize;
ord(s[0]) := 255;
s[1] := '8';
for i := 2 to 12 do s[i] := chr(ord('0') + random(10));
insert('-', s, 2);
insert('-', s, 6);
insert('-', s, 10);
insert('-', s, 13);


Вроде номера мобильника.

Сообщение отредактировано: volvo - 5.11.2006 19:21


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 29.03.2006 23:59
Сообщение #7


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Цитата(Malice @ 29.03.2006 21:55) *

Неочень хорошо, т.к. random(900) может быть <3 знаков, так может и 8-1-0 получится.

хорошо. пусть это будет (random(800)+100).

только я в том варианте IntToStr забыла - а это необходимо.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Jill
сообщение 30.03.2006 13:32
Сообщение #8


Пионер
**

Группа: Пользователи
Сообщений: 105
Пол: Женский
Реальное имя: Юлия

Репутация: -  0  +


Всем спасибо. Разобралась smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 3:13
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"