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

> ВНИМАНИЕ!

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

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Создание диапазона длинных чисел
сообщение
Сообщение #1


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

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


Привет всем. У меня такая проблема: нужно сгенерировать и записать в файл диапазон телефонных номеров. Число после префикса выходит за рамки LongInt. Я попробовал представить число в виде массива цифр, только не очень работает..

var
Form6: TForm6;
ch,ch2:array[1..10] of byte;
f:textfile;
implementation

{$R *.dfm}

Function prov:boolean;
var k:byte;
begin
result:=true;
for k:=1 to 10 do
begin
if ch[k]<>ch2[k] then begin
result:=false;
break;
end;
end;
end;

function mas:string;
var j:byte;
begin
result:='';
for j:=1 to 10 do result:=result+inttostr(ch[j]);
end;

procedure TForm6.sButton1Click(Sender: TObject);
var d1,k2:byte;
begin
assignfile(f,sedit4.text+'.txt');
rewrite(f);
for d1:=1 to 10 do
begin
ch[d1]:=strtoint(form6.sEdit2.text[d1]);
ch2[d1]:=strtoint(form6.sEdit3.text[d1]);
end;
repeat
for k2:=10 downto 1 do
begin
writeln(f,form6.sedit1.text+mas);
if ch[k2]<>9 then inc(ch[k2]) else begin
ch[k2]:=0;
inc(ch[k2-1]);
break
end;
end;
until prov;



sedit4 - в этом поле записано имя создаваемого текстового файла, sedit2 - нижняя граница диапазона; sedit3 - верхняя граница диапазона, sedit1 - префикс номера, например, +7 для России, он будет одинаковым для каждого номера из диапазона. Мой код выдаёт AV даже при первой записи в файл..
Надеюсь, понятно обрисовал задачу. Наверное, можно было это сделать при помощи "длинной арифметики"..


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





- Текстовая версия 26.04.2024 7:28
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name