|
|
1.1 root 1: /* Synchronet Control Panel (GUI Borland C++ Builder Project for Win32) */
2:
3: /* $Id: AboutBoxFormUnit.cpp,v 1.4 2000/11/01 21:44:20 rswindell Exp $ */
4:
5: /****************************************************************************
6: * @format.tab-size 4 (Plain Text/Source Code File Header) *
7: * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) *
8: * *
9: * Copyright 2000 Rob Swindell - http://www.synchro.net/copyright.html *
10: * *
11: * This program is free software; you can redistribute it and/or *
12: * modify it under the terms of the GNU General Public License *
13: * as published by the Free Software Foundation; either version 2 *
14: * of the License, or (at your option) any later version. *
15: * See the GNU General Public License for more details: gpl.txt or *
16: * http://www.fsf.org/copyleft/gpl.html *
17: * *
18: * Anonymous FTP access to the most recent released source is available at *
19: * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net *
20: * *
21: * Anonymous CVS access to the development source and modification history *
22: * is available at cvs.synchro.net:/cvsroot/sbbs, example: *
23: * cvs -d :pserver:[email protected]:/cvsroot/sbbs login *
24: * (just hit return, no password is necessary) *
25: * cvs -d :pserver:[email protected]:/cvsroot/sbbs checkout src *
26: * *
27: * For Synchronet coding style and modification guidelines, see *
28: * http://www.synchro.net/source.html *
29: * *
30: * You are encouraged to submit any modifications (preferably in Unix diff *
31: * format) via e-mail to [email protected] *
32: * *
33: * Note: If this box doesn't appear square, then you need to fix your tabs. *
34: ****************************************************************************/
35:
36: //---------------------------------------------------------------------------
37: #include <vcl.h>
38: #pragma hdrstop
39:
40: #include "AboutBoxFormUnit.h"
41: #include "emulvt.hpp"
42: #include "bbs_thrd.h" // bbs_startup_t
43: #include "mailsrvr.h"
44: #include "ftpsrvr.h"
45:
46: //---------------------------------------------------------------------------
47: #pragma package(smart_init)
48: #pragma resource "*.dfm"
49: TAboutBoxForm *AboutBoxForm;
50: //---------------------------------------------------------------------------
51: __fastcall TAboutBoxForm::TAboutBoxForm(TComponent* Owner)
52: : TForm(Owner)
53: {
54: }
55: //---------------------------------------------------------------------------
56: void __fastcall TAboutBoxForm::FormShow(TObject *Sender)
57: {
58: Memo->Lines->Clear();
59:
60: DWORD i;
61: unsigned int len=GetFileVersionInfoSize(
62: Application->ExeName.c_str() // pointer to filename string
63: ,&i // pointer to variable to receive zero
64: );
65: BYTE* buf=(BYTE *)malloc(len);
66: if(buf==NULL) {
67: Memo->Lines->Add("MALLOC ERROR!");
68: return;
69: }
70: GetFileVersionInfo(
71: Application->ExeName.c_str() // pointer to filename string
72: ,i // ignored
73: ,len // size of buffer
74: ,buf // pointer to buffer to receive file-version info.
75: );
76:
77: VS_FIXEDFILEINFO* Ver;
78: len=sizeof(Ver);
79: VerQueryValue(
80: buf // address of buffer for version resource
81: ,"\\" // address of value to retrieve
82: ,(void **)&Ver // address of buffer for version pointer
83: ,&len // address of version-value length buffer
84: );
85: free(buf);
86:
87: char compiler[32];
88: wsprintf(compiler,"BCC %X.%02X"
89: ,__BORLANDC__>>8
90: ,__BORLANDC__&0xff);
91:
92: char ver[256];
93: wsprintf(ver,"Synchronet Control Panel v%u.%u.%u.%u%s%s "
94: "Compiled %s %s with %s"
95: ,Ver->dwFileVersionMS>>16
96: ,Ver->dwFileVersionMS&0xffff
97: ,Ver->dwFileVersionLS>>16
98: ,Ver->dwFileVersionLS&0xffff
99: ,Ver->dwFileFlags&VS_FF_DEBUG ?
100: " Debug" : ""
101: ,Ver->dwFileFlags&VS_FF_PRERELEASE ?
102: " Pre-release" : ""
103: ,__DATE__, __TIME__, compiler
104: );
105:
106: Memo->Lines->Add(bbs_ver());
107: Memo->Lines->Add(mail_ver());
108: Memo->Lines->Add(ftp_ver());
109: Memo->Lines->Add(ver);
110: #if 0
111: Memo->Lines->Add("EmulVT ANSI Terminal Emulation v2.15 "
112: "(c) 1996-2000 Fran�ois Piette");
113: #else
114: Memo->Lines->Add("Synchronet Local Spy ANSI Terminal Emulation"+CopyRight);
115: #endif
116:
117: }
118: //---------------------------------------------------------------------------
119:
120:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.