Форум: "Основная";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
Внизкомпонент TQueue его метод Pop. Найти похожие ветки
← →
andrey__ (2004-08-12 11:27) [0]Посмотрите пожалуста простой пример и подскажите почему метод Pop выдает одно и то же значение.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Contnrs, StdCtrls;
type
Tarr=array [1..5] of byte;
Parr=^Tarr;
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit; //установите макс. длину 5 символов
Label1: TLabel;
Button2: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Queue:TQueue;
mas:Tarr;
pnt:Parr;
tmpptr:Parr;
end;
var
Form1: TForm1;
i:integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
//добавл элемент в очередь.
begin
tmpptr:=nil;
for i:=1 to 5 do
mas[i]:=ord(Edit1.text[i]);
pnt:=@mas;
Queue.Push(pnt);
Label1.Caption:=IntToStr(Queue.Count);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Queue:=TQueue.Create;
end;
procedure TForm1.Button2Click(Sender: TObject);
//извлекаем из очереди
var
st:string[5];
begin
st:="";
tmpptr:=nil;
tmpptr :=Parr( Queue.Pop);
mas:=tmpptr^;
for i:=1 to 5 do
st:=st+chr(mas[i]);
Memo1.Lines.Append(st);
Label1.Caption:=IntToStr(Queue.Count);
end;
end.
← →
AlexSV (2004-08-12 12:35) [1]Сравни и найди отличия:
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
new(tmpptr);
for i:=1 to 5 do
tmpptr^[i]:=ord(Edit1.text[i]);
Queue.Push(tmpptr);
Label1.Caption:=IntToStr(Queue.Count);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i: integer;
st:string[5];
begin
tmpptr :=Parr(Queue.Pop);
for i:=1 to 5 do
st:=st+chr(tmpptr^[i]);
Memo1.Lines.Append(st);
Dispose(tmpptr);
Label1.Caption:=IntToStr(Queue.Count);
end;
и не забудь своему Queue сделать Free
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c