ERLEDIGT
NEIN
NEIN
ANTWORTEN
22
22
ZUGRIFFE
1028
1028
EMPFEHLEN
-
14.04.05 19:17 #1
- Registriert seit
- Apr 2005
- Beiträge
- 16
ich hab gerade ein c++ tut gelesen und wollte eine der ersten übungen machen, jedoch habe ich ein problem bei der initialisierung der variablen.
ich kenne das nur as vb 6.0 wo ich ein private blub as int schreiben musste.
aber wie is das bei c++? (ich verwende vc++)
ich bräuchte z.b. m_iPrevY als integer sowie miPrevX als integer.
wie geht das?
danke schon im vorraus
-
14.04.05 19:27 #2darko m. Tutorials.de Gastzugang
Hilft dir das weiter
#include "stdafx.h"
int main()
{
int zahl;
int zahl2 = 3;
zahl = 4;
printf("%i",zahl);
printf("%i",zahl2);
return 0;
}
-
14.04.05 19:31 #3
- Registriert seit
- Apr 2005
- Beiträge
- 16
ja nur irgendwie packt vc++ noch von haus aus 100 zeilen in den code, da finde ich kein int main

muss ich das einfach bei dem laden des formulars reinschreiben? also bei onload?
-
14.04.05 19:34 #4darko m. Tutorials.de Gastzugang
printf ist nur für die ausgabe.. (man kann aber auch "cout" verwenden)
-
14.04.05 19:36 #5darko m. Tutorials.de Gastzugang
Kannst ja ein "Leeres Projekt" erstellen.
Dann musst du zusätzlich noch eine CPP Datei erstellen.
Dafür ist die dan leer.
-
14.04.05 19:37 #6
- Registriert seit
- Apr 2005
- Beiträge
- 16
jo, aba wo pack ich das int variable; hin?
also ich arbeite nich mit nem eingabefenster, is ne dialog basierende anwendung...
da sind halt am anfangen so classen deklarationen oder so (das zeugs versteh ich noch nich alles
)
ich find halt keinen teil wo ich die variablen hinpacken soll. wenn du willst poste ich mal den code (sind aba 200 zeilen
, obwohl ich nur 20 geschrieben hab...)
-
14.04.05 19:38 #7darko m. Tutorials.de Gastzugang
Ja bitte... mal guggen was du meinst. :-D
-
14.04.05 19:42 #8
- Registriert seit
- Apr 2005
- Beiträge
- 16
Also das is mal der Code wo ich die befehle für die buttons reinschreibe...Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
// Tag3Dlg.cpp : implementation file // #include "stdafx.h" #include "Tag3.h" #include "Tag3Dlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg) // No message handlers //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CTag3Dlg dialog CTag3Dlg::CTag3Dlg(CWnd* pParent /*=NULL*/) : CDialog(CTag3Dlg::IDD, pParent) { //{{AFX_DATA_INIT(CTag3Dlg) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CTag3Dlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CTag3Dlg) // NOTE: the ClassWizard will add DDX and DDV calls here //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CTag3Dlg, CDialog) //{{AFX_MSG_MAP(CTag3Dlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_WM_MOUSEMOVE() ON_WM_LBUTTONDOWN() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CTag3Dlg message handlers BOOL CTag3Dlg::OnInitDialog() { CDialog::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon // TODO: Add extra initialization here return TRUE; // return TRUE unless you set the focus to a control } void CTag3Dlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialog::OnSysCommand(nID, lParam); } } // If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework. void CTag3Dlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the iconw dc.DrawIcon(x, y, m_hIcon); } else { CDialog::OnPaint(); } } // The system calls this to obtain the cursor to display while the user drags // the minimized window. HCURSOR CTag3Dlg::OnQueryDragIcon() { return (HCURSOR) m_hIcon; } void CTag3Dlg::OnMouseMove(UINT nFlags, CPoint point) { if ((nFlags & MK_LBUTTON) == MK_LBUTTON) { CClientDC dc(this); dc.MoveTo(m_iPrevX, m_iPrevY); dc.LineTo(point.x, point.y); m_iPrevX = point.x; m_iPrevY = point.y; } CDialog::OnMouseMove(nFlags, point); } void CTag3Dlg::OnLButtonDown(UINT nFlags, CPoint point) { m_iPrevX = point.x; m_iPrevY = point.y; CDialog::OnLButtonDown(nFlags, point); }
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
// Tag3Dlg.h : header file // #if !defined(AFX_TAG3DLG_H__54A791DC_D6C7_4106_8929_E8EBF57F4618__INCLUDED_) #define AFX_TAG3DLG_H__54A791DC_D6C7_4106_8929_E8EBF57F4618__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 ///////////////////////////////////////////////////////////////////////////// // CTag3Dlg dialog class CTag3Dlg : public CDialog { // Construction public: CTag3Dlg(CWnd* pParent = NULL); // standard constructor // Dialog Data //{{AFX_DATA(CTag3Dlg) enum { IDD = IDD_TAG3_DIALOG }; // NOTE: the ClassWizard will add data members here //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CTag3Dlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: HICON m_hIcon; // Generated message map functions //{{AFX_MSG(CTag3Dlg) virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnMouseMove(UINT nFlags, CPoint point); afx_msg void OnLButtonDown(UINT nFlags, CPoint point); //}}AFX_MSG DECLARE_MESSAGE_MAP() private: int m_iPrevX(); int m_iPrevY(); }; //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_TAG3DLG_H__54A791DC_D6C7_4106_8929_E8EBF57F4618__INCLUDED_)
Das hier ist die "klassendefinition"
dort finde ich ich auch schon das int m_iPrevX(); usw.. aber ich krieg beim compilieren trotzdem fehler wenn ich diese variablen im code verwende...
-
14.04.05 19:45 #9darko m. Tutorials.de Gastzugang
Hm... tut mir leid..
Noch nie gesehen.. was für ein Projekt hasst du erstellt?
Ich arbeite fast nur mit API.
-
14.04.05 19:47 #10
- Registriert seit
- Apr 2005
- Beiträge
- 16
ich arbeite mit dem MFC App Wizard, der erstellt mir halt am anfang so nen schönen dialog, oder gleich die rohdaten für ein windows programm, is für die nicht api beherscher *g

und wegen dem fehler, das kommt immer beim compilieren:
rror C2664: 'class CPoint __thiscall CDC::MoveTo(int,int)' : cannot convert parameter 1 from 'int (void)' to 'int'
Conversion is a valid standard conversion, which can be performed implicitly or by use of static_cast, C-style cast or function-style cast
kann aber leider nix damit anfangen :-/
-
Hallo,
schreibe anstelle von:
das:
Zitat von SiS-Shadowman
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
void CTag3Dlg::OnMouseMove(UINT nFlags, CPoint point) { if ((nFlags & MK_LBUTTON) == MK_LBUTTON) { CClientDC dc(this); dc.MoveTo([COLOR=Red](int)[/COLOR]m_iPrevX, [COLOR=Red](int)[/COLOR]m_iPrevY); dc.LineTo(point.x, point.y); m_iPrevX = point.x; m_iPrevY = point.y; } CDialog::OnMouseMove(nFlags, point); }
-
14.04.05 21:56 #12
- Registriert seit
- Apr 2005
- Beiträge
- 16
Nun kommt diese fehlermeldung
:
E:\Programme\Microsoft Visual Studio\MyProjects\Tag3\Tag3Dlg.cpp(179) : error C2440: 'type cast' : cannot convert from 'int (__thiscall CTag3Dlg::*)(void)' to 'int'
Conversion is a valid standard conversion, which can be performed implicitly or by use of static_cast, C-style cast or function-style cast
E:\Programme\Microsoft Visual Studio\MyProjects\Tag3\Tag3Dlg.cpp(179) : error C2440: 'type cast' : cannot convert from 'int (__thiscall CTag3Dlg::*)(void)' to 'int'
Conversion is a valid standard conversion, which can be performed implicitly or by use of static_cast, C-style cast or function-style cast
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14
void CTag3Dlg::OnMouseMove(UINT nFlags, CPoint point) { if ((nFlags & MK_LBUTTON) == MK_LBUTTON) { CClientDC dc(this); dc.MoveTo((int)m_iPrevX, (int)m_iPrevY); dc.LineTo(point.x, point.y); m_iPrevX = point.x; m_iPrevY = point.y; } CDialog::OnMouseMove(nFlags, point); }
-
In Dev-cpp funktionierts so. War einen Versuch wert.
Versuchs mal mit einem static_cast Operator ( wird so in der Fehlerbeschreibung vorgeschlagen )
Code :1 2 3 4 5 6 7 8 9
MSDN: static_cast Operator static_cast < type-id > ( expression ) The static_cast operator converts expression to the type of type-id based solely on the types present in the expression. No run-time type check is made to ensure the safety of the conversion. The static_cast operator can be used for operations such as converting a pointer to a base class to a pointer to a derived class. Such conversions are not always safe.
static_cast<int>(variable)Geändert von Flegmon (14.04.05 um 22:05 Uhr)
-
14.04.05 22:00 #14
- Registriert seit
- Apr 2005
- Beiträge
- 16
jo, trotzdem danke für den versuch
-
Bin mir nicht sicher. Es müsste dann so aussehen :
Zitat von SiS-Shadowman
Code :1
dc.MoveTo(static_cast<int>(m_iPrevX),static_cast<int>(m_iPrevY));
Ähnliche Themen
-
Problem mit Deklaration von Variablen
Von Samson22k im Forum C/C++Antworten: 12Letzter Beitrag: 24.10.09, 19:58 -
Variablen Deklaration...
Von SonMiko im Forum Flash PlattformAntworten: 1Letzter Beitrag: 23.03.06, 17:09 -
Deklaration von variablen
Von SiS-Shadowman im Forum VisualStudio & MFCAntworten: 9Letzter Beitrag: 14.04.05, 23:45 -
Externe Variablen Deklaration
Von Matthias_J im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 21.02.05, 08:39 -
Variablen deklaration.
Von EM-Autotechnik im Forum PHPAntworten: 2Letzter Beitrag: 08.09.03, 20:23





Zitieren
Login





