Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Borland C++ Builder ПОМОГИТЕ


Автор: gepard88 14.5.2007, 11:14
Помогите переделать код в C++ Builder . За ранее благодарю. smile 

procedure TForm1.ButtonSearchClick(Sender: TObject);
begin
DataModuleGibdd.tCars.Filter:='';
 if Radiogroup1.ItemIndex=0 then
  begin
   DataModuleGibdd.tCars.Filter:='Gosnomer = '''+EdGos.Text+'''';
   Label1.Caption:=DataModuleGibdd.tCars.Filter;
  end;
 if Radiogroup1.ItemIndex=1 then
  begin
   DataModuleGibdd.tCars.Filter:='Model = '''+EdMod.Text+'''';
   Label1.Caption:=DataModuleGibdd.tCars.Filter;
  end;
  if Radiogroup1.ItemIndex=2 then
  begin
   DataModuleGibdd.tCars.Filter:='Category = '''+Edit1.Text+'''';
   Label1.Caption:=DataModuleGibdd.tCars.Filter;
  end;
  DataModuleGibdd.tCars.Filtered:=true;
end;


procedure TForm1.Button3Click(Sender: TObject);
var x:string;
begin
x:=inputbox('запрос:','введите дату техосмотра','');
DataModuleGibdd.tCars.Filter:='DateLast='+QuotedStr(x);
end;

procedure TForm1.Button4Click(Sender: TObject);
var x:string;
begin
x:=inputbox('запрос:','введите дату cледю техосмотра','');
DataModuleGibdd.tCars.Filter:='DateNext='+QuotedStr(x);
end;




Автор: Alexeis 14.5.2007, 11:43
Ну если писать на коленке, то примерно так.

Код

procedure TForm1.ButtonSearchClick(Sender: TObject);
begin
DataModuleGibdd.tCars.Filter:='';
 if Radiogroup1.ItemIndex=0 then
  begin
   DataModuleGibdd.tCars.Filter:='Gosnomer = '''+EdGos.Text+'''';
   Label1.Caption:=DataModuleGibdd.tCars.Filter;
  end;
 if Radiogroup1.ItemIndex=1 then
  begin
   DataModuleGibdd.tCars.Filter:='Model = '''+EdMod.Text+'''';
   Label1.Caption:=DataModuleGibdd.tCars.Filter;
  end;
  if Radiogroup1.ItemIndex=2 then
  begin
   DataModuleGibdd.tCars.Filter:='Category = '''+Edit1.Text+'''';
   Label1.Caption:=DataModuleGibdd.tCars.Filter;
  end;
  DataModuleGibdd.tCars.Filtered:=true;
end;


Код

DataModuleGibdd->tCars->Filter = "";
 if (Radiogroup1->ItemIndex == 0)
 {
     DataModuleGibdd->tCars->Filter = "Gosnomer = \""+EdGos->Text+"\"";
     Label1->Caption  = DataModuleGibdd->tCars->Filter;
 }
 if (Radiogroup1->ItemIndex ==1)
 {
     DataModuleGibdd->tCars->Filter  = "Model = \"" + EdMod->Text + "\"";
     Label1->Caption = DataModuleGibdd->tCars->Filter;
  }
  if (Radiogroup1->ItemIndex == 2)
  {
   DataModuleGibdd->tCars->Filter = "Category = \""+Edit1->Text+"\"";
   Label1->Caption = DataModuleGibdd->tCars->Filter;
  }
  DataModuleGibdd->tCars->Filtered = true;


Код

procedure TForm1.Button3Click(Sender: TObject);
var x:string;
begin
x:=inputbox('запрос:','введите дату техосмотра','');
DataModuleGibdd.tCars.Filter:='DateLast='+QuotedStr(x);
end;


Код

AnsiString x;
x = inputbox("запрос:","введите дату техосмотра","");
DataModuleGibdd->tCars->Filter = "DateLast="+QuotedStr(x);


обработчик 4й кнопки надеюсь не составит труда сделать  smile 



Автор: gepard88 14.5.2007, 12:32
возникает ошибка в   "Gosnomer = \""+EdGos->Text+"\"";

Добавлено через 1 минуту и 47 секунд
Alexeis,  возникает ошибка в   "Gosnomer = \""+EdGos->Text+"\""; 

Автор: Rodman 14.5.2007, 12:36
какая ошибка? дословно!

Добавлено через 1 минуту и 36 секунд
все должно быть в порядке

Автор: gepard88 14.5.2007, 12:40
все спасибо разобрался не хватало  ( * ' )                "Gosnomer='"+Edit1->Text+"*'";

Автор: gepard88 14.5.2007, 21:19
Помогите переделать код в C++ Builder . За ранее благодарю. 



Datasource2.DataSet:=Query1;
Query1.Close;
Query1.SQL.Assign(memo1.Lines);
Query1.Open;
DBGrid1.DataSource:=Datasource2;

Автор: Alexeis 14.5.2007, 22:40
gepard88, тут совсем просто. Все точки нужно заменить на "->". Просто в делфи неявная разыменовка происходит а в С++ явная. Все знаки присвоить ":=" заменить на простые "=". Функции без параметров в отличие от делфи в С++ должны иметь круглые скобки.

Код

Datasource2->DataSet = Query1;
Query1->Close();
Query1->SQL->Assign(memo1->Lines);
Query1->Open();
DBGrid1->DataSource = Datasource2; 

Автор: Klin 14.5.2007, 23:31
gepard88, часто вы одни и те же вопросы несколько раз задаете...

http://forum.vingrad.ru/index.php?showtopic=151214&view=findpost&p=1133194

Автор: Alexeis 15.5.2007, 00:03
А между тем на форуме запрещено создавать дубликаты тем.

Автор: Klin 15.5.2007, 00:10
Цитата(Alexeis @  15.5.2007,  01:03 Найти цитируемый пост)
А между тем на форуме запрещено создавать дубликаты тем. 

Ага, им это вбей smile

Добавлено через 28 секунд
сорри за оффтоп smile

Автор: gepard88 18.5.2007, 16:09
всем спасибо за помошь

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)