Annotation of sbbs/sbbs3/ctrl/userlistformunit.cpp, revision 1.1.1.1

1.1       root        1: //---------------------------------------------------------------------------
                      2: 
                      3: #include <vcl.h>
                      4: #pragma hdrstop
                      5: 
                      6: #include "UserListFormUnit.h"
                      7: #include "MainFormUnit.h"
                      8: #include "sbbs.h"
                      9: #include "userdat.h"
                     10: //---------------------------------------------------------------------------
                     11: #pragma package(smart_init)
                     12: #pragma resource "*.dfm"
                     13: TUserListForm *UserListForm;
                     14: //---------------------------------------------------------------------------
                     15: __fastcall TUserListForm::TUserListForm(TComponent* Owner)
                     16:     : TForm(Owner)
                     17: {
                     18: }
                     19: //---------------------------------------------------------------------------
                     20: void __fastcall TUserListForm::FormShow(TObject *Sender)
                     21: {
                     22:     char    str[128];
                     23:     int     i,last;
                     24:     user_t  user;
                     25:     TListItem*  Item;
                     26: 
                     27:     ColumnToSort=0;
                     28:     SortBackwards=false;
                     29:     Screen->Cursor=crAppStart;
                     30: 
                     31:     last=lastuser(&MainForm->cfg);
                     32:     ListView->AllocBy=last;
                     33:     
                     34:     for(i=0;i<last;i++) {
                     35:         user.number=i+1;
                     36:         if(getuserdat(&MainForm->cfg,&user)!=0)
                     37:             continue;
                     38:         if(user.misc&DELETED)
                     39:             continue;
                     40:         Item=ListView->Items->Add();
                     41:         Item->Caption=AnsiString(i+1);
                     42:         Item->SubItems->Add(user.alias);
                     43:         Item->SubItems->Add(user.name);
                     44:         Item->SubItems->Add(user.level);
                     45:         Item->SubItems->Add((int)getage(&MainForm->cfg,user.birth));
                     46:         sprintf(str,"%c",user.sex);
                     47:         Item->SubItems->Add(str);
                     48:         Item->SubItems->Add(user.location);
                     49:         Item->SubItems->Add(user.modem);
                     50:         Item->SubItems->Add(user.note);
                     51:         Item->SubItems->Add(user.comp);
                     52:         Item->SubItems->Add(user.phone);
                     53:         Item->SubItems->Add(user.netmail);
                     54:         Item->SubItems->Add(user.logons);
                     55:         Item->SubItems->Add(unixtodstr(&MainForm->cfg,user.firston,str));
                     56:         Item->SubItems->Add(unixtodstr(&MainForm->cfg,user.laston,str));
                     57:     }
                     58: 
                     59:     Screen->Cursor=crDefault;
                     60: }
                     61: //---------------------------------------------------------------------------
                     62: void __fastcall TUserListForm::ListViewColumnClick(TObject *Sender,
                     63:       TListColumn *Column)
                     64: {
                     65:     if(Column->Index == ColumnToSort)
                     66:         SortBackwards=!SortBackwards;
                     67:     else
                     68:         SortBackwards=false;
                     69:     ColumnToSort = Column->Index;
                     70:     ((TCustomListView *)Sender)->AlphaSort();
                     71: }
                     72: //---------------------------------------------------------------------------
                     73: void __fastcall TUserListForm::ListViewCompare(TObject *Sender,
                     74:       TListItem *Item1, TListItem *Item2, int Data, int &Compare)
                     75: {
                     76:     /* Decimal compare */
                     77:     if (ColumnToSort == 0 || ColumnToSort==3 || ColumnToSort==4
                     78:     || ColumnToSort == 12) {
                     79:         int num1, num2;
                     80: 
                     81:         if(ColumnToSort==0) {
                     82:             num1=Item1->Caption.ToIntDef(0);
                     83:             num2=Item2->Caption.ToIntDef(0);
                     84:         } else {
                     85:             int ix = ColumnToSort - 1;
                     86:             num1=Item1->SubItems->Strings[ix].ToIntDef(0);
                     87:             num2=Item2->SubItems->Strings[ix].ToIntDef(0);
                     88:         }
                     89:         if(SortBackwards)
                     90:             Compare=(num2-num1);
                     91:         else
                     92:             Compare=(num1-num2);
                     93:     } else {
                     94:         int ix = ColumnToSort - 1;
                     95:         if(SortBackwards)
                     96:             Compare = CompareText(Item2->SubItems->Strings[ix]
                     97:                 ,Item1->SubItems->Strings[ix]);
                     98:         else
                     99:             Compare = CompareText(Item1->SubItems->Strings[ix]
                    100:                 ,Item2->SubItems->Strings[ix]);
                    101:     }
                    102: }
                    103: //---------------------------------------------------------------------------
                    104: void __fastcall TUserListForm::FormClose(TObject *Sender,
                    105:       TCloseAction &Action)
                    106: {
                    107:     ListView->Items->Clear();
                    108: 
                    109: }
                    110: //---------------------------------------------------------------------------
                    111: 
                    112: 
                    113: 
                    114: 
                    115: void __fastcall TUserListForm::EditUserPopupClick(TObject *Sender)
                    116: {
                    117:     char str[256];
                    118: 
                    119:     if(ListView->Selected==NULL)
                    120:         return;
                    121:     sprintf(str,"%sUSEREDIT %s %s"
                    122:         ,MainForm->cfg.exec_dir,MainForm->cfg.data_dir
                    123:         ,ListView->Selected->Caption.c_str());
                    124:     WinExec(str,SW_SHOWNORMAL);
                    125: }
                    126: //---------------------------------------------------------------------------
                    127: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.