andrix224 utworzono 13 czerwca 2009 utworzono 13 czerwca 2009 Wykonuje swoją drugą wersję kalkulatora w c++ builder. Potrzebna jest następująca instrukcja: jeśli kliknę w button1 to ---wyrażenie c++--- Chodzi o to, że to nie jest główna funkcja typu void fastcall Click*Sender, tylko ta instrukcja warunkowa jest zagnieżdzona jakby w tej głównej funkcji. Proszę o pomoc!
Archimedes komentarz 13 czerwca 2009 komentarz 13 czerwca 2009 Chodzi o void main? Napisz trochę jaśniej.
andrix224 komentarz 13 czerwca 2009 Autor komentarz 13 czerwca 2009 to wyjaśnię. Chce taką instrukcje warunkową: jeżeli nacisnę przycisk w programie (załóżmy Button1) to program wykona napisane polecenie (na przykład wyświetli napis w polu np. "wynik") Instrukcja do c++ buildera chodzi też o to, żeby nie była to instrukcja, jaką program mi wyświetli gdy dwa razy kliknę w przycisk w C++ builder oknie "Design"
Archimedes komentarz 13 czerwca 2009 komentarz 13 czerwca 2009 Utwórz zmienną, do zmiennej przypisz ten tekst i później: Label1->Caption = zmienna; Przedstawiłem na labelu a nie jakimś design bo tak naprawde nie pisałem nigdy w builderze ale tak to rozumuje.
andrix224 komentarz 13 czerwca 2009 Autor komentarz 13 czerwca 2009 wiem jak wyświetlić napis w jakimś polu. Chce tylko wiedzieć coś takiego. JEŻELI PRZYCISNĘ PRZYCISK to wyświetlę ten napis. Chodzi o samą konstrukcję JEŻELI PRZYCISNĘ PRZYCISK. resztę wiem. Jak mówie nie może być to podstawowe wywołanie przycisku, czyli jak kliknę dwa razy w przycisk w c++ builderze.
Archimedes komentarz 13 czerwca 2009 komentarz 13 czerwca 2009 Sprawdz takie coś: if(button1->OnClick=OnClick){instrukcje}else {coś tam}
andrix224 komentarz 13 czerwca 2009 Autor komentarz 13 czerwca 2009 (edytowane) //---------------------------------------------------------------------------#include <vcl.h>#pragma hdrstop#include "Unit1.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;//--------------------------------------------------------------------------- double x, y, z;__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner){}//---------------------------------------------------------------------------void __fastcall TForm1::Button2Click(TObject *Sender){x=StrToFloat(liczba->Text); if(Button14->OnClick=OnClick) { y=StrToFloat(liczba->Text); z=x+y; liczba->Text=z; } x=0; y=0; z=0;}//--------------------------------------------------------------------------- zrobiłem coś takiego i wyświetla mi takie błędy: [C++ Error] Unit1.cpp(23): E2492 Properties may only be assigned using a simple statement, e.g. "prop = value;" [C++ Warning] Unit1.cpp(23): W8060 Possibly incorrect assignment [C++ Error] Unit1.cpp(23): E2369 Cannot use the result of a property assignment as an rvalue ---------------------------------------------------------------------------------------------------------------------------------- Spróbuję mój problem to jeszcze uprościć, aby każdy zrozumiał. Instrukcja warunkowa składa się z: -if -warunku -wyrażenia wykonywanego w razie spełnienia warunku -ewentualnie instrukcje else itp. Ja potrzebuje tylko jednego składnika: WARUNKU. Warunkiem ma być kliknięcie w przycisk (Button14). Tylko nie wiem jak to zapisać.
rafalluz komentarz 13 czerwca 2009 komentarz 13 czerwca 2009 spróbuj '==' zamiast '=' w linii (23) A dlaczego nie może być to w handlerze zdarzenia OnClick?
andrix224 komentarz 13 czerwca 2009 Autor komentarz 13 czerwca 2009 zrobiłem to co kazałeś czyli == zamiast = i nie rozpoznaje warunku od razu robi to co ma być w warunku mimo że ten warunek jest niespełniony
MarekM25 komentarz 22 czerwca 2009 komentarz 22 czerwca 2009 (edytowane) no to tak: *klikasz dwa razy w button1 i worzysz domyślną metodę zdarzeniową *tutaj nie musisz już wtedy tworzyć warunku *zdarzenie wystąpiło, czyli kliknięcie automatycznie powoduje uruchomienie kodu zdarzenia *potem w polu zdarzenia wpisujesz to co chcesz(już bez warunku) Nie wiem czy dobrze wytłumaczyłem, ale jak coś to pisz Na pewno jak dobrze zrobisz i zrozumiesz mnie to podziała:) aha chyba źle Cię zrozumiałem:P
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.