⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 健身会馆会员管理,实现了部分财务管理和,报表统计功能
💻 PAS
📖 第 1 页 / 共 5 页
字号:
   key:=chr(0);
end;

procedure TMainForm.Button8Click(Sender: TObject);
begin
ADOTable2.Post ;
Button8.Enabled :=false;
end;

procedure TMainForm.Edit1Enter(Sender: TObject);
begin
Panel38.Visible :=false;
end;

procedure TMainForm.DBGrid17Exit(Sender: TObject);
begin
Panel38.Visible :=false;
end;

procedure TMainForm.Edit3Change(Sender: TObject);
//var
//   I, Code: Integer;
begin
//Val(Edit3.Text, I, Code);
ADODataSet1.Close;
//if code <> 0 then
   ADODataSet1.CommandText :='select * from 会员表 where  会员姓名=''' + edit3.Text  + ''' or 会员卡号=''' + edit3.Text +'''';
//else
//   ADODataSet1.CommandText :='select * from 会员表 where 会员卡号=''' + edit3.Text +'''';
ADODataSet1.Open ;
end;

procedure TMainForm.BitBtn2Click(Sender: TObject);
begin
ADOQuery1.Close ;
ADOQuery1.Open ;
ADOQuery1.Append ;
ADOQuery1.FieldByName('入会时间').AsDateTime :=date;
huiyuankafrm.Show ;
end;

procedure TMainForm.BitBtn3Click(Sender: TObject);
begin
if load.quanxian >3 then begin
ADOQuery1.Close;
ADOQuery1.SQL.Text :='select * from 会员表 where 会员卡号=''' + ADODataSet1.FieldValues ['会员卡号'] +'''';
ADOQuery1.Open ;
ADOQuery1.Edit ;
huiyuankafrm.Show ;
end
else showmessage('你没有权限!!');
end;

procedure TMainForm.BitBtn4Click(Sender: TObject);
begin
if load.quanxian >4 then begin
ADODataSet1.Delete ;
ADOQuery1.Close;
ADODataSet2.Close ;
ADODataSet2.Open ;
end
else showmessage('你没有权限冲值!!');
end;

procedure TMainForm.ComboBox2Change(Sender: TObject);
begin
ADODataSet1.Close;
case combobox2.ItemIndex  of
  1:  ADODataSet1.CommandText :='select * from 会员表 where 会员卡类型=''计时卡''';
  2:  ADODataSet1.CommandText :='select * from 会员表 where 会员卡类型=''计次卡''';
else
   ADODataSet1.CommandText :='select * from 会员表';
end;
ADODataSet1.Open ;
end;

procedure TMainForm.BitBtn9Click(Sender: TObject);
begin
listBox1.Top :=Panel8.Top -68;
listBox1.Left :=BitBtn9.Left ;
ListBox1.Visible :=true;
end;

procedure TMainForm.ListBox1Click(Sender: TObject);
begin
case ListBox1.ItemIndex   of
  0: begin
        if ADODataSet1.FieldValues ['会员卡状态']='可用' then
            begin
               ADODataSet1.Edit ;
               ADODataSet1.FieldByName('会员卡状态').AsString :='丢失';
               ADODataSet1.Post ;
               showmessage('会员卡已经成功挂失');
            end
        else
            showmessage('会员卡已经过期,不必再挂失');
     end;
  1: begin
        if ADODataSet1.FieldValues ['会员卡状态']='丢失' then
            begin
               ADODataSet1.Edit ;
               ADODataSet1.FieldByName('会员卡状态').AsString :='可用';
               ADODataSet1.Post ;
            end
        else
            showmessage('会员卡没有挂失,不必取消挂失');
     end;
  2: showmessage('必须输入');
  3: showmessage('必须输入');
end;
end;

procedure TMainForm.DBGrid3MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 ListBox1.Visible :=false;
end;

procedure TMainForm.Panel8MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 ListBox1.Visible :=false;
end;

procedure TMainForm.Button3Click(Sender: TObject);
var
temp,temp2:string;
begin
try
datetimetostring(temp,'mm/dd/yyyy',DateTimePicker1.Date);  //用mm/dd/yyyy的格式格式化日期时间datp.Date并返回到字符串temp中
temp:=stringreplace(temp,'-','/',[rfreplaceall]);  //用'-'替换'/'以符合SQL查询语句要求,rfReplaceAll为替换全部内容
datetimetostring(temp2,'mm/dd/yyyy',DateTimePicker2.Date+1);
temp2:=stringreplace(temp2,'-','/',[rfreplaceall]);
shourusql.Text:='select 收入,经手人,事由,日期,备注 from 收支表 where  收入>0 and 日期>=#'+ temp+'# and 日期 <=#'+ temp2+'#';
  ADOQuery0.Close ;
  ADOQuery0.SQL.Text :=shourusql.Text;
  ADOQuery0.Open ;
except
  showmessage('查询操作意外失败!!');
end;
end;

procedure TMainForm.Button5Click(Sender: TObject);
var
temp,temp2:string;
begin
try
datetimetostring(temp,'mm/dd/yyyy',DateTimePicker3.Date);  //用mm/dd/yyyy的格式格式化日期时间datp.Date并返回到字符串temp中
temp:=stringreplace(temp,'-','/',[rfreplaceall]);  //用'-'替换'/'以符合SQL查询语句要求,rfReplaceAll为替换全部内容
datetimetostring(temp2,'mm/dd/yyyy',DateTimePicker4.Date+1);
temp2:=stringreplace(temp2,'-','/',[rfreplaceall]);
zhichusql.Text :='select 支出,经手人,事由,日期,备注 from 收支表 where  支出>0 and 日期>=#'+ temp+'# and 日期 <=#'+ temp2+'#';
ADOQuery0.Close ;
ADOQuery0.SQL.Text :=zhichusql.Text ;
ADOQuery0.Open ;
except
  showmessage('查询操作意外失败!!');
end;
end;

procedure TMainForm.TabSheet28Show(Sender: TObject);
var
   Year, Month, Day: Word;
   CurrentNode:TTreeNode;
   nian,yue,ri:string;
   a:longint;
begin
ADOQuery0.Close;
if ADOQuery0.Tag<>1 then
  ADOQuery0.SQL.Text:= 'select * from 记事表 order by 日期';
ADOQuery0.Tag:=0;
ADOQuery0.Open ;
TreeView1.Visible :=false;
Treeview1.Items.Clear ;
while not ADOQuery0.Eof do begin
   DecodeDate(ADOQuery0.FieldValues ['日期'], Year, Month, Day);
   nian:=IntToStr(Year);
   yue:=IntToStr(Month);
   ri:=IntToStr(Day);
   IF treeview1.Items.Count >0 then begin
   if FindChild(TreeView1.Items[0] ,nian) then
      if FindChild(TreeView1.Selected ,yue) then
         if FindChild(TreeView1.Selected ,ri) then
            begin
            CurrentNode:=Treeview1.Items.AddChild(TreeView1.Selected,ADOQuery0.FieldValues['题目']);
            CurrentNode.ImageIndex :=2;
            CurrentNode.SelectedIndex :=3;
            a:= ADOQuery0.FieldValues['id'];
            CurrentNode.Data :=Pointer(a);
            end
         else begin
            CurrentNode:=Treeview1.Items.AddChild(TreeView1.Selected,ri+'日');
            CurrentNode.ImageIndex :=1;
            CurrentNode:=Treeview1.Items.AddChild(CurrentNode,ADOQuery0.FieldValues['题目']);
            CurrentNode.ImageIndex :=2;
            CurrentNode.SelectedIndex :=3;
             a:= ADOQuery0.FieldValues['id'];
          CurrentNode.Data :=Pointer(a);
         end
      else begin
         CurrentNode:=Treeview1.Items.AddChild(TreeView1.Selected,yue+'月');
         CurrentNode.ImageIndex :=1;
         CurrentNode:=Treeview1.Items.AddChild(CurrentNode,ri+'日');
          CurrentNode.ImageIndex :=1;
         CurrentNode:=Treeview1.Items.AddChild(CurrentNode,ADOQuery0.FieldValues['题目']);
         CurrentNode.ImageIndex :=2;
         CurrentNode.SelectedIndex :=3;
          a:= ADOQuery0.FieldValues['id'];
          CurrentNode.Data :=Pointer(a);
      end
   else begin
         CurrentNode:=Treeview1.Items.Add(TreeView1.Items[0],nian+'年');
         CurrentNode.ImageIndex :=1;
         CurrentNode:=Treeview1.Items.AddChild(CurrentNode,yue+'月');
         CurrentNode.ImageIndex :=1;
         CurrentNode:=Treeview1.Items.AddChild(CurrentNode,ri+'日');
         CurrentNode.ImageIndex :=1;
         CurrentNode:=Treeview1.Items.AddChild(CurrentNode,ADOQuery0.FieldValues['题目']);
         CurrentNode.ImageIndex :=2;
         CurrentNode.SelectedIndex :=3;
         a:= ADOQuery0.FieldValues['id'];
         CurrentNode.Data :=Pointer(a);
   end;
   end
   else begin
        CurrentNode:=Treeview1.Items.Add(TreeView1.TopItem,nian+'年');
        CurrentNode.ImageIndex :=1;
         CurrentNode:=Treeview1.Items.AddChild(CurrentNode,yue+'月');
         CurrentNode.ImageIndex :=1;
         CurrentNode:=Treeview1.Items.AddChild(CurrentNode,ri+'日');
         CurrentNode.ImageIndex :=1;
         CurrentNode:=Treeview1.Items.AddChild(CurrentNode,ADOQuery0.FieldValues['题目']);
         CurrentNode.ImageIndex :=2;
         CurrentNode.SelectedIndex :=3;
          a:= ADOQuery0.FieldValues['id'];
          CurrentNode.Data :=Pointer(a);
    end;
  // Treeview1.Items[0].Selected  :=  True;
   ADOQuery0.Next;
end;
TreeView1.FullCollapse;//收缩全部节点
ADOQuery0.Close ;
TreeView1.Visible :=true;
end;

//查找节点内容
function TMainForm.FindChild(const ANode: TTreeNode; const AText: string;const AStart: Integer = 0): boolean;
  //遍历子节点
var
    i : Integer;
//    BNode: TTreeNode;
begin
    Result  :=  False;
    for i := AStart to ANode.Count  - 1 do
    begin
      if Pos(AText,UpperCase(ANode.Item[i].Text)) > 0 then
      begin
        ANode.Item[i].Selected  :=  True;
        Result := True;
        Exit;
      end;
      Result  :=  FindChild(ANode.Item[i],AText);
      treeview1.Selected :=ANode;
      while treeview1.Selected.getNextSibling<>nil  do begin
      treeview1.Selected.getNextSibling.Selected:=true;
      if Pos(AText,UpperCase(treeview1.Selected.Text)) > 0  then
      begin
        Result := True;
         Exit;
      end;
      end;
    end;
end;

//根据节点数据查找节点
Function TMainForm.FindNode(ParentNode:TTreeNode;NodeScript:integer): boolean;
begin
Result  :=  False;
  while ParentNode<>nil do
    begin
      if ParentNode.HasChildren then
        begin
          ParentNode:=ParentNode.getFirstChild;
          FindNode(ParentNode,NodeScript);
          if integer(ParentNode.Data) = NodeScript then
             ParentNode.Selected :=true;
              Result  :=  true;
              exit;
          ParentNode:=ParentNode.Parent;
        end;
      if ParentNode.getNextSibling<>nil then
        ParentNode:=ParentNode.getNextSibling
      else
        exit;
    end;
