![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 13.07.2012
Сообщений: 1
|
![]()
Мне нужно разобраться с ThRead Object.Ясделал базу данных через C++ Builder в Alias Maneger.Всё работает.но только мне нужно реализовать многопоточность мне нужно понять как её осуществить.У меня есть 2 процесса ,первый открывает папку с картинками, второй открывает базу данных.у меня при компиляции появляется папка открытие файла,только потом уже открывается база даддых.а мне нужно,что бы было всё одновркменно.Подскажите кто чем может..
вот код проги: //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <jpeg.hpp> #include <process.h> #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- AnsiString aPath; TSearchRec aSearchRec; int a; __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { Image1->Proportional=true; if (FindFirst(aPath+"*.jpg",faAnyFile, aSearchRec)==0) { ListBox1->Items->Add(aSearchRec.Name); while( FindNext(aSearchRec)==0) { ListBox1->Items->Add(aSearchRec.Name); } ListBox1->ItemIndex=0; Label2->Caption=ListBox1->Items->Strings[0]; Image1->Picture->LoadFromFile(aPath + ListBox1->Items->Strings[0]); } if ( OpenDialog1->Execute() ) { ListBox1->Clear(); aPath = ExtractFilePath(OpenDialog1->FileName); if ( FindFirst(aPath+"*.jpg", faAnyFile,aSearchRec)==0) { ListBox1->Items->Add(aSearchRec.Name); while (FindNext(aSearchRec)==0) { ListBox1->Items->Add(aSearchRec.Name); } int n=ListBox1->Items->IndexOf(ExtractFileName(OpenDialog 1->FileName)); ListBox1->ItemIndex=n; Label2->Caption=ListBox1->Items->Strings[n]; Image1->Picture->LoadFromFile(aPath + ListBox1->Items->Strings[0]); } } } //--------------------------------------------------------------------------- void __fastcall TForm1::FormShow(TObject *Sender) { try { Table1->Open(); } catch ( EDBEngineError &e) { ShowMessage("Для доступа к базе данных необходимо создать псевдоним shop"); } } //--------------------------------------------------------------------------- void __fastcall TForm1::DataSource1StateChange(TObj ect *Sender) { if (DataSource1->State == dsBrowse) StatusBar1->Panels->Items[1]->Text = "магазин"; else StatusBar1->Panels->Items[1]->Text = "№"; } //--------------------------------------------------------------------------- void __fastcall TForm1::Table1AfterScroll(TDataSet *DataSet) { if ( Table1->RecNo !=-1) { StatusBar1->Panels->Items[0]->Text="№"+ IntToStr( Table1->RecNo); } else { StatusBar1->Panels->Items[0]->Text="Zapis:"; StatusBar1->Panels->Items[1]->Text="r"; } } //--------------------------------------------------------------------------- void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) { if (Table1->State == dsEdit) Table1->Post(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { a=a+StrToInt(DBEdit2->Text); Label1->Caption = a; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { Label1->Caption = "0"; } //--------------------------------------------------------------------------- void __fastcall TForm1::ListBox1Click(TObject *Sender) { int n = ListBox1->ItemIndex; Label2->Caption=ListBox1->Items->Strings[n]; Image1->Picture->LoadFromFile(aPath+ListBox1->Items->Strings[n]); } //--------------------------------------------------------------------------- void __fastcall TForm1::BitBtn1Click(TObject *Sender) { if ( OpenDialog1->Execute() ) { ListBox1->Clear(); aPath = ExtractFilePath(OpenDialog1->FileName); if ( FindFirst(aPath+"*.jpg", faAnyFile,aSearchRec)==0) { ListBox1->Items->Add(aSearchRec.Name); while (FindNext(aSearchRec)==0) { ListBox1->Items->Add(aSearchRec.Name); } int n=ListBox1->Items->IndexOf(ExtractFileName(OpenDialog 1->FileName)); ListBox1->ItemIndex=n; Label2->Caption=ListBox1->Items->Strings[n]; Image1->Picture->LoadFromFile(aPath + ListBox1->Items->Strings[0]); } } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button3Click(TObject *Sender) { Form1->Close(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button4Click(TObject *Sender) { Label1->Caption = a-StrToInt(DBEdit2->Text); } //--------------------------------------------------------------------------- |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 17.11.2010
Сообщений: 262
|
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с многопоточностью | Kapitan4ik | Работа с сетью в Delphi | 3 | 29.02.2012 21:46 |
Ошибка при подключении к базе данных Object reference not set to an instance of an object. | lowercase | ASP.NET | 1 | 20.11.2011 22:48 |
Нужно разобраться с кодом написанным на Object Pascal в среде Delphi 7.0 | anchuta | Помощь студентам | 10 | 15.05.2011 21:17 |
Нужно разобраться !!! | вовик 82 | WordPress и другие CMS | 1 | 15.04.2011 13:36 |
Нужно разобраться со стеком | GladiatoR24 | Общие вопросы C/C++ | 1 | 08.05.2010 11:34 |