3.08.2014 / 16:55 |  | 
MrBlack    Пользователь  
   Сейчас: Offline 
 Имя: Виктор Откуда: 13 Регистрация: 16.01.2010
   | Проблема такова не выводит результат, я не знаю что делать? как переобразовать String в int. по идее работать должно но... ещё не работает. поправте что не так?  //---------------------------------------------------------------------------  
   
#include <vcl.h>  
#pragma hdrstop  
   
#include "Unit3.h"  
//---------------------------------------------------------------------------  
#pragma package(smart_init)  
#pragma resource "*.dfm"  
TForm3 *Form3;  
//---------------------------------------------------------------------------  
__fastcall TForm3::TForm3(TComponent* Owner)  
        : TForm(Owner)  
{  
}  
//---------------------------------------------------------------------------  
   
void __fastcall TForm3::Button1Click(TObject *Sender)  
{  
AnsiString a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,a4,b4,c4,d4,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10;  
a1=Edit1->Text;  
b1=Edit5->Text;  
if (a1==b1) a1>>r1;  
else "n">>r1;  
a2=Edit2->Text;  
b2=Edit6->Text;  
if (a2==b2) a2>>r2;  
else "n">>r2;  
a3=Edit3->Text;  
b3=Edit7->Text;  
if (a3==b3) a3>>r3;  
else "n">>r3;  
a4=Edit4->Text;  
b4=Edit8->Text;  
if (a4==b4) a4>>r4;  
else "n">>r4;  
c1=Edit9->Text;  
d1=Edit13->Text;  
if (c1==d1) c1>>r5;  
else "n">>r5;  
c2=Edit10->Text;  
d2=Edit14->Text;  
if (c2==d2) c2>>r6;  
else "n">>r6;  
c3=Edit11->Text;  
d3=Edit15->Text;  
if (c3==d3) c3>>r7;  
else "n">>r7;  
c4=Edit12->Text;  
d4=Edit15->Text;  
if (c4==d4) c4>>r8;  
else "n">>r8;  
   
}  
//---------------------------------------------------------------------------  
   
void __fastcall TForm3::Label6Click(TObject *Sender)  
{  
int r1,r2,r3,r4,r5,r6,r7,r8;  
Label6->Caption=r1;  
Label7->Caption=r2;  
Label8->Caption=r3;  
Label9->Caption=r4;  
Label10->Caption=r5;  
Label11->Caption=r6;  
Label12->Caption=r7;  
Label13->Caption=r8;  
   
   
}  
//---------------------------------------------------------------------------  
  | 
  3.08.2014 / 17:30 |  | 
MrBlack    Пользователь  
   Сейчас: Offline 
 Имя: Виктор Откуда: 13 Регистрация: 16.01.2010
   | и видает от такое
  
 Прикрепленные файлы:   Безымянный.jpg (40.75 кб.) Скачано 421 раз   | 
  3.08.2014 / 17:32 |  | 
aNNiMON    Супервизор 
   Сейчас: Offline 
 Имя: Витёк Регистрация: 11.01.2010
   | MrBlack, а где у тебя Integer? А где инициализация? Что делает код?
  __________________
   let live  Изменено aNNiMON (3.08 / 17:35) (всего 2 раза) | 
  3.08.2014 / 18:00 |  | 
MrBlack    Пользователь  
   Сейчас: Offline 
 Имя: Виктор Откуда: 13 Регистрация: 16.01.2010
   | что делает код сравнивает значения если совпали записывает  если нет так записывает символ "n". Куда ткнуть? билдер выдаёт что нельзя конвертировать  "AnsiString to int"  //---------------------------------------------------------------------------  
   
#include <vcl.h>  
#pragma hdrstop  
   
#include "Unit3.h"  
//---------------------------------------------------------------------------  
#pragma package(smart_init)  
#pragma resource "*.dfm"  
TForm3 *Form3;  
//---------------------------------------------------------------------------  
__fastcall TForm3::TForm3(TComponent* Owner)  
        : TForm(Owner)  
{  
}  
//---------------------------------------------------------------------------  
   
void __fastcall TForm3::Button1Click(TObject *Sender)  
{  
AnsiString a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,a4,b4,c4,d4,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10;  
a1=Edit1->Text;  
b1=Edit5->Text;  
if (a1==b1) a1>>r1;  
else "n">>r1;  
a2=Edit2->Text;  
b2=Edit6->Text;  
if (a2==b2) a2>>r2;  
else "n">>r2;  
a3=Edit3->Text;  
b3=Edit7->Text;  
if (a3==b3) a3>>r3;  
else "n">>r3;  
a4=Edit4->Text;  
b4=Edit8->Text;  
if (a4==b4) a4>>r4;  
else "n">>r4;  
c1=Edit9->Text;  
d1=Edit13->Text;  
if (c1==d1) c1>>r5;  
else "n">>r5;  
c2=Edit10->Text;  
d2=Edit14->Text;  
if (c2==d2) c2>>r6;  
else "n">>r6;  
c3=Edit11->Text;  
d3=Edit15->Text;  
if (c3==d3) c3>>r7;  
else "n">>r7;  
c4=Edit12->Text;  
d4=Edit15->Text;  
if (c4==d4) c4>>r8;  
else "n">>r8;  
Label6->Caption=r1;  
Label7->Caption=r2;  
Label8->Caption=r3;  
Label9->Caption=r4;  
Label10->Caption=r5;  
Label11->Caption=r6;  
Label12->Caption=r7;  
Label13->Caption=r8;  
   
}  
//---------------------------------------------------------------------------  
  Изменено MrBlack (3.08 / 18:03) (всего 2 раза) | 
  3.08.2014 / 18:11 |  | 
aNNiMON    Супервизор 
   Сейчас: Offline 
 Имя: Витёк Регистрация: 11.01.2010
   | MrBlack, сравнивать строки методом == нельзя. Есть функция AnsiCompare: if (a1.AnsiCompare(b1) == 0) { /* строки равны */ }  
  http://www.functionx.com/bcb/topics/strings.htmЗачем тебе String в int? Где именно он нужен? str.toInt();  __________________
   let live  Изменено aNNiMON (3.08 / 18:13) (всего 1 раз) | 
  3.08.2014 / 18:18 |  | 
MrBlack    Пользователь  
   Сейчас: Offline 
 Имя: Виктор Откуда: 13 Регистрация: 16.01.2010
   | aNNiMON, тогда получается что почти все не верно. String в int просто выдавало ошибку. что нельзя конвертировать. Не выводило нечего от и подумал что тут что то не то.
   | 
  3.08.2014 / 18:27 |  | 
aNNiMON    Супервизор 
   Сейчас: Offline 
 Имя: Витёк Регистрация: 11.01.2010
   | MrBlack, наверное из-за сравнения и ругалось на int. Ты сравнивал как числа, хотя то были строки. Попробуй через функцию сравнения, что я дал выше, может перестанет ругаться.
  А не вариант засунуть всё в массив и в цикле сравнивать?
  __________________
   let live  Изменено aNNiMON (3.08 / 18:29) (всего 2 раза) | 
  3.08.2014 / 18:39 |  | 
MrBlack    Пользователь  
   Сейчас: Offline 
 Имя: Виктор Откуда: 13 Регистрация: 16.01.2010
   | А не вариант засунуть всё в массив и в цикле сравнивать? Незнаю не пробовал, это будет следущий вариант если AnsiCompare не прокатит.
   | 
  4.08.2014 / 15:35 |  | 
sasa961    Пользователь  
   Сейчас: Offline 
 Имя: Александр Откуда: Интернет) Регистрация: 21.08.2010
   | Я конечно туплю, но в чем преимущество borland builder по сравнению с visual studio? 
  this->delete(after_answer);
   | 
  6.08.2014 / 15:40 |  | 
MrBlack    Пользователь  
   Сейчас: Offline 
 Имя: Виктор Откуда: 13 Регистрация: 16.01.2010
   | Проблема решена. {  
c3=Edit11->Text;  
d3=Edit15->Text;  
if (c3.AnsiCompare(d3)<0)  
Panel7->Caption="N";  
else if (c3.AnsiCompare(d3)>0)  
Panel7->Caption="N";  
else   
Panel7->Caption=c3;  
}  
  |