考试报名系统程序!谁帮帮我 我现在在搞一个有关考试报名系统的程序,一个功能模块是实现按报名编号自动生成考室号、座位号、考号; 现在要把原来的报名次序打乱,考室按五行七座排),不知道用什么算法才能实现。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB, ComCtrls, WinSkinStore, WinSkinData;type TForm1 = class(TForm) ADO: TADOQuery; DataSource1: TDataSource; DBGrid1: TDBGrid; Button1: TButton; Button2: TButton; PROG: TProgressBar; SD: TSkinData; SkinStore1: TSkinStore; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);VAR X,Y:INTEGER;str:string;begin ado.Close; ADO.SQL.Clear; ADO.SQL.Add('UPDATE TEST SET 考号=0,考室号=0,座位号=0'); ADO.ExecSQL; RANDOMIZE; DATASOURCE1.DataSet:=NIL; ADO.Close; ADO.SQL.Clear; ado.SQL.Add('select * from test'); ADO.Open; Y:=ADO.RecordCount; X:=0; WHILE ADO.RecordCount>0 DO BEGIN X:=X+1; PROG.Position:=ROUND(X/Y*100); ADO.RecNo:=RANDOM(ADO.RecordCount)+1; ADO.Edit; ADO.FieldByName('考号').AsInteger:=x; ADO.Post; ADO.Close; ADO.SQL.Clear; ado.SQL.Add('select * from test where 考号=0'); ADO.Open; END; ADO.Close; ADO.SQL.Clear; ado.SQL.Add('UPDATE TEST SET 考室号=round((考号-0.0001)/35+0.5),座位号=考号-round((考号-0.0001)/35-0.5)*35'); ADO.ExecSQL; ADO.Close; ADO.SQL.Clear; ADO.SQL.Add('SELECT * FROM TEST ORDER BY 考号'); DATASOURCE1.DataSet:=ADO; ADO.OPEN; SHOWMESSAGE('处理成功!');end;procedure TForm1.Button2Click(Sender: TObject);begin CLOSE;end;procedure TForm1.FormCreate(Sender: TObject);beginSD.SkinFile:='SKIN.SKN';SD.Active:=TRUE;end;end. dll delphi7下出错 我的乐土你在哪里? 周末到了,散分,顺便帮朋友宣传一下! TPanel控件 高手帮我 ★★Delphi操作Excel,如何合并单元格,如何设置字体★★ delphi中引用mapx时 关于时间转换成数字的两个问题! 谁能给我发个adodb连接数据库的例子吗? 如何制作可作编译后可移动控件的报表? to:alphax(???),为了表示感谢,请再进来领点分吧! 分发给其他人使用程序发生了ACCESS VIOLATION问题,但我自己却从未试过,如何解决?高分
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB, ComCtrls, WinSkinStore,
WinSkinData;type
TForm1 = class(TForm)
ADO: TADOQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
Button2: TButton;
PROG: TProgressBar;
SD: TSkinData;
SkinStore1: TSkinStore;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
VAR X,Y:INTEGER;
str:string;
begin
ado.Close;
ADO.SQL.Clear;
ADO.SQL.Add('UPDATE TEST SET 考号=0,考室号=0,座位号=0');
ADO.ExecSQL;
RANDOMIZE;
DATASOURCE1.DataSet:=NIL;
ADO.Close;
ADO.SQL.Clear;
ado.SQL.Add('select * from test');
ADO.Open;
Y:=ADO.RecordCount;
X:=0;
WHILE ADO.RecordCount>0 DO
BEGIN
X:=X+1;
PROG.Position:=ROUND(X/Y*100);
ADO.RecNo:=RANDOM(ADO.RecordCount)+1;
ADO.Edit;
ADO.FieldByName('考号').AsInteger:=x;
ADO.Post;
ADO.Close;
ADO.SQL.Clear;
ado.SQL.Add('select * from test where 考号=0');
ADO.Open;
END;
ADO.Close;
ADO.SQL.Clear;
ado.SQL.Add('UPDATE TEST SET 考室号=round((考号-0.0001)/35+0.5),座位号=考号-round((考号-0.0001)/35-0.5)*35');
ADO.ExecSQL;
ADO.Close;
ADO.SQL.Clear;
ADO.SQL.Add('SELECT * FROM TEST ORDER BY 考号');
DATASOURCE1.DataSet:=ADO;
ADO.OPEN;
SHOWMESSAGE('处理成功!');
end;procedure TForm1.Button2Click(Sender: TObject);
begin
CLOSE;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
SD.SkinFile:='SKIN.SKN';
SD.Active:=TRUE;
end;end.