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 кб.) Скачано 400 раз |
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;
}
|