Vilian
Если создать новый непустой проект - компилируется?
Если создать новый непустой проект - компилируется?
#include "Unit1.cpp"
extern int N;
extern double R, r, min; extern int Left, Right;
void f2 () {
N=2*(StrToInt(CoordEdit->Text));
Coord->Text=IntToStr (N);;
}
//---------------------------------------------------------------------------
#include <vcl>
#pragma hdrstop
#include "Unit1.h"
#include "File1.cpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainForm *MainForm;
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::N5Click(TObject *Sender)
{
MainForm->Close();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::CalcButClick(TObject *Sender)
{
f2 ();
}
//---------------------------------------------------------------------------
Я чуть позже посмотрю, занимаюсь с утра, голова уже ничего не соображает.
В смысле, программированием вообще?
еще вопрос?
//---------------------------------------------------------------------------
#include <vcl>
#pragma hdrstop
#include "Unit1.h"
#include "File2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainForm *MainForm;
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::N5Click(TObject *Sender)
{
MainForm->Close();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::CalcButClick(TObject *Sender)
{
f1 ();
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Menus.hpp>
//---------------------------------------------------------------------------
class TMainForm : public TForm
{
__published: // IDE-managed Components
TMainMenu *MyMenu;
TMenuItem *N1;
TMenuItem *N2;
TMenuItem *N3;
TMenuItem *N4;
TMenuItem *N5;
TMenuItem *N6;
TMenuItem *N7;
TMenuItem *N8;
TMenuItem *N9;
TMenuItem *N10;
TMenuItem *N11;
TMenuItem *N12;
TMenuItem *N13;
TMenuItem *N14;
TButton *CalcBut;
TButton *ClearBut;
TButton *SaveBut;
TEdit *CoordEdit;
TEdit *ResEdit;
TStaticText *CoordStText;
TStaticText *InfoCoordStText;
TStaticText *ResStText;
TMemo *InfoGenCoord;
void __fastcall N5Click(TObject *Sender);
void __fastcall CalcButClick(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TMainForm(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TMainForm *MainForm;
//---------------------------------------------------------------------------
#endif
#include "Unit1.h"
void f1 () {
MainForm->Close();
}
void f1 ();
так у меня и так новый непустой проект. Не компилируется.
подумайте еще почему у вас доступен обьект MainForm в File2.cpp
в хидере - оглашение void f2 ();
void f1 ();
extern int a=9;
a=2*a;
ShowMessage (IntToStr(a));
в сообщении четко написано чего не нравиться комплилятору - задайте точно тип аргумента для фунции
double x;
x=sqrt(10.0);
cout <<x<<'\n';
double x;
x=sqrt(10);
cout <<x<<'\n';
cделайте себе класс с переменной и набором методов
создайте екземпляр класса и уперед
А следующее вызывает ошибку:
Но другой стороны это и хорошо. Порядка больше.
'\n'
Лучше использовать endl (сокращение от EndLine)
class A {
int x, y;
public: A() {x=0; y=0;}
A(int, int);
void Out ();
};
A::A (int m, int n) {
m=x; n=y;
}
void A::Out() {
cout <<x<<' '<<y<<'\n';
}
#include <vcl>
#include <cmath>
#pragma hdrstop
#include <iostream>
#include "File2.cpp"
using namespace std;
class A;
int _tmain(int argc, _TCHAR* argv[])
{
system ("title Temp");
A a1;
system ("pause");
return 0;
}
Компилятору не нравится в File2.cpp присутствие cout. Пишет, что не знает такого. Как поступить?
//---------------------------------------------------------------------------
#include <iostream>
#include <vcl>
#include "File1.h"
#pragma hdrstop
using namespace std;
class A; class B;
void A::OutPut() {
cout <<a<<' '<<b;
}
//---------------------------------------------------------------------------
#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
A a1;
a1.OutPut();
cout <<endl;
system ("pause");
return 0;
}
//---------------------------------------------------------------------------
class A {
int a, b;
public : A() {a=0; b=0;}
void OutPut ();
};
void __fastcall TMainForm::ButClick(TObject *Sender)
{
MyForm->Caption="Form"; //Вместо "Форма"
Buttton1->Caption="Clear"; //Вместо "Очистить"
//И так далее скурпулезно напрямую ручками переименовывать все.
}
Лучше использовать endl (сокращение от EndLine)
Так-так... Это почему же лучше? Объясните, интересуюсь.
Как наиболее рационально решить нехитрую задачу: перевести язык своей программы, состоящей из формы и размещенных на ней элементов, скажем, на английский или на любой другой - не это принципиально.
За отображаемые названия кнопок, форм и др. объектов отвечает Caption, так? Как наиболее рационально решить нехитрую задачу: перевести язык своей программы, состоящей из формы и размещенных на ней элементов, скажем, на английский или на любой другой - не это принципиально.
Можно, конечно, создать кнопку, повесить на клик по ней следующий код:
Цитата:
void __fastcall TMainForm::ButClick(TObject *Sender)
{
MyForm->Caption="Form"; //Вместо "Форма"
Buttton1->Caption="Clear"; //Вместо "Очистить"
//И так далее скурпулезно напрямую ручками переименовывать все.
}
Но ведь есть, мне кажется, куда более рациональный метод, просто я его пока что не знаю.
Надеюсь на вашу помощь. Просветите.
Как наиболее рационально решить нехитрую задачу: перевести язык своей программы, состоящей из формы и размещенных на ней элементов, скажем, на английский или на любой другой
#include <atlconv.h>
//...
std::string str = "hello world";
USES_CONVERSION;
LPWSTR lwstr = A2W(str.c_str());
на мой взгляд самое простое и без извратов использовать ATL:
Можно и по классике - MultiByteToWideChar.
а можно примитивнейший примерчик?
std::string str = "hello world!";
LPWSTR wstr = new WCHAR[str.length()*2];
swprintf(wstr,L"%S",str.c_str());
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
Предыдущая тема: не знаю как назвать тему :-)