a99  V32.6
allegro Windows Hauptprogramm
 Alle Klassen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
a99.h
gehe zur Dokumentation dieser Datei
1 // a99.h : Header file for a99/allegro
2 // Funktionsdeklarationen und Variablennamen f. d. Oberfl.Objekte
3 // Copyright 2011 Universitätsbibliothek Braunschweig, more see bottom
4 
5 #define NULL 0
6 #define MAXR 264000L // max size of result set
7 
8 #include "ca99.h"
9 #if !defined(AFX_A99_H__943E1CE8_DFCE_11D0_A2B9_0080C885B6AB__INCLUDED_)
10 #define AFX_A99_H__943E1CE8_DFCE_11D0_A2B9_0080C885B6AB__INCLUDED_
11 
12 #if _MSC_VER >= 1000
13 #pragma once
14 #endif // _MSC_VER >= 1000
15 
16 class Winx;
17 class Aform;
18 class GetL;
19 class selbox;
20 #include "aedit.h"
21 #include "alistbox.h"
22 #include "abutton.h"
23 #include "aprogr.h"
24 #include "ariched.h"
25 #include "acombo.h"
26 
27 #include "afxcoll.h" // for CMap
28 #include "afxtempl.h" // for MapPtrToPtr
29 
30 /////////////////////////////////////////////////////////////////////////////
31 // a99 dialog
32 
33 // global: active index dialog
34 
35 class a99 : public CDialog
36 {
37 // Construction
38 private:
39  int bON; // 1: browse window (wkv) is on
40  Aform* m_aDlg;
41  GetL* m_getl;
42  selbox* m_selb;
43 // HACCEL g_hAccel;
44 
45 void SetStats(int,long,long, RECORD *,int aut=0); // set status bar fields
46 
47 public:
48  Winx* winxi; // nichtmodales Indexfenster
49  Winx* winxj; // zweites Indexfenster
50  KONFIG *Cfg; // CFG to be used
51  RECORD *Rec; // RECORD object to be worked on
52  RECORD *Bac; // RECORD object for backup
53  RECORD *Bor; // Originalsatz als Kopie, beim Speichern
54  // nur wegen des Aenderungs-Zeitstempels!
55  EXET *Edit; // Export for external editor
56  ABASE *Bank; // Database
57  void Check(int); //test
58  int DataInit(); // init data objects
59  void setListFont(int md); // set font in listbox
60  void setCFGList(KONFIG *cfg); // Kategorieliste anzeigen
61  void setAbfList(KONFIG *cfg); // Abfrageliste anzeigen
62  void setFldList(RECORD *rec); // aktuellen Satz anzeigen
63  void setBacList(void); // Hintergrundspeicher anzeigen
64  void showListType(char *); // Listentyp anzeigen
65  void eraseoff(); // Clear offline store
66  void dispStat(); // statist. Angaben
67  void counter(int i,int j=0); // Zaehler
68  void counter(long i,long j=0); // Zaehler
69  void Exit(); // Beendung
70  void Serial(int); // Datei schreiben
71  int tabBuild(); // build TAB file
72  int helpinfo(char *, char *h="alcarta"); // display a help file
73  long findFlip(); // find cmd is in zeile[]
74 
75  int Flip(int); // execute a Flip
76  int FLEXecute(char *); // execute a FLEX
77 
78  void callProg(char *, char *); // start an external program
79  int ShowView(char *vn,int md);// open viewlist and select (if md==1)
80  void XMLsub(CHAR *); // xml subfield tagging
81  void showIV(char *, char *); // sho inpu contents in display field
82  CHAR* Repla(CHAR *a, CHAR *b); // do replacements in b, using a=_..._..._
83  CHAR* RAdr(CHAR *a); // find addr of field a in curr record
84  int xcode(char *bx, char *ax,bool mode);
85  // ax -> bx lowercase, umlauts etc. mode=1:record, 0:field
86  int Pinst(CHAR *a, int i); // insert a into phrase space at position i
87  void switchIx(char); // switch index file
88 
89  CMap <long, long, int, int &> Rx; // registry for rec numbers
90 
91  int tabReg(RECORD *); // assign new offline nr to online rec
92 
93  bool ReadFile(char *filnam); // read file filnam as exterior result set
94 
95  void writebm(RECNR); // save new bookmark
96  void chgHist(int,int,char *a=NULL); // change list of rsets
97  void saveRset(); // save res set to file
98  void delRsets(int r); // remove all result sets
99  void remRset(int); // remove res set
100 
101  void ReSort(int md=0); // re-sort current result set
102  int SRRP(char *, int crm=0); // srch + replace in current rec
103 
104  FILE *openrsF(int n, char *); // open result set file n
105  void NoRight(char *); // lack of rights, exit
106 
107  BOOL checkDisp(); // was display text changed? then return 1
108 
109  void code8Remove(CHAR *); // remove code 8 and punctuation at end of primkey
110 
111  int aph_read(); // PHRASE.APH read/save
112  void aph_save();
113 
114  void DisplIndex(char *,int n=0,int md=0,int cmo=0);// display index section
115  void ResList(int md,int from=0,int nn=0); // results -> display/file
116 
117  void ExpGet(char *a); // enter a string, for interactive export
118  void ExpSend(char *a); // enter a string, for interactive export
119 
120 // Right mouse button from wkv display
121  void ButtonDown(int);
122 
123  a99(CWnd* pParent = 0); // standard constructor
124 
125  int DoModal(); // statt Konstruktor!
126  ~a99();
127 
128  char *GetFlip(); // get clicked line and flip text
129 
130  void delLine(); // delete 1 line from listbox
131 
132 // Dialog Data
133 
134  CMenu *Emnu; // a99 Menu
135 
136  //{{AFX_MSG(a99)
137  afx_msg void OnM320();
138  afx_msg void OnButton4();
139  afx_msg void DispField(char c='0');
140  afx_msg void OnDBP(char lb[]="", int md=0, int af=0);
141  afx_msg void OnRecDisp();
142  afx_msg void OnBack();
143  afx_msg void OnForw();
144  afx_msg void OnPrint();
145  afx_msg void OnPrintDisp();
146  afx_msg void OnM258m();
147  virtual BOOL OnInitDialog();
148  afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
149  afx_msg void OnAbout();
150  afx_msg void OnPaint();
151  afx_msg void OnSize(UINT,int,int);
152  afx_msg HCURSOR OnQueryDragIcon();
153  afx_msg void OnButtonDispl();
154  afx_msg void DataFont();
155  afx_msg void DisplFont();
156  virtual void OnCancel();
157  afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
158  afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
159  afx_msg void OnClose();
160  afx_msg void OnCancelMode();
161  afx_msg void ReadyW();
162  afx_msg int ReadRec(RECORD *, int, int aut=0);
163  afx_msg int WriteRec(RECORD *);
164  virtual void OnOK();
165  afx_msg void OnActivate( UINT nState, CWnd* pWndOther, BOOL bMinimized );
166  afx_msg void OnKillfocusEdit1();
167  afx_msg void OnDcopy();
168  afx_msg void OnCopy();
169  afx_msg void OnCFGButton();
170  afx_msg void OnDefault();
171  afx_msg void OnSetfocusW();
172  afx_msg void OnMsgFilterW();
173  afx_msg void OnCharW(UINT nChar, UINT nRepCnt, UINT nFlags);
174  afx_msg void OnSetfocusList1();
175  afx_msg void OnBackRec();
176  afx_msg void OnBackGDsp();
177  afx_msg void OnSelchangeList1();
178  afx_msg void OnButtonEdit();
179  afx_msg void OnButtonGet();
180  afx_msg void OnClear();
181  afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
182  afx_msg void OnErrspaceList1();
183  afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
184  afx_msg void OnBMark();
185  afx_msg void OnButtonPrint(int,char *labl=0);
186  afx_msg void OnSetfocusS();
187  afx_msg void OnButtonN();
188  afx_msg void OnButtonP();
189  afx_msg void OnButtonB();
190  afx_msg void OnButtonUndo();
191  afx_msg void OnNew();
192  afx_msg void OnButtonNew();
193  afx_msg void OnButtonDel();
194  afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
195  afx_msg void OnSetfocusDispl();
196  afx_msg void OnButtonx(int);
197  afx_msg void Extras(int);
198  afx_msg void OnSave();
199  afx_msg LRESULT OnJanas(UINT idAction, DWORD dwActionData);
200  afx_msg void OnTCard(UINT idAction, DWORD dwActionData);
201  afx_msg void OnCommand();
202  afx_msg void OnButtonCmd();
203  afx_msg void OnWarqa(char *);
204  afx_msg void OnOrganize();
205  afx_msg void OnButtonInfo();
206  afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
207  afx_msg void OnDcList1();
208  afx_msg void OnIndex(); // Winx
209  afx_msg int ActRset(int m);
210  afx_msg void OnRset();
211  afx_msg void OnBup();
212  afx_msg void OnBdn();
213  afx_msg void OnRor();
214  afx_msg void OnRand();
215  afx_msg void OnRnot();
216 // afx_msg void OnInput();
217  afx_msg void OnM280();
218  afx_msg void OnX1();
219  afx_msg void OnX2();
220  afx_msg void OnX3();
221  afx_msg void OnX4();
222  afx_msg void OnX6();
223  afx_msg void OnX7();
224  afx_msg void OnX8();
225  afx_msg void OnX9();
226  afx_msg void OnPr0();
227  afx_msg void OnPr1();
228  afx_msg void OnPr2();
229  afx_msg void OnPr3();
230  afx_msg void OnPr4();
231  afx_msg void OnPr5();
232  afx_msg void OnPr6();
233  afx_msg void OnPr7();
234  afx_msg void OnPr8();
235  afx_msg void OnPr9();
236  afx_msg void OnPr11();
237  afx_msg void OnHelp();
238  afx_msg void OnHelpMenu();
239  afx_msg void OnM292();
240  afx_msg void OnOptEdit();
241  afx_msg void OnForm();
242  afx_msg void OnPageSetup();
243  afx_msg void OnGDel();
244  afx_msg void OnGM();
245  afx_msg void OnViews();
246  afx_msg void OnMSave();
247  afx_msg void OnIndex2();
248  afx_msg void OnFlip1();
249  afx_msg void OnFlip2();
250  afx_msg void OnFlip3();
251  afx_msg void OnFlip4();
252  afx_msg void OnFlip5();
253  afx_msg void OnFlip6();
254  afx_msg void OnFlip7();
255  afx_msg void OnFlip8();
256  afx_msg void OnFlip9();
257  afx_msg void OnFlip0();
258  afx_msg void OnRelease();
259  afx_msg void OnPRESTO();
260  afx_msg void OnM258();
261  afx_msg void OnM264();
262  afx_msg int OpenDatabase();
263  afx_msg void CloseDatabase();
264  afx_msg void OtherDatabase();
265  afx_msg void OnSelFlip();
266  afx_msg void OnM291();
267  afx_msg void OnM266();
268  afx_msg void OnM267();
269  afx_msg void OnExfile();
270  afx_msg void OnKillfocusW();
271  afx_msg void OnSetfocusEdit1(NMHDR* pNMHDR, LRESULT* pResult);
272  afx_msg void OnHotlink(NMHDR* pNMHDR, LRESULT* pResult);
273  afx_msg void OnDblLink(NMHDR* pNMHDR, LRESULT* pResult);
274  afx_msg void OnM301();
275  afx_msg void OnNormalize();
276  afx_msg void OnBm();
277  afx_msg void OnShowBm();
278  afx_msg void OnWipe();
279  afx_msg void OnM315();
280  afx_msg void OnM315e();
281  afx_msg void OnM316();
282  afx_msg void OnM323();
283  afx_msg void OnFindExpert();
284  afx_msg void OnSetFocus(CWnd* pOldWnd);
285  afx_msg void OnDoor();
286  afx_msg void OnDbi();
287  afx_msg void OnCalend();
288  afx_msg void OnExprt();
289  afx_msg void OnClickRed(NMHDR* pNMHDR, LRESULT* pResult);
290  afx_msg void OnFirstRec();
291  afx_msg void OnPrevRec();
292  afx_msg void OnNextRec();
293  afx_msg void OnLastRec();
294  afx_msg void OnSfm();
295  afx_msg void OnDropFiles(HDROP hDropInfo);
296  afx_msg void OnClickDisp(NMHDR* pNMHDR, LRESULT* pResult);
297  afx_msg void OnColm();
298  afx_msg void OnM317();
299  afx_msg void OnM318();
300  afx_msg void OnM283A();
301  afx_msg void OnM329();
302  afx_msg void OnAddFunc();
303  afx_msg void OnFontp();
304  afx_msg void OnFontm();
305  afx_msg void OnFonti();
306  afx_msg void OnFontd();
307  afx_msg void DispFld();
308  afx_msg void OnSpick();
309  afx_msg void OnCornu();
310  afx_msg BOOL OnToolTip( UINT id, NMHDR * pTTTStruct, LRESULT * pResult );
311  //}}AFX_MSG
312 
313  //{{AFX_DATA(a99)
314  enum { IDD = IDD_A99 }; // see IDD_A99 in a99.rc, Konfiguration der Elemente
315  CButton m_dbi;
316  CButton m_calend;
317  CButton m_exprt;
332  CButton m_rsbrowse;
345  CEdit m_filename;
351  CButton m_clear;
353  CButton m_mv;
354  CButton m_extern;
355  CButton m_mark;
356  CButton m_korr;
365  CaButton m_flip1; // FlipButtons
373  CBitmap m_dO; // door
374  CBitmap m_dOu; // door unable
375  CBitmap m_bD; // browse down
376  CBitmap m_bDu; // browse down unable
377  CBitmap m_bU; // browse up
378  CBitmap m_bUu; // browse up unable
379  CBitmap m_iX; // Index
380  CBitmap m_fI; // Find
381  CBitmap m_qM; // Question mark
382  CBitmap m_bK; // Back
383  CBitmap m_bKu; // Back unable
384  CBitmap m_fW; // Forward
385  CBitmap m_fWu; // Forward unable
386  CBitmap m_wP; // Wipe
387  CBitmap m_pR; // Print
388  CBitmap m_nW; // New
389  CBitmap m_fM; // Form
390  CBitmap m_sV; // Save
391  CBitmap m_uN; // Undo
392  CBitmap m_bF; // Wkv (Kurzlise/ViewListe)
393  CBitmap m_rL; // reslst
394  CBitmap m_oF; // Offl
395  CBitmap m_eX; // Exprt
396  CBitmap m_dB; // DbInfo
397  CBitmap m_cA; // Calend
398  CBitmap m_nB; // NewBookmk
399  CBitmap m_sB; // ShowBm
400  CBitmap m_f1; // Flip 1
401  CBitmap m_f2; // Flip 2
402  CBitmap m_f3; // Flip 3
403  CBitmap m_f4; // Flip 4
404  CBitmap m_f5; // Flip 5
405  CBitmap m_f6; // Flip 6
406  CBitmap m_f7; // Flip 7
407  CBitmap m_f8; // Flip 8
409  CEdit m_display;
413  //}}AFX_DATA
414 
415  BOOL PreTranslateMessage(MSG *); // wg accelerators
416 
417  int iOnButtonN();
418  int iOnButtonP();
419  int iOnBup();
420  int iOnBdn();
421 
422 
423  void ResultBrowse(void); // show wkv list
424  void Jump(char);
425  void Fetch(int); // get rec from Bank
426  int dbFetch(long, int md=1);
427  void eDefault(void); // $$980125
428  void expDef(char *nam=0,int md=0);
429  void openOffline(void);
430  void gvar(char *a); // $-variable in zeile kopieren
431  double comma(char *a); // arithm Ausdr auswerten
432  double eval(char *a); // arithm Ausdr auswerten
433  void ShowKeys(bool mod=1); // Anzeige der Indexeintraege des Satzes
434  void ShowK(); // Aufruf desselben vom Menue
435  void ProdKeys(char md); // Indexeintr -> ouF in qrix format (ii file)
436  int IsLocked(RECORD *R); // return 8 if R is locked
437  void NoResult(); // result set empty
438 
439  int nrec, nrec0, nrec1; // current rec / prev. rec / last pos in browse
440 
441 // Implementation
442  // ClassWizard generated virtual function overrides
443  //{{AFX_VIRTUAL(a99)
444 protected:
445  virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
446  //}}AFX_VIRTUAL
447 
448 protected:
449  HICON m_hIcon;
450 
451  CToolBar *m_alcToolBar;
452 
453  HBRUSH bbr;
454  CBrush cbr;
455  char *Konf; // name of CFG
456  char *Lang; // language
457  char *File; // file name .ALG or .ADT
458  int Numb; // rec number (sequential in file)
459  int rcl; // rec length, original
460  int rpo; // rec position in file
461  int rst; // rec status
462  int FormLoad(char *); // load a forms file
463  int Family(RECORD *); // collect all family members
464  void readSet(FILE *); // read PRESTO X.SET output
465  void DoSave(bool md=0); // save Rec, 1:with unlock 0:not if locked
466  void SaveRec(bool md=0); // save Rec, 1:with unlock 0:not if locked
467  void OnCancelX();
468  BOOL OnLogPeek(int); // get tail of log file
469 // BOOL OnCmdMsg(UINT , int , void* , AFX_CMDHANDLERINFO* );
470  void OnOffSave(int); // save offline or online data to database
471 
472  void RecMerge(RECORD *Satz1, RECORD *Satz2);
473 
474  void writelru(RECNR rp, long pos, int rst); // save rp to lru file
475  CHAR* ReadLine(CHAR *pZeile,int ll, FILE *upload, int md); // read 1 line
476  int RRec(RECORD *Satz, int md); // Satz aus UPLOAD einlesen (wird vorher geoeffnet)
477  int getCmd(CHAR* pCmd); // naechste Befehlszeile aus jobstore holen
478  int Synchro(RECORD *, RECORD *); // check timestamp
479 
480  int TempOpen(); // temporary open
481  void TempClose(); // temporary close
482  void openForm(int fnr=0);
483  void fontsize(int);
484  void iMinim();
485  void jMinim();
486  void OnBGet();
487  void PrintDocument(PRINTDLG*); // print rtf window
488  BOOL CALLBACK AbortProc( HDC , int );
489  // Generated message map functions
490 
491  afx_msg LRESULT OnFunKey(WPARAM wParam, LPARAM lParam); // Winx
492  afx_msg LRESULT OnXecute(WPARAM wParam, LPARAM lParam); // external flex
493  afx_msg LRESULT OnActivate(WPARAM wParam, LPARAM lParam); // activate
494  afx_msg LRESULT OnAform(WPARAM wParam, LPARAM lParam); // Aform formular
495  DECLARE_MESSAGE_MAP()
496 
497 
498 };
499 
500 //{{AFX_INSERT_LOCATION}}
501 // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
502 
503 #endif // !defined(AFX_A99_H__943E1CE8_DFCE_11D0_A2B9_0080C885B6AB__INCLUDED_)
504 
505 /*
506  Copyright 2011 Universitätsbibliothek Braunschweig
507 
508  Licensed under the Apache License, Version 2.0 (the "License");
509  you may not use this file except in compliance with the License.
510  You may obtain a copy of the License at
511 
512  http://www.apache.org/licenses/LICENSE-2.0
513 
514  Unless required by applicable law or agreed to in writing, software
515  distributed under the License is distributed on an "AS IS" BASIS,
516  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
517  See the License for the specific language governing permissions and
518  limitations under the License.
519 */
520 
521