Вниз  C / C++
- 3.08.2014 / 16:55
MrBlack
  Пользователь

MrBlack 
Сейчас: Offline
Проблема такова не выводит результат, я не знаю что делать? как переобразовать String в int. по идее работать должно но... ещё не работает. поправте что не так?
  1. //---------------------------------------------------------------------------
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5.  
  6. #include "Unit3.h"
  7. //---------------------------------------------------------------------------
  8. #pragma package(smart_init)
  9. #pragma resource "*.dfm"
  10. TForm3 *Form3;
  11. //---------------------------------------------------------------------------
  12. __fastcall TForm3::TForm3(TComponent* Owner)
  13.         : TForm(Owner)
  14. {
  15. }
  16. //---------------------------------------------------------------------------
  17.  
  18. void __fastcall TForm3::Button1Click(TObject *Sender)
  19. {
  20. 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;
  21. a1=Edit1->Text;
  22. b1=Edit5->Text;
  23. if (a1==b1) a1>>r1;
  24. else "n">>r1;
  25. a2=Edit2->Text;
  26. b2=Edit6->Text;
  27. if (a2==b2) a2>>r2;
  28. else "n">>r2;
  29. a3=Edit3->Text;
  30. b3=Edit7->Text;
  31. if (a3==b3) a3>>r3;
  32. else "n">>r3;
  33. a4=Edit4->Text;
  34. b4=Edit8->Text;
  35. if (a4==b4) a4>>r4;
  36. else "n">>r4;
  37. c1=Edit9->Text;
  38. d1=Edit13->Text;
  39. if (c1==d1) c1>>r5;
  40. else "n">>r5;
  41. c2=Edit10->Text;
  42. d2=Edit14->Text;
  43. if (c2==d2) c2>>r6;
  44. else "n">>r6;
  45. c3=Edit11->Text;
  46. d3=Edit15->Text;
  47. if (c3==d3) c3>>r7;
  48. else "n">>r7;
  49. c4=Edit12->Text;
  50. d4=Edit15->Text;
  51. if (c4==d4) c4>>r8;
  52. else "n">>r8;
  53.  
  54. }
  55. //---------------------------------------------------------------------------
  56.  
  57. void __fastcall TForm3::Label6Click(TObject *Sender)
  58. {
  59. int r1,r2,r3,r4,r5,r6,r7,r8;
  60. Label6->Caption=r1;
  61. Label7->Caption=r2;
  62. Label8->Caption=r3;
  63. Label9->Caption=r4;
  64. Label10->Caption=r5;
  65. Label11->Caption=r6;
  66. Label12->Caption=r7;
  67. Label13->Caption=r8;
  68.  
  69.  
  70. }
  71. //---------------------------------------------------------------------------

- 3.08.2014 / 17:30
MrBlack
  Пользователь

MrBlack 
Сейчас: Offline
и видает от такое


Прикрепленные файлы:
Безымянный.jpg (40.75 кб.) Скачано 400 раз
- 3.08.2014 / 17:32
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
MrBlack, а где у тебя Integer? А где инициализация? Что делает код?
__________________
 let live

Изменено aNNiMON (3.08 / 17:35) (всего 2 раза)
- 3.08.2014 / 18:00
MrBlack
  Пользователь

MrBlack 
Сейчас: Offline
что делает код сравнивает значения если совпали записывает если нет так записывает символ "n". Куда ткнуть? билдер выдаёт что нельзя конвертировать "AnsiString to int"
  1. //---------------------------------------------------------------------------
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5.  
  6. #include "Unit3.h"
  7. //---------------------------------------------------------------------------
  8. #pragma package(smart_init)
  9. #pragma resource "*.dfm"
  10. TForm3 *Form3;
  11. //---------------------------------------------------------------------------
  12. __fastcall TForm3::TForm3(TComponent* Owner)
  13.         : TForm(Owner)
  14. {
  15. }
  16. //---------------------------------------------------------------------------
  17.  
  18. void __fastcall TForm3::Button1Click(TObject *Sender)
  19. {
  20. 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;
  21. a1=Edit1->Text;
  22. b1=Edit5->Text;
  23. if (a1==b1) a1>>r1;
  24. else "n">>r1;
  25. a2=Edit2->Text;
  26. b2=Edit6->Text;
  27. if (a2==b2) a2>>r2;
  28. else "n">>r2;
  29. a3=Edit3->Text;
  30. b3=Edit7->Text;
  31. if (a3==b3) a3>>r3;
  32. else "n">>r3;
  33. a4=Edit4->Text;
  34. b4=Edit8->Text;
  35. if (a4==b4) a4>>r4;
  36. else "n">>r4;
  37. c1=Edit9->Text;
  38. d1=Edit13->Text;
  39. if (c1==d1) c1>>r5;
  40. else "n">>r5;
  41. c2=Edit10->Text;
  42. d2=Edit14->Text;
  43. if (c2==d2) c2>>r6;
  44. else "n">>r6;
  45. c3=Edit11->Text;
  46. d3=Edit15->Text;
  47. if (c3==d3) c3>>r7;
  48. else "n">>r7;
  49. c4=Edit12->Text;
  50. d4=Edit15->Text;
  51. if (c4==d4) c4>>r8;
  52. else "n">>r8;
  53. Label6->Caption=r1;
  54. Label7->Caption=r2;
  55. Label8->Caption=r3;
  56. Label9->Caption=r4;
  57. Label10->Caption=r5;
  58. Label11->Caption=r6;
  59. Label12->Caption=r7;
  60. Label13->Caption=r8;
  61.  
  62. }
  63. //---------------------------------------------------------------------------


Изменено MrBlack (3.08 / 18:03) (всего 2 раза)
- 3.08.2014 / 18:11
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
MrBlack, сравнивать строки методом == нельзя. Есть функция AnsiCompare:
  1. 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
  Пользователь

MrBlack 
Сейчас: Offline
aNNiMON, тогда получается что почти все не верно. String в int просто выдавало ошибку. что нельзя конвертировать. Не выводило нечего от и подумал что тут что то не то.
- 3.08.2014 / 18:27
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
MrBlack, наверное из-за сравнения и ругалось на int. Ты сравнивал как числа, хотя то были строки. Попробуй через функцию сравнения, что я дал выше, может перестанет ругаться.

А не вариант засунуть всё в массив и в цикле сравнивать?
__________________
 let live

Изменено aNNiMON (3.08 / 18:29) (всего 2 раза)
- 3.08.2014 / 18:39
MrBlack
  Пользователь

MrBlack 
Сейчас: Offline
А не вариант засунуть всё в массив и в цикле сравнивать? Незнаю не пробовал, это будет следущий вариант если AnsiCompare не прокатит.
- 4.08.2014 / 15:35
sasa961
  Пользователь

sasa961 
Сейчас: Offline
Я конечно туплю, но в чем преимущество borland builder по сравнению с visual studio?

this->delete(after_answer);
- 6.08.2014 / 15:40
MrBlack
  Пользователь

MrBlack 
Сейчас: Offline
Проблема решена.
  1. {
  2. c3=Edit11->Text;
  3. d3=Edit15->Text;
  4. if (c3.AnsiCompare(d3)<0)
  5. Panel7->Caption="N";
  6. else if (c3.AnsiCompare(d3)>0)
  7. Panel7->Caption="N";
  8. else
  9. Panel7->Caption=c3;
  10. }

Наверх  Всего сообщений: 2777
Фильтровать сообщения
Поиск по теме
Файлы топика (111)