| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > глобальная переменая |
| Автор: sergey24 27.4.2004, 12:22 |
| добрый день. мне нужно сделать программе прилагаемой ниже одну глобальную переменую, чтоб она хронила последние значение переменной buf у меня не получается ее объявить вот исходник unit olimp_; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls; type TForm1 = class(TForm) Tabl: TStringGrid; Button1: TButton; Label1: TLabel; Button2: TButton; Button3: TButton; GroupBox1: TGroupBox; GroupBox2: TGroupBox; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit; Edit8: TEdit; procedure FormActivate( Sender: TObject); procedure Button2Click( Sender: TObject); procedure Button1Click( Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure undo (und, number, buf:integer); begin und:=buf; end; procedure TForm1.FormActivate(Sender: TObject); var f: TextFile ; // файл i,buf,tx: integer; begin tabl.Cells[0,0]:='Наименование'; tabl.Cells[1,0]:='Кол-тво'; tabl.Cells[2,0]:='Цена за 1 единицу'; tabl.Cells[3,0]:='Поставщик'; tabl.Cells[0,1]:='1.Рубашки'; tabl.Cells[0,2]:='2.Джинсы'; tabl.Cells[0,3]:='3.Носки'; tabl.Cells[0,4]:='4.Трусы'; tabl.Cells[0,5]:='5.Майки'; tabl.Cells[0,6]:='6.Шапки'; tabl.Cells[0,7]:='7.Шарфы'; tabl.Cells[0,8]:='8.Куртки'; tabl.Cells[0,9]:='9.Дубленки'; tabl.Cells[0,10]:='10.Шубы'; tabl.Cells[0,11]:='11.Колготы'; tabl.Cells[0,12]:='12.Сапоги'; tabl.Cells[0,13]:='13.Ботинки'; tabl.Cells[2,1]:='10'; tabl.Cells[2,2]:='20'; tabl.Cells[2,3]:='3'; tabl.Cells[2,4]:='4'; tabl.Cells[2,5]:='0.5'; tabl.Cells[2,6]:='750'; tabl.Cells[2,7]:='7'; tabl.Cells[2,8]:='80'; tabl.Cells[2,9]:='980'; tabl.Cells[2,10]:='2100'; tabl.Cells[2,11]:='11'; tabl.Cells[2,12]:='120'; tabl.Cells[2,13]:='100'; tabl.Cells[3,1]:='Adidas'; tabl.Cells[3,2]:='Adidas'; tabl.Cells[3,3]:='Fend'; tabl.Cells[3,4]:='Nike'; tabl.Cells[3,5]:='Pont'; tabl.Cells[3,6]:='Pont'; tabl.Cells[3,7]:='Pont'; tabl.Cells[3,8]:='Adidas'; tabl.Cells[3,9]:='Beer'; tabl.Cells[3,10]:='Pont'; tabl.Cells[3,11]:='Nike'; tabl.Cells[3,12]:='Nike'; tabl.Cells[3,13]:='Nike'; AssignFile(f, 'base.txt'); reset(f); // открыть для чтения for i:=1 to 13 do begin readln(f,buf); tabl.Cells[1,i]:=IntToStr(buf); end; CloseFile(f); // закрыть файл end; procedure TForm1.Button2Click( Sender: TObject); // сюда нужно дбавить глобальную переменную undo var f: TextFile ; // файл buf: integer; // буфер для чтения из файла number: integer; kol,i,tmp:integer; begin number:=StrToInt(Edit5.Text); kol:=StrToInt(Edit7.Text); AssignFile(f, 'base.txt'); reset(f); // открыть для чтения if number > 13 then begin number:=13; end; for i:=1 to number -1 do begin readln(f); end; readln(f,buf); CloseFile(f); // закрыть файл tmp:=buf-kol; if tmp <0 then begin MessageDlg('В базе нет такого колличества товара',mtError,[mbOk],0); end else begin tabl.Cells[1,number]:=IntToStr(tmp); AssignFile(f, 'base.txt'); Rewrite(f); // открыть для перезаписи // запись в файл for i:=1 to 13 do // строки нумеруются с нуля begin buf:=StrToInt(tabl.Cells[1,i]); writeln(f, buf); end; CloseFile(f); // закрыть файл end; //undo (und, number, buf:integer); вот тут проблемы!!! end; procedure TForm1.Button1Click ( Sender: TObject); // сюда нужно дбавить глобальную переменную undo var f: TextFile ; // файл buf: integer; // буфер для чтения из файла number: integer; kol,i:integer; begin number:=StrToInt(Edit1.Text); kol:=StrToInt(Edit2.Text); AssignFile(f, 'base.txt'); reset(f); // открыть для чтения if number > 13 then begin number:=13; end; for i:=1 to number -1 do begin readln(f); end; read(f,buf); buf:=buf+kol; tabl.Cells[1,number]:=IntToStr(buf); CloseFile(f); // закрыть файл AssignFile(f, 'base.txt'); Rewrite(f); // открыть для перезаписи // запись в файл for i:=1 to 13 do // строки нумеруются с нуля begin buf:=StrToInt(tabl.Cells[1,i]); writeln(f, buf); end; CloseFile(f); // закрыть файл end; end. |
| Автор: Maverick 27.4.2004, 13:04 | ||||
если хочешь, чтоб болталась вообще отдельно, то сюда... после формы... А лучше включи ее в клас формы.... Сюда...
|
| Автор: jonik_Dk 27.4.2004, 13:56 |
| Добавь ее либо в класс, или перед разделом implementation, там где ты объявляешь Form1: TForm. Или я не понял, что ты хочешь. |