📄 viewlist.pas
字号:
begin
nIndex := ListBoxAdminList.ItemIndex;
UserEngine.m_AdminList.Lock;
try
if (nIndex < 0) and (nIndex >= UserEngine.m_AdminList.Count) then
exit;
ButtonAdminListChange.Enabled := True;
ButtonAdminListDel.Enabled := True;
AdminInfo := UserEngine.m_AdminList.Items[nIndex];
EditAdminName.Text := AdminInfo.sChrName;
//CbxAdmin.Text:=Admininfo.m_sDbCharName;
EditAdminPremission.Value := AdminInfo.nLv;
finally
UserEngine.m_AdminList.UnLock;
end;
end;
procedure TfrmViewList.ButtonAdminListAddClick(Sender: TObject);
var
i : Integer;
sAdminName : string;
sAdminIPaddr : string;
nAdminPerMission : Integer;
AdminInfo : pTAdminInfo;
begin
sAdminName := Trim(EditAdminName.Text);
nAdminPerMission := EditAdminPremission.Value;
if (nAdminPerMission < 1) or (sAdminName = '') or not (nAdminPerMission in
[0..10]) then
begin
Application.MessageBox('输入不正确!!!', '提示信息', MB_OK +
MB_ICONERROR);
EditAdminName.SetFocus;
exit;
end;
UserEngine.m_AdminList.Lock;
try
for i := 0 to UserEngine.m_AdminList.Count - 1 do
begin
if CompareText(pTAdminInfo(UserEngine.m_AdminList.Items[i]).sChrName,
sAdminName) = 0 then
begin
Application.MessageBox('输入的角色名已经在GM列表中!!!', '提示信息',
MB_OK + MB_ICONERROR);
exit;
end;
end;
New(AdminInfo);
AdminInfo.nLv := nAdminPerMission;
AdminInfo.sChrName := sAdminName;
AdminInfo.sIPaddr := sAdminIPaddr;
//AdminInfo.m_sDbCharName:=CbxAdmin.Text;
UserEngine.m_AdminList.Add(AdminInfo);
finally
UserEngine.m_AdminList.UnLock;
end;
RefAdminList();
ButtonAdminLitsSave.Enabled := True;
end;
procedure TfrmViewList.ButtonAdminListChangeClick(Sender: TObject);
var
nIndex : Integer;
sAdminName : string;
sAdminIPaddr : string;
nAdminPerMission : Integer;
AdminInfo : pTAdminInfo;
begin
nIndex := ListBoxAdminList.ItemIndex;
if nIndex < 0 then
exit;
sAdminName := Trim(EditAdminName.Text);
nAdminPerMission := EditAdminPremission.Value;
if (nAdminPerMission < 1) or (sAdminName = '') or not (nAdminPerMission in
[0..10]) then
begin
Application.MessageBox('输入不正确!!!', '提示信息', MB_OK +
MB_ICONERROR);
EditAdminName.SetFocus;
exit;
end;
UserEngine.m_AdminList.Lock;
try
if (nIndex < 0) and (nIndex >= UserEngine.m_AdminList.Count) then
exit;
AdminInfo := UserEngine.m_AdminList.Items[nIndex];
AdminInfo.sChrName := sAdminName;
AdminInfo.nLv := nAdminPerMission;
AdminInfo.sIPaddr := sAdminIPaddr;
//AdminInfo.m_sDbCharName:=CbxAdmin.Text;
finally
UserEngine.m_AdminList.UnLock;
end;
RefAdminList();
ButtonAdminLitsSave.Enabled := True;
end;
procedure TfrmViewList.ButtonAdminListDelClick(Sender: TObject);
var
nIndex : Integer;
begin
nIndex := ListBoxAdminList.ItemIndex;
if nIndex < 0 then
exit;
UserEngine.m_AdminList.Lock;
try
if (nIndex < 0) and (nIndex >= UserEngine.m_AdminList.Count) then
exit;
DisPose(pTAdminInfo(UserEngine.m_AdminList.Items[nIndex]));
UserEngine.m_AdminList.Delete(nIndex);
finally
UserEngine.m_AdminList.UnLock;
end;
RefAdminList();
ButtonAdminLitsSave.Enabled := True;
end;
procedure TfrmViewList.RefItemBindAccount;
var
i : Integer;
ItemBind : pTItemBind;
begin
GridItemBindAccount.RowCount := 2;
GridItemBindAccount.Cells[0, 1] := '';
GridItemBindAccount.Cells[1, 1] := '';
GridItemBindAccount.Cells[2, 1] := '';
GridItemBindAccount.Cells[3, 1] := '';
ButtonItemBindAcountMod.Enabled := False;
ButtonItemBindAcountDel.Enabled := False;
g_ItemBindAccount.Lock;
try
GridItemBindAccount.RowCount := g_ItemBindAccount.Count + 1;
for i := 0 to g_ItemBindAccount.Count - 1 do
begin
ItemBind := g_ItemBindAccount.Items[i];
if ItemBind <> nil then
begin
GridItemBindAccount.Cells[0, i + 1] :=
UserEngine.GetStdItemName(ItemBind.nItemIdx);
GridItemBindAccount.Cells[1, i + 1] := IntToStr(ItemBind.nItemIdx);
GridItemBindAccount.Cells[2, i + 1] := IntToStr(ItemBind.nMakeIdex);
GridItemBindAccount.Cells[3, i + 1] := ItemBind.sBindName;
end;
end;
finally
g_ItemBindAccount.UnLock;
end;
end;
procedure TfrmViewList.GridItemBindAccountClick(Sender: TObject);
var
nIndex : Integer;
ItemBind : pTItemBind;
begin
nIndex := GridItemBindAccount.Row - 1;
if nIndex < 0 then
exit;
g_ItemBindAccount.Lock;
try
if nIndex >= g_ItemBindAccount.Count then
exit;
ItemBind := pTItemBind(g_ItemBindAccount.Items[nIndex]);
EditItemBindAccountItemName.Text :=
UserEngine.GetStdItemName(ItemBind.nItemIdx);
EditItemBindAccountItemIdx.Value := ItemBind.nItemIdx;
EditItemBindAccountItemMakeIdx.Value := ItemBind.nMakeIdex;
EditItemBindAccountName.Text := ItemBind.sBindName;
finally
g_ItemBindAccount.UnLock;
end;
ButtonItemBindAcountDel.Enabled := True;
end;
procedure TfrmViewList.EditItemBindAccountItemIdxChange(Sender: TObject);
begin
if EditItemBindAccountItemIdx.Text = '' then
begin
EditItemBindAccountItemIdx.Text := '0';
exit;
end;
EditItemBindAccountItemName.Text :=
UserEngine.GetStdItemName(EditItemBindAccountItemIdx.Value);
ButtonItemBindAcountMod.Enabled := True;
end;
procedure TfrmViewList.EditItemBindAccountItemMakeIdxChange(
Sender: TObject);
begin
if EditItemBindAccountItemIdx.Text = '' then
begin
EditItemBindAccountItemIdx.Text := '0';
exit;
end;
ButtonItemBindAcountMod.Enabled := True;
end;
procedure TfrmViewList.EditItemBindAccountNameChange(Sender: TObject);
begin
ButtonItemBindAcountMod.Enabled := True;
end;
procedure TfrmViewList.ButtonItemBindAcountModClick(Sender: TObject);
var
nSelIndex : Integer;
nMakeIdex : Integer;
nItemIdx : Integer;
sBindName : string;
ItemBind : pTItemBind;
begin
nItemIdx := EditItemBindAccountItemIdx.Value;
nMakeIdex := EditItemBindAccountItemMakeIdx.Value;
sBindName := Trim(EditItemBindAccountName.Text);
nSelIndex := GridItemBindAccount.Row - 1;
if nSelIndex < 0 then
exit;
g_ItemBindAccount.Lock;
try
if nSelIndex >= g_ItemBindAccount.Count then
exit;
ItemBind := g_ItemBindAccount.Items[nSelIndex];
ItemBind.nItemIdx := nItemIdx;
ItemBind.nMakeIdex := nMakeIdex;
ItemBind.sBindName := sBindName;
finally
g_ItemBindAccount.UnLock;
end;
SaveItemBindAccount();
RefItemBindAccount();
end;
procedure TfrmViewList.ButtonItemBindAcountRefClick(Sender: TObject);
begin
RefItemBindAccount();
end;
procedure TfrmViewList.ButtonItemBindAcountAddClick(Sender: TObject);
var
i : Integer;
nMakeIdex : Integer;
nItemIdx : Integer;
sBindName : string;
ItemBind : pTItemBind;
begin
nItemIdx := EditItemBindAccountItemIdx.Value;
nMakeIdex := EditItemBindAccountItemMakeIdx.Value;
sBindName := Trim(EditItemBindAccountName.Text);
if (nItemIdx <= 0) or (nMakeIdex < 0) or (sBindName = '') then
begin
Application.MessageBox('输入的信息不正确!!!', '提示信息', MB_OK +
MB_ICONERROR);
exit;
end;
g_ItemBindAccount.Lock;
try
for i := 0 to g_ItemBindAccount.Count - 1 do
begin
ItemBind := g_ItemBindAccount.Items[i];
if (ItemBind.nItemIdx = nItemIdx) and (ItemBind.nMakeIdex = nMakeIdex)
then
begin
Application.MessageBox('此物品已经绑定到其他的帐号了!!!', '提示信息',
MB_OK + MB_ICONERROR);
exit;
end;
end;
New(ItemBind);
ItemBind.nItemIdx := nItemIdx;
ItemBind.nMakeIdex := nMakeIdex;
ItemBind.sBindName := sBindName;
g_ItemBindAccount.Insert(0, ItemBind);
finally
g_ItemBindAccount.UnLock;
end;
SaveItemBindAccount();
RefItemBindAccount();
end;
procedure TfrmViewList.ButtonItemBindAcountDelClick(Sender: TObject);
var
ItemBind : pTItemBind;
nSelIndex : Integer;
begin
nSelIndex := GridItemBindAccount.Row - 1;
if nSelIndex < 0 then
exit;
g_ItemBindAccount.Lock;
try
if nSelIndex >= g_ItemBindAccount.Count then
exit;
ItemBind := g_ItemBindAccount.Items[nSelIndex];
DisPose(ItemBind);
g_ItemBindAccount.Delete(nSelIndex);
finally
g_ItemBindAccount.UnLock;
end;
SaveItemBindAccount();
RefItemBindAccount();
end;
procedure TfrmViewList.RefItemBindCharName;
var
i : Integer;
ItemBind : pTItemBind;
begin
GridItemBindCharName.RowCount := 2;
GridItemBindCharName.Cells[0, 1] := '';
GridItemBindCharName.Cells[1, 1] := '';
GridItemBindCharName.Cells[2, 1] := '';
GridItemBindCharName.Cells[3, 1] := '';
ButtonItemBindCharNameMod.Enabled := False;
ButtonItemBindCharNameDel.Enabled := False;
g_ItemBindCharName.Lock;
try
GridItemBindCharName.RowCount := g_ItemBindCharName.Count + 1;
for i := 0 to g_ItemBindCharName.Count - 1 do
begin
ItemBind := g_ItemBindCharName.Items[i];
if ItemBind <> nil then
begin
GridItemBindCharName.Cells[0, i + 1] :=
UserEngine.GetStdItemName(ItemBind.nItemIdx);
GridItemBindCharName.Cells[1, i + 1] := IntToStr(ItemBind.nItemIdx);
GridItemBindCharName.Cells[2, i + 1] := IntToStr(ItemBind.nMakeIdex);
GridItemBindCharName.Cells[3, i + 1] := ItemBind.sBindName;
end;
end;
finally
g_ItemBindCharName.UnLock;
end;
end;
procedure TfrmViewList.GridItemBindCharNameClick(Sender: TObject);
var
nIndex : Integer;
ItemBind : pTItemBind;
begin
nIndex := GridItemBindCharName.Row - 1;
if nIndex < 0 then
exit;
g_ItemBindCharName.Lock;
try
if nIndex >= g_ItemBindCharName.Count then
exit;
ItemBind := pTItemBind(g_ItemBindCharName.Items[nIndex]);
EditItemBindCharNameItemName.Text :=
UserEngine.GetStdItemName(ItemBind.nItemIdx);
EditItemBindCharNameItemIdx.Value := ItemBind.nItemIdx;
EditItemBindCharNameItemMakeIdx.Value := ItemBind.nMakeIdex;
EditItemBindCharNameName.Text := ItemBind.sBindName;
finally
g_ItemBindCharName.UnLock;
end;
ButtonItemBindCharNameDel.Enabled := True;
end;
procedure TfrmViewList.EditItemBindCharNameItemIdxChange(Sender: TObject);
begin
if EditItemBindCharNameItemIdx.Text = '' then
begin
EditItemBindCharNameItemIdx.Text := '0';
exit;
end;
EditItemBindCharNameItemName.Text :=
UserEngine.GetStdItemName(EditItemBindCharNameItemIdx.Value);
ButtonItemBindCharNameMod.Enabled := True;
end;
procedure TfrmViewList.EditItemBindCharNameItemMakeIdxChange(
Sender: TObject);
begin
if EditItemBindCharNameItemMakeIdx.Text = '' then
begin
EditItemBindCharNameItemMakeIdx.Text := '0';
exit;
end;
ButtonItemBindCharNameMod.Enabled := True;
end;
procedure TfrmViewList.EditItemBindCharNameNameChange(Sender: TObject);
begin
ButtonItemBindCharNameMod.Enabled := True;
end;
procedure TfrmViewList.ButtonItemBindCharNameAddClick(Sender: TObject);
var
i : Integer;
nMakeIdex : Integer;
nItemIdx : Integer;
sBindName : string;
ItemBind : pTItemBind;
begin
nItemIdx := EditItemBindCharNameItemIdx.Value;
nMakeIdex := EditItemBindCharNameItemMakeIdx.Value;
sBindName := Trim(EditItemBindCharNameName.Text);
if (nItemIdx <= 0) or (nMakeIdex < 0) or (sBindName = '') then
begin
Application.MessageBox('输入的信息不正确!!!', '提示信息', MB_OK +
MB_ICONERROR);
exit;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -