[C++Builder6] Zakres waznosci zmiennych i nowe okno

0

Witam

  1. Dosc banalny problem ... ale nie dla mnie.
    Zrobilam Form1. Jego kod wyglada mniej wiecej tak [niepotrzebne rzeczy wycielam]:
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
  int q, w, e;
  q = StrToInt(rr->Text);
  w = StrToInt(tt->Text);
  e = q+w;
}
void __fastcall TForm1::sumaClick(TObject *Sender)
{
  Label16->Caption = e;
}

Gdzie rr i tt sa to komponenty TEdit.
Me pytanie brzmi: jak zrobic aby zmienna e byla widziana poza naszym pierwszym blokiem?
Probowalam wielu sposobow w drogim bloku ale niestety nieskutecznie. Juz o wiele latwiejsze jest przekazywanie zmiennych miedzy formularzami.

  1. Moj drogi problem dotyczy przemieszczania sie miedzy formularzami.
    Znam 2 rodzaje przemieszczania/pokazywania sie miedzy nimi [ShowModal(); oraz Show();].
    Moje drogie pytanie brzmi: Jak otworzyc drogi formularz po nacisnieciu przycisku aby pierwszy nie byl widziany i aby nie byl otworzony gdzies pod spodem? Mniej wiecej to ma wygladac tak: mam menu na gorze probramu [plik, menu, pomoc] w menu mam 3 przyciski [1, 2, 3] aby po nacisnieciu 1 pokazywalo sie cos po nacisnieciu 2 tez w 3 tak samo. Mniej wiecej to ma wygladac w taki sposob jak sa strony tworzone.
0

jak zrobic aby zmienna e byla widziana poza naszym pierwszym blokiem?

Zadeklaruj zmienna jaka skladowa klasy (czyli w pliku .h) albo globalnie. Z tym ze tego drugiego rozwiazania nie powinno sie stosowac.

Moje drogie pytanie brzmi: Jak otworzyc drogi formularz po nacisnieciu przycisku aby pierwszy nie byl widziany i aby nie byl otworzony gdzies pod spodem?

Zanim pokazesz drugi formularz ukryj pierwszy - przeciez tyle to sie chyba mozna domyslec samodzielnie :|

P.S. nie zalapalem ktory formularz jest ci bardziej drogi :-P

0

No tak ale jak zadeklaruje ja w tym pliczku *.h to po jak w sekcji

__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}

nadam jej wartosc pobrana od uzytkownika to ona nie bedzie widoczna w bloczku:

void __fastcall TForm1::sumaClick(TObject *Sender)
{
  Label16->Caption = e;
}

a mi chodzi aby ta wartosc byla widziana globalnie

  1. problem
    Jesli schowam pierwszy formularz i bedzie widoczny drogi to jak nacisne X aby zamknac program to sie pojawi formularz pierwszy (chyba nie jestem pewna poniewaz nie wiem jak schowac 1 formularz i nie testowalam tego)
0

Etam . Naciskasz ctrl i F6
otwiera ci się Unit1.h i dopisujesz to 'e' .

//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// IDE-managed Components
private:	// User declarations
public:		// User declarations
    __fastcall TForm1(TComponent* Owner);

        int e ;
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

A dostępna będzie 'globalnie' przez wskażnik Form1 ;
np.

Form1 -> e = 10;

Luk:

http://www.x86rp.boo.pl/main_page/download/cbuilder.pdf

http://cyfbar.republika.pl

1 użytkowników online, w tym zalogowanych: 0, gości: 1