end;

procedure TMainForm.ToolButton2Click(Sender: TObject);
var
sqlstr,temp,temp2:string;
begin
datetimetostring(temp,'mm/dd/yyyy',Date);  //用mm/dd/yyyy的格式格式化日期时间datp.Date并返回到字符串temp中
temp:=stringreplace(temp,'-','/',[rfreplaceall]);  //用'-'替换'/'以符合SQL查询语句要求,rfReplaceAll为替换全部内容
datetimetostring(temp2,'mm/dd/yyyy',Date+1);
temp2:=stringreplace(temp2,'-','/',[rfreplaceall]);
sqlstr:='select * from 记事表 where 日期 between #'+ temp+'# and #'+ temp2+'# order by 日期';
ADOQuery0.SQL.Text :=sqlstr;
TabSheet28Show(self);
end;

procedure TMainForm.ToolButton1Click(Sender: TObject);
begin
ADOQuery0.SQL.Text :='select * from 记事表 order by 日期';
TabSheet28Show(self);
end;

procedure TMainForm.TreeView1DblClick(Sender: TObject);
var
   CurrentNode:TTreeNode;
begin
CurrentNode:=Treeview1.Selected ;
   case CurrentNode.ImageIndex of
     2: begin
           ADOQuery5.Close ;
           ADOQuery5.SQL.Text :='select * from 记事表 where id=' + inttostr(integer(CurrentNode.Data));
           ADOQuery5.Open ;
           ADOQuery5.Edit;
        end;
   end;
end;

function TMainForm.CurrText: TTextAttributes;
begin
  if Editor.SelLength > 0 then Result := Editor.SelAttributes
  else Result := Editor.DefAttributes;
end;

procedure TMainForm.FontNameChange(Sender: TObject);
begin
if FUpdating then Exit;
  CurrText.Name := FontName.Items[FontName.ItemIndex];
end;

procedure TMainForm.PrintButtonClick(Sender: TObject);
begin
  if PrintDialog.Execute then
    Editor.Print(FFileName);
end;

procedure TMainForm.CutButtonClick(Sender: TObject);
begin
  Editor.CutToClipboard;
end;

procedure TMainForm.CopyButtonClick(Sender: TObject);
begin
  Editor.CopyToClipboard;
end;

procedure TMainForm.PasteButtonClick(Sender: TObject);
begin
  Editor.PasteFromClipboard;
end;

procedure TMainForm.UndoButtonClick(Sender: TObject);
begin
  with Editor do
    if HandleAllocated then SendMessage(Handle, EM_UNDO, 0, 0);
end;

procedure TMainForm.OpenButtonClick(Sender: TObject);
begin
  CheckFileSave;
  if OpenDialog.Execute then
  begin
    PerformFileOpen(OpenDialog.FileName);
    Editor.ReadOnly := ofReadOnly in OpenDialog.Options;
  end;
end;

procedure TMainForm.BoldButtonClick(Sender: TObject);
begin
  if FUpdating then Exit;
  if BoldButton.Down then
    CurrText.Style := CurrText.Style + [fsBold]
  else
    CurrText.Style := CurrText.Style - [fsBold];
end;

procedure TMainForm.ItalicButtonClick(Sender: TObject);
begin
  if FUpdating then Exit;
  if ItalicButton.Down then
    CurrText.Style := CurrText.Style + [fsItalic]
  else
    CurrText.Style := CurrText.Style - [fsItalic];
end;

procedure TMainForm.UnderlineButtonClick(Sender: TObject);
begin
  if FUpdating then Exit;
  if UnderlineButton.Down then
    CurrText.Style := CurrText.Style + [fsUnderline]
  else
    CurrText.Style := CurrText.Style - [fsUnderline];
end;

procedure TMainForm.LeftAlignClick(Sender

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -