main.cpp
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:68k
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #pragma hdrstop
- #include "main.h"
- #include "initsetup.h"
- #include "db.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma resource "*.dfm"
- #include <shellapi.h>
- #include <registry.hpp>
- #include <winsvc.h>
- #include <winsock.h>
- #include <shlobj.h>
- #include <IniFiles.hpp>
- #include <dir.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <deque.h>
- #include <vector.h>
- #include <fstream.h>
- #include <iostream.h>
- #include <iterator.h>
- #include <sstream.h>
- #include "mysql.h"
- #include <Printers.hpp>
- TForm1 *Form1;
- bool i_start, NT;
- bool IsForce = false;
- bool IsVariables = false;
- bool IsProcess = false ;
- bool IsDatabases = false;
- bool new_line = 0;
- bool ya = true;
- bool yy = true;
- bool rinit = false;
- AnsiString vpath;
- AnsiString vip;
- MYSQL_RES *res_1;
- static unsigned long q = 0;
- bool preport = false;
- bool treport = false;
- bool ereport = false;
- AnsiString mainroot;
- bool IsMySQLNode = false;
- MYSQL *MySQL;
- //---------------------------------------------------------------------------
- __fastcall TForm1::TForm1(TComponent* Owner)
- : TForm(Owner)
- {
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::FormCreate(TObject *Sender)
- {
- i_start = true;
- IsConnect = false;
- if (ParamCount() > 0){
- if (ParamStr(1) == "-h" || ParamStr(1) == "h" ) {
- ShowHelp(); Application->Terminate(); }
- else if (ParamStr(1) == "-w" || ParamStr(1) == "w") {
- i_start = false; ContinueLoad(); }
- }
- else {
- ContinueLoad(); Hide(); GetServerOptions(); }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::DrawItem(TMessage& Msg)
- {
- IconDrawItem((LPDRAWITEMSTRUCT)Msg.LParam);
- TForm::Dispatch(&Msg);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::MyNotify(TMessage& Msg)
- {
- POINT MousePos;
- switch(Msg.LParam) {
- case WM_RBUTTONUP:
- if (GetCursorPos(&MousePos)){
- PopupMenu1->PopupComponent = Form1; SetForegroundWindow(Handle);
- PopupMenu1->Popup(MousePos.x, MousePos.y);}
- else Show();
- break;
- case WM_LBUTTONUP:
- if (GetCursorPos(&MousePos)){
- PopupMenu1->PopupComponent = Form1; SetForegroundWindow(Handle);
- PopupMenu1->Popup(MousePos.x, MousePos.y); }
- ToggleState();
- break;
- default:
- break; }
- TForm::Dispatch(&Msg);
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::TrayMessage(DWORD dwMessage)
- {
- NOTIFYICONDATA tnd;
- PSTR pszTip;
- pszTip = TipText();
- tnd.cbSize = sizeof(NOTIFYICONDATA);
- tnd.hWnd = Handle;
- tnd.uID = IDC_MYICON;
- tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
- tnd.uCallbackMessage = MYWM_NOTIFY;
- if (dwMessage == NIM_MODIFY){
- tnd.hIcon = IconHandle();
- if (pszTip)lstrcpyn(tnd.szTip, pszTip, sizeof(tnd.szTip));
- else tnd.szTip[0] = ''; }
- else { tnd.hIcon = NULL; tnd.szTip[0] = ''; }
- return (Shell_NotifyIcon(dwMessage, &tnd));
- }
- //---------------------------------------------------------------------------
- HANDLE __fastcall TForm1::IconHandle(void)
- {
- if (!NT){
- if (MySQLSignal()){Image3->Visible = false; Image2->Visible = true;
- return (Image2->Picture->Icon->Handle); }
- else {Image2->Visible = false; Image3->Visible = true;
- return (Image3->Picture->Icon->Handle); }
- }
- else {
- if (TheServiceStatus()){Image3->Visible = false; Image2->Visible = true;
- return (Image2->Picture->Icon->Handle); }
- else if (MySQLSignal()){Image3->Visible = false; Image2->Visible = true;
- return (Image2->Picture->Icon->Handle); }
- else {Image2->Visible = false; Image3->Visible = true;
- return (Image3->Picture->Icon->Handle); }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::ToggleState(void)
- {
- TrayMessage(NIM_MODIFY);
- if (!NT){
- if (MySQLSignal()){SSW9->Caption = "ShutDown the Server";
- Image3->Visible = false; Image2->Visible = true; }
- else {SSW9->Caption = "Start the Server";
- Image2->Visible = false; Image3->Visible = true; }
- }
- else {
- if (TheServiceStart()) {
- Standa->Enabled = false;
- if (TheServiceStatus()) {RService->Enabled = false;
- StopS->Enabled = true;
- StopS->Caption = "Stop the Service";
- Image3->Visible = false;
- Image2->Visible = true; }
- else {RService->Enabled = true;
- StopS->Enabled = true;
- RService->Caption = "Remove the Service";
- StopS->Caption = "Start the Service";
- Image2->Visible = false;
- Image3->Visible = true; }
- }
- else {
- Standa->Enabled = true;
- StopS->Enabled = false;
- if (MySQLSignal()) {
- RService->Enabled = false;
- Standa->Caption = "ShutDown the Server Standalone";
- Image3->Visible = false;
- Image2->Visible = true; }
- else {
- RService->Enabled = true;
- RService->Caption = "Install the Service";
- Standa->Caption = "Start the Server Standalone";
- Image2->Visible = false;
- Image3->Visible = true; }
- }
- }
- }
- //---------------------------------------------------------------------------
- PSTR __fastcall TForm1::TipText(void)
- {
- char* status = StatusLine->SimpleText.c_str();
- return status;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::WMQueryEndSession(TWMQueryEndSession &msg)
- {
- if (!NT) {
- if (MySQLSignal()){
- StatusLine->SimpleText = "Shutdown in progress.....";
- Show(); Shutd(); msg.Result = 1; }
- else {
- StatusLine->SimpleText = "The Server already is down......";
- Show(); msg.Result = 1; Close(); }
- }
- else {
- Show();
- if (!TheServiceStart()) { if (MySQLSignal()) Shutd(); }
- msg.Result = 1;
- }
- }
- //---------------------------------------------------------------------------
- LRESULT IconDrawItem(LPDRAWITEMSTRUCT lpdi)
- {
- HICON hIcon;
- hIcon = (HICON)LoadImage(g_hinst, MAKEINTRESOURCE(lpdi->CtlID), IMAGE_ICON,
- 16, 16, 0);
- if (!hIcon)
- return(false);
- DrawIconEx(lpdi->hDC, lpdi->rcItem.left, lpdi->rcItem.top, hIcon,
- 16, 16, 0, NULL, DI_NORMAL);
- return(true);
- }
- //---------------------------------------------------------------------------
- AnsiString __fastcall TForm1::TheComputer()
- {
- AnsiString theword;
- DWORD dwSize = MAX_COMPUTERNAME_LENGTH + 1;
- char szBuf[MAX_COMPUTERNAME_LENGTH + 1];
- szBuf[0] = '';
- GetComputerName(szBuf, &dwSize);
- theword = (AnsiString) szBuf;
- delete [] szBuf;
- return theword;
- }
- //---------------------------------------------------------------------------
- AnsiString __fastcall TForm1::TheOS()
- {
- AnsiString theword;
- OSVERSIONINFO info;
- info.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
- GetVersionEx(&info);
- switch (info.dwPlatformId)
- {
- case VER_PLATFORM_WIN32s:
- NT = false;
- theword = "Win32s detected";
- break;
- case VER_PLATFORM_WIN32_WINDOWS:
- NT = false;
- theword = "Win 95 or Win 98 detected";
- break;
- case VER_PLATFORM_WIN32_NT:
- NT = true;
- theword = "Windows NT detected";
- break;
- }
- return theword;
- }
- ///---------------------------------------------------------------------------
- AnsiString __fastcall TForm1::TheUser()
- {
- AnsiString theword;
- DWORD dwSize = 0;
- GetUserName(NULL, &dwSize);
- char *szBuf = new char[dwSize];
- szBuf[0] = '';
- GetUserName(szBuf, &dwSize);
- theword = (AnsiString) szBuf;
- delete [] szBuf;
- return theword;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::TakeIP(void)
- {
- WORD wVersionRequested;
- WSADATA WSAData;
- wVersionRequested = MAKEWORD(1,1);
- WSAStartup(wVersionRequested,&WSAData);
- hostent *P;
- char s[128];
- in_addr in;
- char *P2;
- gethostname(s, 128);
- P = gethostbyname(s);
- Memo2->Lines->Clear();
- Memo2->Lines->Add((AnsiString)P->h_name);
- mainroot = P->h_name;
- in.S_un.S_un_b.s_b1 = P->h_addr_list[0][0];
- in.S_un.S_un_b.s_b2 = P->h_addr_list[0][1];
- in.S_un.S_un_b.s_b3 = P->h_addr_list[0][2];
- in.S_un.S_un_b.s_b4 = P->h_addr_list[0][3];
- P2 = inet_ntoa(in);
- vip = P2;
- mainroot += " ( " + (AnsiString)P2 + " )";
- Memo2->Lines->Add(P2);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::GetmemStatus(void)
- {
- MEMORYSTATUS ms;
- ms.dwLength = sizeof(MEMORYSTATUS);
- GlobalMemoryStatus(&ms);
- Edit2->Text = AnsiString((double)ms.dwTotalPhys / 1024000.0) + " MB RAM";
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::ShowHelp(void)
- {
- Application->MessageBox("Usage: WinMySQLadmin.EXE [OPTIONS]nn-w Run the tool without start the Server.n-h Shows this message and exit ", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::ContinueLoad(void)
- {
- OS->Text = TheOS();
- Localhost->Text = TheComputer();
- Localuser->Text = TheUser();
- GetmemStatus();
- ClearBox();
- TakeIP();
- MyODBC();
- IsMyIniUp();
- if (!NT) { WinNT->Enabled = false; NtVer->Enabled = false; Win9->Enabled = true; }
- else { WinNT->Enabled = true; Win9->Enabled = false; }
- if (i_start)
- {
- // NT never is started from the prompt
- if ((!NT) && (!MySQLSignal())) mysqldstart();
- {
- TrayMessage(NIM_MODIFY);
- SeekErrFile();
- }
- }
- Hide();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::MyODBC(void)
- {
- TRegistry *Registry = new TRegistry();
- Memo3->Lines->Clear();
- try
- {
- Registry->RootKey = HKEY_LOCAL_MACHINE;
- // the basic data of myodbc
- if (Registry->OpenKey("Software\ODBC\ODBCINST.INI\MySQL", false))
- {
- Memo3->Lines->Add("Driver Versiont" + Registry->ReadString("DriverODBCVer"));
- Memo3->Lines->Add("Drivertt" + Registry->ReadString("Driver"));
- Memo3->Lines->Add("API Leveltt" + Registry->ReadString("APILevel"));
- Memo3->Lines->Add("Setuptt" + Registry->ReadString("Setup"));
- Memo3->Lines->Add("SQL Levelt" + Registry->ReadString("SQLLevel"));
- }
- else
- Memo3->Lines->Add("Not Found");
- }
- catch (...)
- {
- delete Registry;
- }
- Memo3->Enabled = false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::IsMyIniUp(void)
- {
- // we see if the my.ini is Up
- AnsiString asFileName = FileSearch("my.ini", TheWinDir());
- if (asFileName.IsEmpty())
- {
- IsForce = true;
- i_start = false;
- QuickSearch();
- }
- else
- {
- Memo1->Enabled = true;
- Memo1->Lines->Clear();
- FillMyIni();
- GetBaseDir();
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::QuickSearch(void)
- {
- AnsiString asFileName = FileSearch("mysql.exe", "c:/mysql/bin");
- if (!asFileName.IsEmpty())
- BaseDir->Text = "c:/mysql";
- }
- //---------------------------------------------------------------------------
- AnsiString __fastcall TForm1::TheWinDir()
- {
- AnsiString WinDir;
- UINT BufferSize = GetWindowsDirectory(NULL,0);
- WinDir.SetLength(BufferSize+1);
- GetWindowsDirectory(WinDir.c_str(),BufferSize);
- char* dirw = WinDir.c_str();
- return dirw ;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::FillMyIni(void)
- {
- Memo1->Lines->LoadFromFile(TheWinDir() + "\my.ini");
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::GetBaseDir(void)
- {
- char drive[_MAX_DRIVE];
- char dir[_MAX_DIR];
- char file[_MAX_FNAME];
- char ext[_MAX_EXT];
- TIniFile *pIniFile = new
- TIniFile(TheWinDir() + "\my.ini");
- BaseDir->Text = pIniFile->ReadString("mysqld","basedir","") ;
- AnsiString lx = pIniFile->ReadString("WinMySQLadmin","Server","") ;
- _splitpath((lx).c_str(),drive,dir,file,ext);
- AnsiString lw = (AnsiString) file + ext;
- if ( lw == "mysqld-shareware.exe") {ShareVer->Checked = true;}
- if ( lw == "mysqld.exe") {MysqldVer->Checked = true;}
- if ( lw == "mysqld-opt.exe") {OptVer->Checked = true;}
- if ( lw == "mysqld-nt.exe") {NtVer->Checked = true;}
- delete pIniFile;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Showme1Click(TObject *Sender)
- {
- if(Showme1->Caption == "Show me") { TrayMessage(NIM_DELETE);
- Showme1->Caption = "Hide me"; Show(); }
- else { TrayMessage(NIM_ADD); TrayMessage(NIM_MODIFY);
- Showme1->Caption = "Show me"; Hide(); }
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::MySQLSignal()
- {
- HANDLE hEventShutdown;
- hEventShutdown=OpenEvent(EVENT_MODIFY_STATE, 0, "MySqlShutdown");
- if(hEventShutdown)
- {
- CloseHandle(hEventShutdown);
- return true;
- }
- else
- {
- CloseHandle(hEventShutdown);
- return false;
- }
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::mysqldstart()
- {
- memset(&pi, 0, sizeof(pi));
- memset(&si, 0, sizeof(si));
- si.cb = sizeof(si);
- si.dwFlags |= STARTF_USESHOWWINDOW;
- si.wShowWindow |= SW_SHOWNORMAL;
- TIniFile *pIniFile = new
- TIniFile(TheWinDir() + "\my.ini");
- if (NT)
- vpath = pIniFile->ReadString("WinMySQLadmin","Server","") + " --standalone" ;
- else
- vpath = pIniFile->ReadString("WinMySQLadmin","Server","") + "" ;
- if ( ! CreateProcess(0,vpath.c_str(), 0, 0, 0, 0, 0, 0, &si,&pi))
- {
- TrayMessage(NIM_MODIFY);
- return false;
- }
- else
- {
- TrayMessage(NIM_MODIFY);
- return true;
- }
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::SeekErrFile()
- {
- Memo4->Enabled = true;
- Memo4->Lines->Clear();
- AnsiString asFileName = FileSearch("mysql.err", BaseDir->Text + "/data");
- if (!asFileName.IsEmpty())
- {
- FName = BaseDir->Text + "/data/mysql.err";
- ifstream in((FName).c_str());
- in.seekg(0, ios::end);
- string s, line;
- deque<string> v;
- deque<string> lines;
- streampos sp = in.tellg();
- if (sp <= 1000)
- in.seekg(0, ios::beg);
- else
- {
- in.seekg(0, ios::beg);
- in.seekg((sp - 1000));
- }
- do {
- lines.push_back(line);
- }while (getline(in, line));
- if( lines.size() <= 15)
- {
- deque<string>::reverse_iterator r;
- for(r = lines.rbegin(); r != lines.rend() ; r++)
- {
- if (ereport)
- Memo5->Lines->Add((*r).c_str());
- Memo4->Lines->Add((*r).c_str());
- }
- }
- else
- {
- int k = 0;
- deque<string>::reverse_iterator r;
- for(r = lines.rbegin(); r != lines.rend(); r++)
- {
- if (ereport)
- Memo5->Lines->Add((*r).c_str());
- Memo4->Lines->Add((*r).c_str());
- if (++k >= 15) { break;}
- }
- }
- in.close();
- return true;
- }
- else
- return false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Timer1Timer(TObject *Sender)
- {
- Showme1->Caption = "Show me";
- TrayMessage(NIM_ADD);
- TrayMessage(NIM_MODIFY);
- Hide();
- if (IsForce) {Form2->Show();}
- Timer1->Enabled = false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::GetServerFile()
- {
- AnsiString FileName;
- if(!NT) {
- FileName = FileSearch("mysqld-opt.exe", ExtractFilePath(Application->ExeName));
- if (FileName.IsEmpty()) FileName = FileSearch("mysqld.exe", ExtractFilePath(Application->ExeName));
- if (FileName.IsEmpty()) FileName = FileSearch("mysqld-shareware.exe", ExtractFilePath(Application->ExeName));
- if (!FileName.IsEmpty()){
- if ( FileName == "mysqld-opt.exe") {OptVer->Checked = true;}
- if ( FileName == "mysqld.exe") {MysqldVer->Checked= true;}
- if ( FileName == "mysqld-shareware.exe") {ShareVer->Checked= true;} }
- }
- else {
- FileName = FileSearch("mysqld-nt.exe", ExtractFilePath(Application->ExeName));
- if (FileName.IsEmpty()) FileName = FileSearch("mysqld.exe", ExtractFilePath(Application->ExeName));
- if (FileName.IsEmpty()) FileName = FileSearch("mysqld-shareware.exe", ExtractFilePath(Application->ExeName));
- if (!FileName.IsEmpty()) {
- if ( FileName == "mysqld-nt.exe") {NtVer->Checked = true;}
- if ( FileName == "mysqld.exe") {MysqldVer->Checked= true;}
- if ( FileName == "mysqld-shareware.exe") {ShareVer->Checked= true;} }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::CreateMyIniFile(void)
- {
- char szFileName[6];
- int iFileHandle;
- AnsiString jk;
- Memo1->Enabled = true;
- Memo1->Lines->Clear();
- strcpy(szFileName,"\my.ini");
- iFileHandle = FileCreate(TheWinDir() + szFileName );
- jk = "#This File was made using the WinMySQLadmin 1.0 Tooln" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#" + Now() + "nn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#Uncomment or Add only the keys that you know how works.n" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#Read the MySQL Manual for instructionsnn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "[mysqld]nn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "basedir=" + TheDir() + "n";
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#bind-address=" + vip + "n" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#datadir=" + TheDir() + "/datan" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#language=" + TheDir() + "/share/your language directoryn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#delay-key-write-for-all-tablesn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#log-long-formatn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#slow query log=#n" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#tmpdir=#n" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#ansin" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#newn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#port=3306n" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#safen" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#skip-name-resolven" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#skip-networkingn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#skip-newn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#skip-host-cachen" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#set-variable = key_buffer=16Mn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#set-variable = max_allowed_packet=1Mn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#set-variable = thread_stack=128Kn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#set-variable = flush_time=1800nn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "[mysqldump]nn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#quickn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#set-variable = max_allowed_packet=16Mnn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "[mysql]nn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#no-auto-rehashnn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "[isamchk]nn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "#set-variable= key=16Mnn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "[WinMySQLadmin]nn" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- if (ShareVer->Checked) { jk = "Server=" + TheDir() + "/bin/mysqld-shareware.exenn";}
- if (MysqldVer->Checked) {jk = "Server=" + TheDir() + "/bin/mysqld.exenn";}
- if (OptVer->Checked) {jk = "Server=" + TheDir() + "/bin/mysqld-opt.exenn";}
- if (NtVer->Checked) {jk = "Server=" + TheDir() + "/bin/mysqld-nt.exenn";}
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "user=" + Form2->Edit1->Text + "n" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- jk = "password=" + Form2->Edit2->Text + "n" ;
- FileWrite(iFileHandle, (jk).c_str(), (jk).Length());
- FileClose(iFileHandle);
- FillMyIni();
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::CreatingShortCut()
- {
- // Where is The Start Menu in this Machine ?
- LPITEMIDLIST pidl;
- LPMALLOC pShellMalloc;
- char szDir[MAX_PATH + 16];
- AnsiString file;
- AnsiString jk = "\WinMySQLadmin.lnk" ;
- if(SUCCEEDED(SHGetMalloc(&pShellMalloc)))
- {
- if(SUCCEEDED(SHGetSpecialFolderLocation(NULL,
- CSIDL_STARTUP, &pidl)))
- {
- if(!SHGetPathFromIDList(pidl, szDir))
- {
- pShellMalloc->Release();
- pShellMalloc->Free(pidl);
- return false;
- }
- pShellMalloc->Free(pidl);
- }
- pShellMalloc->Release();
- StrCat(szDir, jk.c_str());
- }
- // the create
- IShellLink* pLink;
- IPersistFile* pPersistFile;
- if(SUCCEEDED(CoInitialize(NULL)))
- {
- if(SUCCEEDED(CoCreateInstance(CLSID_ShellLink, NULL,
- CLSCTX_INPROC_SERVER,
- IID_IShellLink, (void **) &pLink)))
- {
- pLink->SetPath((ExtractFilePath(Application->ExeName) + "WinMySQLadmin.exe").c_str());
- pLink->SetDescription("WinMySQLadmin Tool");
- pLink->SetShowCmd(SW_SHOW);
- if(SUCCEEDED(pLink->QueryInterface(IID_IPersistFile,
- (void **)&pPersistFile)))
- {
- WideString strShortCutLocation(szDir);
- pPersistFile->Save(strShortCutLocation.c_bstr(), TRUE);
- pPersistFile->Release();
- }
- pLink->Release();
- }
- CoUninitialize();
- }
- return true;
- }
- //---------------------------------------------------------------------------
- AnsiString __fastcall TForm1::TheDir()
- {
- AnsiString buffer;
- char s[_MAX_PATH + 1];
- StrCopy(s, ( BaseDir->Text).c_str()) ;
- for (int i = 0; s[i] != NULL; i++)
- if (s[i] != '\')
- buffer += s[i];
- else
- buffer += "/";
- return buffer;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
- {
- Application->HelpCommand(HELP_FINDER,0);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Timer2Timer(TObject *Sender)
- {
- ToggleState();
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::TheServiceStart()
- {
- bool thatok;
- char *SERVICE_NAME = "MySql";
- SC_HANDLE myService, scm;
- scm = OpenSCManager(0, 0, SC_MANAGER_ALL_ACCESS | GENERIC_WRITE);
- if (scm)
- {
- myService = OpenService(scm, SERVICE_NAME, SERVICE_ALL_ACCESS);
- if (myService)
- thatok = true;
- else
- thatok = false;
- }
- CloseServiceHandle(myService);
- CloseServiceHandle(scm);
- return thatok;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::TheServicePause()
- {
- bool thatok;
- char *SERVICE_NAME = "MySql";
- SC_HANDLE myService, scm;
- scm = OpenSCManager(0, 0, SC_MANAGER_ALL_ACCESS);
- if (scm)
- {
- myService = OpenService(scm, SERVICE_NAME, SERVICE_ALL_ACCESS);
- if (myService)
- {
- // stop the service
- if (IsConnect)
- {
- mysql_kill(MySQL,mysql_thread_id(MySQL));
- StatusLine->SimpleText = "";
- q = 0;
- }
- SERVICE_STATUS ss;
- thatok = ControlService(myService,
- SERVICE_CONTROL_STOP,
- &ss);
- }
- else
- thatok = false;
- }
- else
- thatok = false;
- CloseServiceHandle(myService);
- CloseServiceHandle(scm);
- return thatok;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::TheServiceResume()
- {
- bool thatok;
- char *SERVICE_NAME = "MySql";
- SC_HANDLE myService, scm;
- scm = OpenSCManager(0, 0, SC_MANAGER_ALL_ACCESS);
- if (scm)
- {
- myService = OpenService(scm, SERVICE_NAME, SERVICE_ALL_ACCESS);
- if (myService)
- {
- // start the service
- thatok = StartService(myService, 0, NULL);
- }
- else
- thatok = false;
- }
- else
- thatok = false;
- CloseServiceHandle(myService);
- CloseServiceHandle(scm);
- return thatok;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::TheServiceStatus()
- {
- bool thatok;
- bool k;
- char *SERVICE_NAME = "MySql";
- SC_HANDLE myService, scm;
- SERVICE_STATUS ss;
- DWORD dwState = 0xFFFFFFFF;
- scm = OpenSCManager(0, 0, SC_MANAGER_ALL_ACCESS);
- if (scm)
- {
- myService = OpenService(scm, SERVICE_NAME, SERVICE_ALL_ACCESS);
- if (myService)
- {
- memset(&ss, 0, sizeof(ss));
- k = QueryServiceStatus(myService,&ss);
- if (k)
- {
- dwState = ss.dwCurrentState;
- if (dwState == SERVICE_RUNNING)
- thatok = true;
- }
- else
- thatok = false;
- }
- else
- thatok = false;
- }
- else
- thatok = false;
- CloseServiceHandle(myService);
- CloseServiceHandle(scm);
- return thatok;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::TheServiceCreate()
- {
- bool thatok;
- char *SERVICE_NAME = "MySql";
- char *szFullPath = vpath.c_str();
- SC_HANDLE myService, scm;
- scm = OpenSCManager(0, 0, SC_MANAGER_ALL_ACCESS);
- if (scm)
- { myService = CreateService(
- scm,
- SERVICE_NAME,
- SERVICE_NAME,
- SERVICE_ALL_ACCESS,
- SERVICE_WIN32_OWN_PROCESS,
- SERVICE_AUTO_START ,
- SERVICE_ERROR_NORMAL,
- szFullPath,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL);
- if (myService)
- thatok = true;
- else
- thatok = false;
- }
- CloseServiceHandle(myService);
- CloseServiceHandle(scm);
- return thatok;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Swin9Click(TObject *Sender)
- {
- if(Application->MessageBox("Shutdown this tool", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION ) == IDYES)
- Close();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::SSW9Click(TObject *Sender)
- {
- if (MySQLSignal())
- {
- if(Application->MessageBox("Shutdown the MySQL Server ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION ) == IDYES)
- {
- if (Shutd())
- {
- IsConnect = false;
- IsVariables = false;
- IsProcess = false;
- IsDatabases = false;
- ya = false;
- ClearBox();
- Sleep(500);
- TrayMessage(NIM_MODIFY);
- }
- else
- Application->MessageBox("Fails to Shutdown the Server", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- }
- }
- else
- {
- if(Application->MessageBox("Start the MySQL Server ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION ) == IDYES)
- {
- if (mysqldstart())
- {
- TrayMessage(NIM_MODIFY);
- ya = true;
- }
- else
- Application->MessageBox("Fails to Start the Server", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::ShutDownBoth1Click(TObject *Sender)
- {
- if (MySQLSignal())
- {
- if(Application->MessageBox("Shutdown the MySQL Server and this tool ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION ) == IDYES)
- {
- if (Shutd())
- Close();
- else
- {
- Application->MessageBox("Fails to Shutdown the Server", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- }
- }
- }
- else
- if(Application->MessageBox("Shutdown this tool ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION ) == IDYES)
- Close();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::ShutDownthisTool1Click(TObject *Sender)
- {
- if(Application->MessageBox("Shutdown this tool ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION ) == IDYES)
- Close();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::StopSClick(TObject *Sender)
- {
- AnsiString theWarning;
- theWarning = "Are you sure to stop the Service ?nnAll the connections will be loss !" ;
- if (TheServiceStatus())
- {
- if(Application->MessageBox(theWarning.c_str(), "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION ) == IDYES)
- {
- if (TheServicePause())
- {
- TrayMessage(NIM_MODIFY);
- IsConnect = false;
- IsVariables = false;
- IsProcess = false;
- IsDatabases = false;
- ya = false;
- ClearBox();
- }
- else
- Application->MessageBox("Fails to stop the Service", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- }
- }
- else
- {
- if(Application->MessageBox("Start the Service Manager for the MySQL Server ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION ) == IDYES)
- {
- if (TheServiceResume())
- {
- ya = true;
- TrayMessage(NIM_MODIFY);
- }
- else
- Application->MessageBox("Fails to start the Service", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::RServiceClick(TObject *Sender)
- {
- if (TheServiceStart())
- {
- if(Application->MessageBox("Remove the MySQL Server service ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION ) == IDYES)
- {
- if (!TheServiceRemove())
- Application->MessageBox("Fails to Remove The MySQL Server Service", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- }
- }
- else
- {
- if(Application->MessageBox("Install the MySQL Server service ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION ) == IDYES)
- {
- if (!TheServerPath())
- Application->MessageBox("Please create first the my.ini setup", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- else
- {
- if (!TheServiceCreate())
- Application->MessageBox("Fails to Install The MySQL Server Service", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- }
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::StandaClick(TObject *Sender)
- {
- if (MySQLSignal())
- {
- if(Application->MessageBox("Shutdown the MySQL Server ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION ) == IDYES)
- {
- if (Shutd())
- {
- IsConnect = false;
- IsVariables = false;
- IsProcess = false;
- IsDatabases = false;
- ya = false;
- ClearBox();
- Sleep(500);
- TrayMessage(NIM_MODIFY);
- }
- else
- Application->MessageBox("Fails to Shutdown the Server", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- }
- }
- else
- {
- if(Application->MessageBox("Start the MySQL Server ", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION ) == IDYES)
- {
- if (mysqldstart())
- {
- StatusLine->SimpleText = "";
- TrayMessage(NIM_MODIFY);
- }
- else
- Application->MessageBox("Fails to Start the Server", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- }
- }
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::Shutd()
- {
- // from Irena
- HANDLE hEventShutdown;
- hEventShutdown=OpenEvent(EVENT_MODIFY_STATE, 0, "MySqlShutdown");
- if (IsConnect)
- {
- mysql_kill(MySQL,mysql_thread_id(MySQL));
- mysql_shutdown(MySQL, SHUTDOWN_DEFAULT);
StatusLine->SimpleText = "";
- }
- q = 0;
- if(hEventShutdown)
- {
- SetEvent(hEventShutdown);
- CloseHandle(hEventShutdown);
- TrayMessage(NIM_MODIFY);
- IsConnect = false;
- return true;
- }
- else
- {
- TrayMessage(NIM_MODIFY);
- return false;
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::ClearBox(void)
- {
-
- st22->Text = "";
- st23->Text = "";
- st24->Text = "";
- st25->Text = "";
- st26->Text = "";
- st27->Text = "";
- st28->Text = "";
- st29->Text = "";
- Edit3->Text = "";
- Edit4->Text = "";
- Edit5->Text = "";
- Edit6->Text = "";
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::TheServiceRemove()
- {
- bool thatok;
- char *SERVICE_NAME = "MySql";
- SC_HANDLE myService, scm;
- scm = OpenSCManager(0, 0, SC_MANAGER_ALL_ACCESS);
- if (scm)
- {
- myService = OpenService(scm, SERVICE_NAME, SERVICE_ALL_ACCESS);
- if (myService)
- {
- if(DeleteService(myService))
- {
- CloseServiceHandle(myService);
- CloseServiceHandle(scm);
- thatok = true;
- }
- else
- {
- CloseServiceHandle(myService);
- CloseServiceHandle(scm);
- thatok = false;
- }
- }
- else
- {
- CloseServiceHandle(myService);
- CloseServiceHandle(scm);
- thatok = false;
- }
- }
- else
- {
- thatok = false;
- CloseServiceHandle(scm);
- }
- return thatok;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::TheServerPath()
- {
- TIniFile *pIniFile = new
- TIniFile(TheWinDir() + "\my.ini");
- vpath = pIniFile->ReadString("WinMySQLadmin","Server","") ;
- delete pIniFile;
- if (vpath.IsEmpty())
- return false;
- else
- return true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button5Click(TObject *Sender)
- {
- if (!SeekErrFile())
- Application->MessageBox("Fails to find mysql.err", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::IsMySQLInit(void)
- {
- AnsiString theCommand;
- char *host = NULL,*password=0,*user=0 ;
- TIniFile *pIniFile = new
- TIniFile(TheWinDir() + "\my.ini");
- AnsiString MyUser = pIniFile->ReadString("WinMySQLadmin","user","") ;
- AnsiString MyPass = pIniFile->ReadString("WinMySQLadmin","password","") ;
- delete pIniFile;
- if (!MyUser.IsEmpty() && MyUser.Length() && !MyPass.IsEmpty() && MyPass.Length())
- {
- if (!IsConnect)
- {
- MySQL = mysql_init(MySQL);
- if (mysql_real_connect(MySQL, "localhost",(MyUser).c_str(), (MyPass).c_str() , 0, 0, NULL, 0))
- IsConnect = true;
- else
- {
- if(mysql_real_connect(MySQL,host,user,password , 0, 0, NULL, 0))
- {
- IsConnect = true;
- theCommand = "GRANT ALL PRIVILEGES ON *.* TO ";
- theCommand += "'" + MyUser + "' @localhost IDENTIFIED BY ";
- theCommand += "'" + MyPass + "' with GRANT OPTION";
- char* los = theCommand.c_str();
- if(!mysql_query(MySQL, los ))
- StatusLine->SimpleText = " ";
- }
- }
- }
- }
- else
- {
- if (!IsConnect)
- {
- MySQL = mysql_init(MySQL);
- if(mysql_real_connect(MySQL,host,user,password , 0, 0, NULL, 0))
- IsConnect = true;
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Timer3Timer(TObject *Sender)
- {
- if ((NT) && TheServiceStatus()) {IsMySQLInit(); }
- if ((NT) && !TheServiceStatus() && MySQLSignal()) {IsMySQLInit(); }
- if (!(NT) && MySQLSignal()) {IsMySQLInit(); }
- if (IsConnect)
- {
- GetServerStatus();
- if (!IsMySQLNode)
- GetMainRoot();
- Extended->Enabled = true;
- if (!IsProcess && !GetProcess())
- StatusLine->SimpleText = "";
- if (!IsVariables && !GetVariables())
- StatusLine->SimpleText = "";
- Timer3->Interval = 10000;
- }
- else
- Extended->Enabled = false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::GetServerStatus(void)
- {
- GetExtendedStatus();
- Edit3->Text = mysql_get_server_info(MySQL);
- Edit4->Text = mysql_get_host_info(MySQL);
- Edit5->Text = mysql_get_client_info();
- Edit6->Text = mysql_get_proto_info(MySQL);
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::GetProcess()
- {
- MYSQL_RES *res;
- MYSQL_ROW row;
- unsigned int i;
- int k = 0;
- int therow = 1;
- new_line=1;
- StringGrid2->RowCount= 2;
- if (!(res=mysql_list_processes(MySQL)))
- {
- return false;
- }
- while ((row=mysql_fetch_row(res)) != 0)
- {
- mysql_field_seek(res,0);
- StringGrid2->Cells[0][0] = "PID";
- StringGrid2->Cells[1][0] = "User";
- StringGrid2->Cells[2][0] = "Host";
- StringGrid2->Cells[3][0] = "DB";
- StringGrid2->Cells[4][0] = "Command";
- StringGrid2->Cells[5][0] = "Time";
- StringGrid2->Cells[6][0] = "State";
- StringGrid2->Cells[7][0] = "Info";
- for (i=0 ; i < mysql_num_fields(res); i++)
- {
- if (k <= 6 )
- {
- StringGrid2->Cells[k][therow] = row[i];
- k++;
- }
- else
- {
- StringGrid2->Cells[(k)][therow] = row[i];
- k = 0;
- therow++ ;
- StringGrid2->RowCount++;
- }
- }
- }
- StringGrid2->RowCount--;
- mysql_free_result(res);
- StringGrid5->RowCount--;
- IsProcess = true;
- return true;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::GetVariables()
- {
- MYSQL_RES *res;
- MYSQL_ROW row;
- unsigned int i;
- int k = 1;
- new_line=1;
- bool left = true;
- AnsiString report;
- StringGrid1->RowCount = 2;
- if (mysql_query(MySQL,"show variables") ||
- !(res=mysql_store_result(MySQL)))
- {
- return false;
- }
- while ((row=mysql_fetch_row(res)) != 0)
- {
- mysql_field_seek(res,0);
- StringGrid1->Cells[0][0] = "Variable Name";
- StringGrid1->Cells[1][0] = "Value";
- for (i=0 ; i < mysql_num_fields(res); i++)
- {
- if (left)
- {
- if (treport)
- report = GetString(row[i]);
- StringGrid1->Cells[0][k++] = row[i];
- left = false;
- }
- else
- {
- if (treport)
- Memo5->Lines->Add(report + row[i]);
- StringGrid1->RowCount++;
- StringGrid1->Cells[1][--k] = row[i];
- k++;
- left = true;
- }
- }
- }
- StringGrid1->RowCount--;
- mysql_free_result(res);
- IsVariables = true;
- return true;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::nice_time(AnsiString buff)
- {
- unsigned long sec;
- unsigned long tmp;
- AnsiString mytime;
- sec = StrToInt(buff);
- if (sec >= 3600L*24)
- {
- tmp=sec/(3600L*24);
- sec-=3600L*24*tmp;
- mytime = IntToStr(tmp);
- if (tmp > 1)
- mytime+= " days ";
- else
- mytime+= " day ";
- }
- if (sec >= 3600L)
- {
- tmp=sec/3600L;
- sec-=3600L*tmp;
- mytime += IntToStr(tmp);
- if (tmp > 1)
- mytime+= " hours ";
- else
- mytime+= " hour ";
- }
- if (sec >= 60)
- {
- tmp=sec/60;
- sec-=60*tmp;
- mytime += IntToStr(tmp);
- mytime+= " min ";
- }
- mytime += IntToStr(sec);
- mytime+= " sec ";
- st29->Text = mytime ;
- return true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button11Click(TObject *Sender)
- {
- if (IsConnect)
- {
- if (GetVariables())
- StatusLine->SimpleText = "";
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button10Click(TObject *Sender)
- {
- if (IsConnect)
- {
- if (GetProcess())
- StatusLine->SimpleText = "";
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button6Click(TObject *Sender)
- {
- if (IsConnect)
- {
- if (mysql_refresh(MySQL,REFRESH_HOSTS))
- StatusLine->SimpleText = "";
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button7Click(TObject *Sender)
- {
- if (IsConnect)
- {
- if (mysql_refresh(MySQL,REFRESH_LOG))
- StatusLine->SimpleText = "";
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button8Click(TObject *Sender)
- {
- if (IsConnect)
- {
- if (mysql_refresh(MySQL,REFRESH_TABLES))
- StatusLine->SimpleText = "";
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button2Click(TObject *Sender)
- {
- Memo1->Enabled = true;
- Memo1->Lines->Clear();
- AnsiString asFileName = FileSearch("my.ini", TheWinDir());
- if (asFileName.IsEmpty())
- Application->MessageBox("Don't found my.ini file on the Win Directory", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
- else
- FillMyIni();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button3Click(TObject *Sender)
- {
- TIniFile *pIniFile = new
- TIniFile(TheWinDir() + "\my.ini");
- if (!Memo1->GetTextLen())
- Application->MessageBox("The Memo Box is Empty", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
- else
- {
- if(Application->MessageBox("Are you sure to write the modifications into My.ini file.", "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION ) == IDYES)
- {
- Memo1->Lines->SaveToFile(TheWinDir() + "\my.ini");
- Memo1->Lines->Clear();
- Memo1->Enabled = true;
- Memo1->Lines->Clear();
- if (NtVer->Checked)
- pIniFile->WriteString("WinMySQLadmin","Server",TheDir() + "/bin/mysqld-nt.exe");
- if (MysqldVer->Checked == true)
- pIniFile->WriteString("WinMySQLadmin","Server", TheDir() + "/bin/mysqld.exe");
- if (ShareVer->Checked)
- pIniFile->WriteString("WinMySQLadmin","Server",TheDir() + "/bin/mysqld-shareware.exe");
- if (OptVer->Checked)
- pIniFile->WriteString("WinMySQLadmin","Server", TheDir() + "/bin/mysqld-opt.exe");
- FillMyIni();
- Application->MessageBox("My.ini was modificated", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
- }
- }
- delete pIniFile;
- Memo1->Lines->Clear();
- FillMyIni();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button1Click(TObject *Sender)
- {
- if(CreatingShortCut())
- Application->MessageBox("The ShortCut on Start Menu was created", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
- else
- Application->MessageBox("Fails the Operation of Create the ShortCut", "WinMySQLadmin 1.0", MB_OK |MB_ICONINFORMATION);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
- {
- BROWSEINFO info;
- char szDir[MAX_PATH];
- char szDisplayName[MAX_PATH];
- LPITEMIDLIST pidl;
- LPMALLOC pShellMalloc;
- if(SHGetMalloc(&pShellMalloc) == NO_ERROR)
- {
- memset(&info, 0x00,sizeof(info));
- info.hwndOwner = Handle;
- info.pidlRoot = 0;
- info.pszDisplayName = szDisplayName;
- info.lpszTitle = "Search MySQL Base Directory";
- info.ulFlags = BIF_RETURNONLYFSDIRS;
- info.lpfn = 0;
- pidl = SHBrowseForFolder(&info);
- if(pidl)
- {
- if(SHGetPathFromIDList(pidl, szDir)) {BaseDir->Text = szDir; }
- pShellMalloc->Free(pidl);
- }
- pShellMalloc->Release();
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button4Click(TObject *Sender)
- {
- if (IsConnect)
- {
- Memo3->Lines->Add(mysql_stat(MySQL));
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::SpeedButton3Click(TObject *Sender)
- {
- if(Showme1->Caption == "Show me") { TrayMessage(NIM_DELETE);
- Showme1->Caption = "Hide me"; Show(); }
- else { TrayMessage(NIM_ADD); TrayMessage(NIM_MODIFY);
- Showme1->Caption = "Show me"; Hide(); }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::ExtendedClick(TObject *Sender)
- {
- if (ya)
- {
- Extended->Caption = "Start Extended Server Status";
- ya = false;
- ClearBox();
- }
- else
- {
- Extended->Caption = "Stop Extended Server Status";
- ya = true;
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::GetServerOptions(void)
- {
- AnsiString FileName;
- FileName = FileSearch("mysqld-opt.exe", ExtractFilePath(Application->ExeName));
- if (FileName.IsEmpty()) {OptVer->Enabled = false; }
- FileName = FileSearch("mysqld-shareware.exe", ExtractFilePath(Application->ExeName));
- if (FileName.IsEmpty()) {ShareVer->Enabled = false; }
- FileName = FileSearch("mysqld.exe", ExtractFilePath(Application->ExeName));
- if (FileName.IsEmpty()) {MysqldVer->Enabled = false; }
- FileName = FileSearch("mysqld-nt.exe", ExtractFilePath(Application->ExeName));
- if (FileName.IsEmpty()) {NtVer->Enabled = false; }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::GetReportServer(void)
- {
- AnsiString strspace;
- Memo5->Lines->Clear();
- Memo5->Lines->Add("This Report was made using the WinMySQLadmin 1.0 Tool");
- Memo5->Lines->Add("");
- Memo5->Lines->Add(Now());
- Memo5->Lines->Add("");
- preport = true;
- Memo5->Lines->Add("");
- Memo5->Lines->Add("Server Status Values");
- Memo5->Lines->Add("");
- Memo5->Lines->Add(GetString("Server Info") + mysql_get_server_info(MySQL));
- Memo5->Lines->Add(GetString("Host Info") + mysql_get_host_info(MySQL));
- Memo5->Lines->Add(GetString("Client Info") + mysql_get_client_info());
- Memo5->Lines->Add(GetString("Proto Info") + mysql_get_proto_info(MySQL));
- GetExtendedStatus();
- preport = false;
- treport = true;
- Memo5->Lines->Add("");
- Memo5->Lines->Add("Variables Values");
- Memo5->Lines->Add("");
- GetVariables();
- treport = false;
- ereport = true;
- Memo5->Lines->Add("");
- Memo5->Lines->Add("Last Lines from Err File");
- Memo5->Lines->Add("");
- SeekErrFile();
- ereport = false;
- }
- void __fastcall TForm1::SpeedButton4Click(TObject *Sender)
- {
- if(IsConnect)
- GetReportServer();
- else
- Application->MessageBox("The Server must be connected", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::SpeedButton5Click(TObject *Sender)
- {
- AnsiString PathName;
- SaveFileDialog->FileName = PathName;
- if (SaveFileDialog->Execute() ){
- PathName= SaveFileDialog->FileName;
- Caption = ExtractFileName(PathName);
- Memo5->Lines->SaveToFile(PathName);
- Memo5->Modified = false;
- }
- }
- //---------------------------------------------------------------------------
- String __fastcall TForm1::GetString(String k)
- {
- int i = 35 - k.Length();
- for (int y = 1 ; y <= i ;y++ )
- k+= " ";
- return k ;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::SpeedButton6Click(TObject *Sender)
- {
- PrinterSetupDialog1->Execute();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::SpeedButton7Click(TObject *Sender)
- {
- AnsiString PathName;
- if (PrintDialog1->Execute()){
- try {
- Memo5->Print(PathName);
- }
- catch(...){
- Printer()->EndDoc();
- throw;
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::SpeedButton8Click(TObject *Sender)
- {
- Memo5->CutToClipboard();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::SpeedButton9Click(TObject *Sender)
- {
- Memo5->CopyToClipboard();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::SpeedButton10Click(TObject *Sender)
- {
- Memo5->PasteFromClipboard();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::SpeedButton11Click(TObject *Sender)
- {
- Memo5->ClearSelection();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::SpeedButton12Click(TObject *Sender)
- {
- Memo5->SelectAll();
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::GetMainRoot()
- {
- MYSQL_RES *res;
- MYSQL_ROW row;
- unsigned int i;
- AnsiString command;
- CleanGrid();
- CleanGridI();
- TakeIP();
- MySQLNode = DBView->Items->Add(NULL, mainroot.UpperCase());
- MySQLNode->ImageIndex = 0;
- if (!(res=mysql_list_dbs(MySQL,"%"))) { return false; }
- while ((row=mysql_fetch_row(res)) != 0) {
- mysql_field_seek(res,0);
- for (i=0 ; i < mysql_num_fields(res); i++)
- {
- MySQLDbs = DBView->Items->AddChild(MySQLNode, row[i]);
- MySQLDbs->ImageIndex = 1;
- MySQLDbs->SelectedIndex = 1;
- }
- }
- mysql_free_result(res);
- MySQLNode->Expanded = true;
- IsMySQLNode = true;
- return true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::DeleteDatabaseSClick(TObject *Sender)
- {
- AnsiString alert;
- if (IsConnect)
- {
- if(DBView->Selected == MySQLNode )
- Application->MessageBox("Invalid database row selected.", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- else if ( DBView->Selected == NULL )
- Application->MessageBox("Invalid database row selected.", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- else
- {
- if (DBView->Selected->Text.UpperCase() == "MYSQL")
- Application->MessageBox("You cann't use this tool to drop the MySQL Database.", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- else {
- alert = "Are you sure to drop the < ";
- alert+= DBView->Selected->Text.c_str();
- alert+= " > database.";
- if(Application->MessageBox(alert.c_str(), "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION ) == IDYES)
- {
- char* lese = DBView->Selected->Text.c_str();
- if (!mysql_drop_db(MySQL, lese ))
- {
- DBView->Items->Clear();
- GetMainRoot();
- }
- else
- Application->MessageBox("Fails to drop the Database.", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- }
- }
- }
- }
- else
- Application->MessageBox("The Server must be connected", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::IsDatabase(String Name)
- {
- MYSQL_RES *res;
- MYSQL_ROW row;
- unsigned int i;
- AnsiString command;
- CleanTree();
- command = "use ";
- command+= Name.c_str();
- char* das = command.c_str();
- char* lis = Name.c_str();
- if (mysql_query(MySQL, das ) ||
- !(res=mysql_list_tables(MySQL,"%")))
- return false;
- MySQLNodeT = TableView->Items->Add(NULL, lis);
- MySQLNodeT->ImageIndex = 1;
- MySQLNodeT->SelectedIndex = 1;
- while ((row=mysql_fetch_row(res)) != 0) {
- mysql_field_seek(res,0);
- for (i=0 ; i < mysql_num_fields(res); i++)
- {
- MySQLTbs = TableView->Items->AddChild(MySQLNodeT, row[i]);
- MySQLTbs->ImageIndex = 2;
- MySQLTbs->SelectedIndex = 2;
- }
- MySQLNodeT->Expanded = true;
- }
- mysql_free_result(res);
- return true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::DBViewClick(TObject *Sender)
- {
- if (IsConnect)
- {
- if (DBView->Selected != MySQLNode && DBView->Selected != NULL )
- {
- IsDatabase(DBView->Selected->Text);
- }
- else
- {
- CleanTree();
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::TableViewClick(TObject *Sender)
- {
- if (IsConnect)
- {
- if (DBView->Selected != MySQLNodeT )
- {
- IsTable(TableView->Selected->Text);
- IsIndex(TableView->Selected->Text);
- }
- else
- {
- CleanGrid();
- CleanGridI();
- }
- }
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::IsTable(String Name)
- {
- MYSQL_RES *res;
- MYSQL_ROW row;
- unsigned int i;
- int k = 0;
- int therow = 1;
- new_line=1;
- AnsiString command;
- AnsiString commandt;
- CleanGrid();
- CleanGridI();
- command = "use ";
- command+= DBView->Selected->Text.c_str();
- char* las = command.c_str();
- commandt = "desc ";
- commandt+= Name.c_str();
- char* les = commandt.c_str();
- if (mysql_query(MySQL, las ))
- return false;
- if (mysql_query(MySQL, les ) ||
- !(res=mysql_store_result(MySQL)))
- return false ;
- StringGrid4->Cells[0][0] = "Field";
- StringGrid4->Cells[1][0] = "Type";
- StringGrid4->Cells[2][0] = "Null";
- StringGrid4->Cells[3][0] = "Key";
- StringGrid4->Cells[4][0] = "Default";
- StringGrid4->Cells[5][0] = "Extra";
- StringGrid4->Cells[6][0] = "Previleges";
- int thecounter;
- String u = GetNumberServer();
- if ( u == "3.22")
- {
- StringGrid3->ColCount = 7;
- thecounter = 4;
- }
- else
- thecounter = 5;
- while ((row=mysql_fetch_row(res)) != 0)
- {
- mysql_field_seek(res,0);
- for (i=0 ; i < mysql_num_fields(res); i++)
- {
- if (k <= thecounter )
- {
- StringGrid4->Cells[k][therow] = row[i];
- k++;
- }
- else
- {
- StringGrid4->Cells[(k)][therow] = row[i];
- k = 0;
- therow++ ;
- StringGrid4->RowCount++;
- }
- }
- }
- StringGrid4->RowCount--;
- mysql_free_result(res);
- return true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::TableViewChange(TObject *Sender, TTreeNode *Node)
- {
- if (IsConnect)
- {
- if (DBView->Selected != MySQLNodeT )
- {
- IsTable(TableView->Selected->Text);
- IsIndex(TableView->Selected->Text);
- }
- else
- {
- CleanGrid();
- CleanGridI();
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::DBViewChange(TObject *Sender, TTreeNode *Node)
- {
- if (IsConnect)
- {
- if (DBView->Selected != MySQLNode )
- {
- IsDatabase(DBView->Selected->Text);
- }
- else
- {
- CleanTree();
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::RefreshSClick(TObject *Sender)
- {
- MYSQL_RES *res;
- MYSQL_ROW row;
- unsigned int i;
- AnsiString command;
- if (IsConnect)
- {
- IsMySQLNode = false;
- CleanTree();
- DBView->Items->Clear();
- TakeIP();
- MySQLNode = DBView->Items->Add(NULL, mainroot.UpperCase());
- MySQLNode->ImageIndex = 0;
- if (!(res=mysql_list_dbs(MySQL,"%"))) { /*do nothing;*/ }
- while ((row=mysql_fetch_row(res)) != 0) {
- mysql_field_seek(res,0);
- for (i=0 ; i < mysql_num_fields(res); i++)
- {
- MySQLDbs = DBView->Items->AddChild(MySQLNode, row[i]);
- MySQLDbs->ImageIndex = 1;
- MySQLDbs->SelectedIndex = 1;
- }
- }
- mysql_free_result(res);
- IsMySQLNode = true;
- MySQLNode->Expanded = true;
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::CreateDatabaseSClick(TObject *Sender)
- {
- if (IsConnect)
- {
- dbfrm->Show();
- }
- else
- ShowMessage("Precisa estar conectado");
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::CleanTree(void)
- {
- StringGrid4->RowCount= 2;
- StringGrid4->Cells[0][1] = "";
- StringGrid4->Cells[1][1] = "";
- StringGrid4->Cells[2][1] = "";
- StringGrid4->Cells[3][1] = "";
- StringGrid4->Cells[4][1] = "";
- StringGrid4->Cells[5][1] = "";
- TableView->Items->Clear();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::CleanGrid(void)
- {
- StringGrid4->RowCount= 2;
- StringGrid4->Cells[0][1] = "";
- StringGrid4->Cells[1][1] = "";
- StringGrid4->Cells[2][1] = "";
- StringGrid4->Cells[3][1] = "";
- StringGrid4->Cells[4][1] = "";
- StringGrid4->Cells[5][1] = "";
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::CreatingDB()
- {
- if (mysql_create_db(MySQL, dbfrm->Edit1->Text.c_str()))
- return true;
- else
- return false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::OutRefresh(void)
- {
- RefreshSClick(dbfrm->SpeedButton1);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::FlushHosts1Click(TObject *Sender)
- {
- if (IsConnect)
- {
- if (mysql_refresh(MySQL,REFRESH_HOSTS))
- StatusLine->SimpleText = "";
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::FlushLogs1Click(TObject *Sender)
- {
- if (IsConnect)
- {
- if (mysql_refresh(MySQL,REFRESH_LOG))
- StatusLine->SimpleText = "";
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::FlushTables1Click(TObject *Sender)
- {
- if (IsConnect)
- {
- if (mysql_refresh(MySQL,REFRESH_TABLES))
- StatusLine->SimpleText = "";
- }
- }
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::IsIndex(String Name)
- {
- MYSQL_RES *res;
- MYSQL_ROW row;
- unsigned int i;
- int k = 0;
- int therow = 1;
- new_line=1;
- AnsiString command;
- AnsiString commandt;
- i = 0;
- CleanGridI();
- command = "use ";
- command+= DBView->Selected->Text.c_str();
- char* las = command.c_str();
- commandt = "show index from ";
- commandt+= Name.c_str();
- char* les = commandt.c_str();
- if (mysql_query(MySQL, las ))
- return false;
- if (mysql_query(MySQL, les ) ||
- !(res=mysql_store_result(MySQL)))
- return false ;
- StringGrid3->RowCount= 2;
- StringGrid3->Cells[0][0] = "Table";
- StringGrid3->Cells[1][0] = "Non_unique";
- StringGrid3->Cells[2][0] = "Key_name";
- StringGrid3->Cells[3][0] = "Seq_in_index";
- StringGrid3->Cells[4][0] = "Col_name";
- StringGrid3->Cells[5][0] = "Collation";
- StringGrid3->Cells[6][0] = "Card.";
- StringGrid3->Cells[7][0] = "Sub_part";
- StringGrid3->Cells[8][0] = "Packed";
- StringGrid3->Cells[9][0] = "Comment";
- int thecounter;
- String u = GetNumberServer();
- if ( u == "3.22")
- {
- StringGrid3->ColCount = 8;
- thecounter = 6;
- }
- else
- thecounter = 8;
- while ((row=mysql_fetch_row(res)) != 0)
- {
- mysql_field_seek(res,0);
- for (i=0 ; i < mysql_num_fields(res); i++)
- {
- if (k <= thecounter )
- {
- StringGrid3->Cells[k][therow] = row[i];
- k++;
- }
- else
- {
- StringGrid3->Cells[(k)][therow] = row[i];
- k = 0;
- therow++ ;
- StringGrid3->RowCount++;
- }
- }
- }
- if (i)
- StringGrid3->RowCount--;
- mysql_free_result(res);
- return true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::CleanGridI(void)
- {
- StringGrid3->RowCount= 2;
- StringGrid3->Cells[0][1] = "";
- StringGrid3->Cells[1][1] = "";
- StringGrid3->Cells[2][1] = "";
- StringGrid3->Cells[3][1] = "";
- StringGrid3->Cells[4][1] = "";
- StringGrid3->Cells[5][1] = "";
- StringGrid3->Cells[6][1] = "";
- StringGrid3->Cells[7][1] = "";
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::CreatingTable(String TheTable)
- {
- if (!mysql_query(MySQL, TheTable.c_str()))
- return true;
- else
- return false;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::GetExtendedStatus()
- {
- if (!ya && !preport)
- return true;
- MYSQL_RES *res;
- MYSQL_ROW row;
- unsigned int i;
- int k = 1;
- new_line=1;
- bool left = true;
- bool open_tables = false;
- bool open_files = false;
- bool uptime = false;
- bool running_threads = false;
- bool open_streams = false;
- bool slow_queries = false;
- bool opened_tables = false;
- bool questions = false;
- AnsiString report;
- if (yy)
- StringGrid5->RowCount = 2;
- if (mysql_query(MySQL,"show status") ||
- !(res=mysql_store_result(MySQL)))
- {
- return false;
- }
- while ((row=mysql_fetch_row(res)) != 0)
- {
- mysql_field_seek(res,0);
- StringGrid5->Cells[0][0] = "Variable Name";
- StringGrid5->Cells[1][0] = "Value";
- for (i=0 ; i < mysql_num_fields(res); i++)
- {
- if (left)
- {
- if (preport)
- report = GetString(row[i]);
- if ( (String) row[i] == "Open_tables")
- open_tables = true;
- else
- open_tables = false;
- if ( (String) row[i] == "Open_files")
- open_files = true;
- else
- open_files = false;
- if ((String) row[i] == "Uptime")
- uptime = true;
- else
- uptime = false;
- if ( (String) row[i] == "Opened_tables")
- opened_tables = true;
- else
- opened_tables = false;
- if ( (String) row[i] == "Threads_running" || (String) row[i] == "Running_threads")
- running_threads = true;
- else
- running_threads = false;
- if ( (String) row[i] == "Open_streams")
- open_streams = true;
- else
- open_streams = false;
- if ( (String) row[i] == "Slow_queries")
- slow_queries = true;
- else
- slow_queries = false;
- if ( (String) row[i] == "Questions")
- questions = true;
- else
- questions = false;
- if (yy)
- StringGrid5->Cells[0][k++] = row[i];
- left = false;
- }
- else
- {
- if (preport)
- Memo5->Lines->Add(report + row[i]);
- if (open_tables)
- st22->Text = row[i];
- if (open_files)
- st23->Text = row[i];
- if (uptime)
- nice_time(row[i]);
- if (running_threads)
- st27->Text = row[i];
- if (open_streams)
- st24->Text = row[i];
- if (slow_queries)
- st28->Text = row[i];
- if (opened_tables)
- st25->Text = row[i];
- if (questions){
- q++;
- st26->Text = StrToInt64(row[i]) - q; }
- if (yy){
- StringGrid5->RowCount++;
- StringGrid5->Cells[1][--k] = row[i];
- k++; }
- left = true;
- }
- }
- }
- if (rinit)
- StringGrid5->RowCount--;
- mysql_free_result(res);
- yy = false;
- return true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::SpeedButton13Click(TObject *Sender)
- {
- yy = true;
- // rinit = true;
- }
- //---------------------------------------------------------------------------
- String __fastcall TForm1::GetNumberServer()
- {
- String TheVersion;
- TheVersion = mysql_get_server_info(MySQL) ;
- TheVersion.SetLength(4);
- return TheVersion;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::KillProcess1Click(TObject *Sender)
- {
- if (IsConnect)
- KillPID();
- else
- Application->MessageBox("The Server must be connected", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- }
- //---------------------------------------------------------------------------
- bool __fastcall TForm1::KillPID()
- {
- String s = "Are you sure to kill the process PID no. ";
- s+= StringGrid2->Cells[0][StringGrid2->Row];
- s+= " of the USER ";
- s+= StringGrid2->Cells[1][StringGrid2->Row];
- unsigned long xx = mysql_thread_id(MySQL);
- unsigned long yy = StrToInt(StringGrid2->Cells[0][StringGrid2->Row]);
- if ( xx != yy)
- {
- if(Application->MessageBox(s.c_str(), "WinMySQLadmin 1.0", MB_YESNOCANCEL | MB_ICONQUESTION ) == IDYES)
- {
- if (!mysql_kill(MySQL,yy))
- {
- GetProcess();
- return true;
- }
- }
- }
- else
- {
- Application->MessageBox("From here you can't kill the PID of this tool", "WinMySQLadmin 1.0", MB_OK | MB_ICONEXCLAMATION);
- return true;
- }
- return true;
- }
- void __fastcall TForm1::FlushThreads1Click(TObject *Sender)
- {
- if (IsConnect)
- {
- if (mysql_refresh(MySQL,REFRESH_THREADS))
- StatusLine->SimpleText = "";
- }
- }
- //---------------------------------------------------------------------------