📄 unitmain.cpp
字号:
void __fastcall TFormmain::FormClose(TObject *Sender, TCloseAction &Action)
{
/* unsigned long s;
GetExitCodeThread(Thread1Handle, &s);
if (s == STILL_ACTIVE)
if (TerminateThread(Thread1Handle, s))
CloseHandle(Thread1Handle);
ExitThread(s); */
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::RichEdit1Change(TObject *Sender)
{
long n,i,j;
AnsiString finds;
j=RichEdit1->SelStart;
RichEdit1->SelectAll();
RichEdit1->SelAttributes->Color=clBlack;
for (int m=0;m<ys->Count ;m++)
{
finds=ys->Strings[m];
n=finds.Length();
i=0;
while ( i!=-1)
{
if (i==0)
{
i=RichEdit1->FindText(finds,0,RichEdit1->GetTextLen(),TSearchTypes()<<stWholeWord);
}
else
i=RichEdit1->FindText(finds,i+n,RichEdit1->GetTextLen(),TSearchTypes()<<stWholeWord);
if (i!=-1)
{
RichEdit1->SelStart=i;
RichEdit1->SelLength=n;
RichEdit1->SelAttributes->Color=clBlue;
if (i==0)
i=n;
}
}
};
RichEdit1->SelStart=j;
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::PopupMenu2Popup(TObject *Sender)
{
jbsql="";
if (TreeView1->Selected==NULL)
Abort();
if (TreeView1->Selected->Level==0)
Abort();
if (TreeView1->Selected==NULL || (TreeView1->Selected->Level!=1 && TreeView1->Selected->Parent->Parent->Text!="索引"))
Abort();
if ((TreeView1->Selected->Level==1) && ((TreeView1->Selected->Parent->Text=="系统函数") ||(TreeView1->Selected->Parent->Text=="索引")))
Abort();
if (TreeView1->Selected->Parent->Text=="表")
{
jbsql=" select dbms_metadata.get_DDL('TABLE',"+QuotedStr(UpperCase(TreeView1->Selected->Text))+","+QuotedStr(UpperCase(Connectedyh))+") as jb from dual";
return;
}
if (TreeView1->Selected->Parent->Text=="视图")
{
jbsql=" select dbms_metadata.get_DDL('VIEW',"+QuotedStr(UpperCase(TreeView1->Selected->Text))+","+QuotedStr(UpperCase(Connectedyh))+") as jb from dual";
return;
}
if (TreeView1->Selected->Parent->Text=="过程")
{
jbsql=" select dbms_metadata.get_DDL('PROCEDURE',"+QuotedStr(UpperCase(TreeView1->Selected->Text))+","+QuotedStr(UpperCase(Connectedyh))+") as jb from dual";
return;
}
if (TreeView1->Selected->Parent->Text=="自定义函数")
{
jbsql=" select dbms_metadata.get_DDL('FUNCTION',"+QuotedStr(UpperCase(TreeView1->Selected->Text))+","+QuotedStr(UpperCase(Connectedyh))+") as jb from dual";
return;
}
if (TreeView1->Selected->Parent->Text=="包")
{
jbsql=" select dbms_metadata.get_DDL('PACKAGE',"+QuotedStr(UpperCase(TreeView1->Selected->Text))+","+QuotedStr(UpperCase(Connectedyh))+") as jb from dual";
return;
}
if (TreeView1->Selected->Parent->Text=="同意词")
{
jbsql=" select dbms_metadata.get_DDL('SYNONYM',"+QuotedStr(UpperCase(TreeView1->Selected->Text))+","+QuotedStr(UpperCase(Connectedyh))+") as jb from dual";
return;
}
if (TreeView1->Selected->Parent->Text=="序列")
{
jbsql=" select dbms_metadata.get_DDL('SEQUENCE',"+QuotedStr(UpperCase(TreeView1->Selected->Text))+","+QuotedStr(UpperCase(Connectedyh))+") as jb from dual";
return;
}
if (TreeView1->Selected->Parent->Parent->Text=="索引")
{
jbsql=" select dbms_metadata.get_DDL('INDEX',"+QuotedStr(UpperCase(TreeView1->Selected->Text))+","+QuotedStr(UpperCase(Connectedyh))+") as jb from dual";
return;
}
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::N2Click(TObject *Sender)
{
if (jbsql.Length()>1)
{
DATABASEHANDLE DBHandle;
status = DBDatabase->ConnectDataBase(DBHandle);
if( status >= 0 )
{
TOCIQuery * Query;
Query = new TOCIQuery();
Query->DBHandle= DBHandle;
Query->AddSQL(jbsql.c_str());
Query->ExecSQL();
if (!Query->Eof)
{
Formjb=new TFormjb(Application);
// FILE *fp;
// fp = fopen("i.txt", "wb");
// fwrite(Query->GetFieldValueByIndex(0),strlen(Query->GetFieldValueByIndex(0)), 1 , fp);
// fclose(fp);
Formjb->Memo1->Lines->Add(Query->GetFieldValueByIndex(0));
Formjb->ShowModal();
Formjb->Free();
}
delete Query;
DBDatabase->DisConnectDataBase(DBHandle);
}
else
{
ShowMessage( "ConnectDataBase失败\n");
DBDatabase->DisConnectDataBase(DBHandle);
}
}
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::FormActivate(TObject *Sender)
{
DataConnected=false;
Formfig=new TFormfig(Application);
Formfig->ShowModal();
Formfig->Free();
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::N4Click(TObject *Sender)
{
Formfig=new TFormfig(Application);
Formfig->ShowModal();
Formfig->Free();
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::N5Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::N7Click(TObject *Sender)
{
FormABOUT=new TFormABOUT(Application);
FormABOUT->ShowModal();
FormABOUT->Free();
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::FormShow(TObject *Sender)
{
AnsiString IniFileName=ExtractFilePath(ParamStr(0))+"paraini.ini";
if (!FileExists(IniFileName))
{
Memo1->Lines->SaveToFile(IniFileName);
}
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::Panel1Resize(TObject *Sender)
{
StatusBar1->Panels->Items[0]->Width=TreeView1->Width;
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::N8Click(TObject *Sender)
{
if (DataConnected==true)
SpeedButton1Click(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::N1Click(TObject *Sender)
{
if (DataConnected==true)
{
Formjbbj=new TFormjbbj(Application);
for ( int i=0;i<jbm->Count ;i++)
{
Formjbbj->CheckListBox1->Items->Add(jbm->Strings[i]) ;
}
Formjbbj->ShowModal();
Formjbbj->Free();
}
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::N9Click(TObject *Sender)
{
AnsiString IniFileName=ExtractFilePath(ParamStr(0))+"paraini.ini";
if (!FileExists(IniFileName))
{
Memo1->Lines->SaveToFile(IniFileName);
}
Formcongfig=new TFormcongfig(Application);
Formcongfig->ShowModal();
Formcongfig->Free();
wls(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::PopupMenu1Popup(TObject *Sender)
{
if( ((rowiddz>-1) && (blobc->Count>0)&&(blobc->IndexOf(StringGrid2->Col-1)>=0 ))==false )
{
Abort();
}
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::N10Click(TObject *Sender)
{
int cd;
AnsiString ssss;
Panel4->Visible=true;
Image1->Visible =false;
cd=txjb.Pos("where");
if (cd>0)
ssss=txjb.SubString(1,cd);
else
ssss=txjb;
ssss=ssss+" where rowid="+QuotedStr(StringGrid2->Cells[rowiddz][StringGrid2->Row].Trim()) ;
txcolid=StringGrid2->Col-1;
Querytx->AddSQL(ssss.c_str());
Querytx->ExecSQL();
if (!Querytx->Eof)
{
TMemoryStream *stream= new TMemoryStream();
TJPEGImage *Jpg= new TJPEGImage();
stream->Clear();
Querytx->GetBLOBFieldByIndexToSteam(txcolid,stream);
if (stream->Size>0 )
{
stream->Seek(0,0);
Jpg->LoadFromStream(stream);
Image1->Picture->Bitmap->Assign(Jpg);
Image1->Visible = true;
}
delete stream;
delete Jpg;
}
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::StringGrid2SelectCell(TObject *Sender, int ACol,
int ARow, bool &CanSelect)
{
if( ((rowiddz>-1) && (blobc->Count>0)&&(blobc->IndexOf(txcolid)>=0 ))==true &&txcolid>=0 && Panel4->Visible == true)
{
int cd;
AnsiString ssss;
Image1->Visible=true;
cd=txjb.Pos("where");
if (cd>0)
ssss=txjb.SubString(1,cd);
else
ssss=txjb;
ssss=ssss+" where rowid="+QuotedStr(StringGrid2->Cells[rowiddz][ARow].Trim()) ;
Querytx->AddSQL(ssss.c_str());
Querytx->ExecSQL();
if (!Querytx->Eof)
{
TMemoryStream *stream= new TMemoryStream();
TJPEGImage *Jpg= new TJPEGImage();
stream->Clear();
Querytx->GetBLOBFieldByIndexToSteam(txcolid,stream);
if (stream->Size>0 )
{
stream->Seek(0,0);
Jpg->LoadFromStream(stream);
Image1->Picture->Bitmap->Assign(Jpg);
}
else
Image1->Picture->Bitmap=NULL;
delete stream;
delete Jpg;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::FormDestroy(TObject *Sender)
{
delete hs;
delete ys;
delete jbjg;
delete jbm;
delete blobc;
delete Querytx;
if (TXDBHandle.envhp!=NULL)
DBDatabase->DisConnectDataBase(TXDBHandle);
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::N11Click(TObject *Sender)
{
Panel4->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::Panel4MouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
ManipulateControl(Panel4,Shift,X, Y, 10);
}
//---------------------------------------------------------------------------
void __fastcall TFormmain::hhh1Click(TObject *Sender)
{
if (!OpenPictureDialog1->Execute())
return;
FileListBox1->Directory=ExtractFilePath(OpenPictureDialog1->FileName);
DATABASEHANDLE DBHandle;
AnsiString sql="",dd;
status = DBDatabase->ConnectDataBase(DBHandle);
if( Formmain->status >= 0 )
{
TOCIQuery * Query1;
Query1 = new TOCIQuery();
Query1->DBHandle = DBHandle;
for (int i=0;i<FileListBox1->Items->Count ;i++)
{
try
{
sql="insert into photo (id,filename,photo1) values(photow.NEXTVAL,"+QuotedStr(FileListBox1->Items->Strings[i])+",EMPTY_BLOB()) RETURNING photo1 INTO :a";
Query1->AddSQL(sql.c_str());
dd= FileListBox1->Directory+"\\"+FileListBox1->Items->Strings[i];
Query1->SetBLOBParamValueFromFile(":a",dd.c_str());
Query1->ExecSQL();
StatusBar1->Panels->Items[1]->Text="当前导入:"+dd+" 文件";
Application->ProcessMessages();
}
catch(const Exception& e)
{
delete Query1;
DBDatabase->DisConnectDataBase(DBHandle);
Application->MessageBox(e.Message.c_str(),"提示",MB_ICONERROR+MB_OK);
Abort() ;
}
}
delete Query1;
DBDatabase->DisConnectDataBase(DBHandle);
}
else
{
ShowMessage( "ConnectDataBase失败\n");
DBDatabase->DisConnectDataBase(DBHandle);
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -