Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.17;
Скачать: CL | DM;

Вниз

Когда разница между Edit1.text и Edit2.text больше 14342, о прога   Найти похожие ветки 

 
RoLeX ©   (2003-11-06 17:33) [0]

Всё! Прога готова! Но вот есть в ней ошибочка:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Gauges;

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Label1: TLabel;
Label2: TLabel;
GroupBox3: TGroupBox;
Edit3: TEdit;
GroupBox4: TGroupBox;
Edit4: TEdit;
Button1: TButton;
Button2: TButton;
Gauge1: TGauge;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
x:Int64;
y:Int64;
txt:TextFile;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
AssignFile(txt,ExtractFilePath(application.exeName)+"\listing.txt");
ReWrite(txt);
x:=StrToInt64(edit1.text);
y:=0;
writeln(txt,IntToStr(x)+Edit4.Text+Edit3.text);
Button2.Click;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if (x<>StrToInt64(edit2.Text)) then begin
x:=x+1;
y:=y+1;
writeln(txt,IntToStr(x)+Edit4.Text+Edit3.text);
Gauge1.MinValue:=0;
Gauge1.MaxValue:=StrToInt64(edit2.text)-StrToInt64(edit1.text);
Gauge1.Progress:=y;
button2.Click; end else
CloseFile(txt);
end;

end.

Вкратце объясню суть прораммы:
В Edit1.text вводится начальное число, в Edit2.text - конечное число. В Edit4.text вводится символ, который будет стоять после числел, находящихся в промежутке от Edit1.text до Edit2.text.
Edit3.text - это слово которое будет прописываться после символа (Edit4.text).
Итак, если мы введём
в Edit1.text:=0;
в Edit2.text:=100;
в Edit4.text:=";";
в Edit3.text:="word";
то получится такой список:
0;word
1;word
2;word
3;word
...
100;word
А потом этот список сохраняется в файле listing.txt

А ошибка такая, когда разница между Edit1.text и Edit2.text больше 14342, то программа закрывается и ошибки вылазиют!
Попробуйте у себя создать по моему коду прогу, и посмотрите сами, и скажите чё надо сделать, чтобы небыло такого.
Очень вас прошу мне помочь!!!


 
Anatoly Podgoretsky ©   (2003-11-06 17:56) [1]

Удалено модератором


 
RoLeX ©   (2003-11-06 18:12) [2]

Удалено модератором


 
clickmaker ©   (2003-11-06 18:14) [3]

Удалено модератором


 
pasha_golub ©   (2003-11-06 18:31) [4]

Удалено модератором


 
RoLeX ©   (2003-11-06 18:33) [5]

Удалено модератором


 
Митяй ©   (2003-11-06 18:37) [6]

Удалено модератором


 
RoLeX ©   (2003-11-06 18:49) [7]

Ну помогите же!!! Почему если разница между Edit1 и Edit2 >~14000, выскакиевает ошибка: "Stack overflow".
Что нужно сделать???


 
Е-Моё имя ©   (2003-11-06 18:55) [8]

стэк расширить и углубить

---
nil


 
RoLeX ©   (2003-11-06 19:19) [9]

Удалено модератором


 
clickmaker ©   (2003-11-06 19:31) [10]

Удалено модератором


 
RoLeX ©   (2003-11-06 19:34) [11]

Удалено модератором


 
panov ©   (2003-11-06 19:56) [12]

Здесь не развлекательный форум и люди приходят сюда за помощью, пусть даже чайники и ламеры.
Не надо флейма и флуда не по делу.


 
RoLeX ©   (2003-11-06 20:00) [13]

Кажется я понял! Может это из-за того, что Button2 слишком быстро и много нажимается???


 
Arm79 ©   (2003-11-06 21:33) [14]

Слишком большая рекурсия, убери нажатие на button2. Вот и все.

2 модератор
А вопрос, я считаю, достоин занесения в орешник


 
Тохус ©   (2003-11-06 23:38) [15]

А я думал, Анатолий Подгородецкий тоже модератор...


 
Palladin ©   (2003-11-06 23:45) [16]

Вопрос достоин занесения в FAQ, местами, и сопровожден разъяснениями того - к чему может привести необузданная (и в таком случае врядли оправданная) рекурсия.
Здесь она точно не оправданна и вполне заменяема while do или repeat until



Страницы: 1 вся ветка

Текущий архив: 2003.11.17;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.028 c
3-56526
Berg
2003-10-27 15:39
2003.11.17
Конвертирование Parodox в MySQL


14-56874
Asteroid
2003-10-26 20:17
2003.11.17
XP не хочет работать с COM-портом


1-56754
Zanik
2003-11-06 16:03
2003.11.17
Как в Chart задать для Х свои имена?


3-56477
LordBTR
2003-10-27 16:33
2003.11.17
Динамическое получение суммы по полю.


1-56659
Raduga
2003-11-05 11:22
2003.11.17
Процессы и СОМ-объекты