Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/27: Рейтинг темы: голосов - 27, средняя оценка - 4.81
2 / 2 / 0
Регистрация: 28.08.2010
Сообщений: 39

создание файла в Visual Studio 2008

28.08.2010, 11:45. Показов 4951. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Взял из справки msdn
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
HANDLE hFile = CreateFile(_T("CFile_File.dat"),
   GENERIC_WRITE, FILE_SHARE_READ,
   NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
 
if (hFile == INVALID_HANDLE_VALUE)
{
   AfxMessageBox(_T("Couldn't create the file!"));
}
else
{
   // Attach a CFile object to the handle we have.
   CFile myFile(hFile);
 
   static const TCHAR sz[] = _T("I love CFile!");
 
   // write string
   myFile.Write(sz, sizeof(sz));
 
   // We can call Close() explicitly, but the destructor would have
   // also closed the file for us. Note that there's no need to
   // call the CloseHandle() on the handle returned by the API because
   // MFC will close it for us.
   myFile.Close();
Пишу "Приложение Windows Forms" в Visual Studio 2008 на C++.
Вышеуказаный код не фурычит - не узнаюццо практически все "словечки" - HANDLE, CFile, NULL, ну и так дальше.

И еще вопрос. В заголовке пространства имен (моей формы) приаттачено
C++ Скопировано
1
2
3
4
5
6
    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
Но в функции (к примеру)
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
private: System::Void Exit_Validate(void)
        {
            if (MessageBox::Show(
                "Закрыть программу?",
                "Вот вопрос", 
                MessageBoxButtons::YesNo, 
                MessageBoxIcon::Question)== 
                System::Windows::Forms::DialogResult::Yes) // <- вот тут !!!
                Application::Exit();
        }
нужно указывать полное имя, так
C++ Скопировано
1
 :: DialogResult::Yes
,
как сказано в MSDN, не катит
Чувствую, что надо что-то кудато присобачить, чтоб начало узнавать, но что и куда - не знаю... Подскажите, а?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.08.2010, 11:45
Ответы с готовыми решениями:

создание exe файла на visual studio 2008
я создал проект на C# состоящий из нескольких форм WindowsFormsApplication, как теперь мне из этого сделать файл exe? если можно объясните...

Visual Studio 2008 создание самомтоятельного exe файла
Добрый день. Может ли кто-нибудь пошагово объяснить как из кучи совершенно ненужных пользователям файлов проекта и другой...

Создание БД в Visual Studio 2008
Не подскажите какую нибудь книгу по созданию БД в Visual Studio 2008, а то что то там я data wizard form не нахожу и в data toolbox только...

18
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
28.08.2010, 11:57
Код файла целиком выложи.
0
2 / 2 / 0
Регистрация: 28.08.2010
Сообщений: 39
28.08.2010, 11:59  [ТС]
C++ Скопировано
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
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
#pragma once
 
 
namespace Smart {
 
    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
//  using namespace 
 
    /// <summary>
    /// Сводка для Form1
    ///
    /// Внимание! При изменении имени этого класса необходимо также изменить
    ///          свойство имени файла ресурсов ("Resource File Name") для средства компиляции управляемого ресурса,
    ///          связанного со всеми файлами с расширением .resx, от которых зависит данный класс. В противном случае,
    ///          конструкторы не смогут правильно работать с локализованными
    ///          ресурсами, сопоставленными данной форме.
    /// </summary>
    public ref class Form1 : public System::Windows::Forms::Form
    {
    public:
        Form1(void)
        {
            InitializeComponent();
            //
            //TODO: добавьте код конструктора
            //
        }
 
    protected:
        /// <summary>
        /// Освободить все используемые ресурсы.
        /// </summary>
        ~Form1()
        {
            if (components)
            {
                delete components;
            }
        }
    private: System::Windows::Forms::MenuStrip^  MainMenu;
    protected: 
 
    private: System::Windows::Forms::StatusStrip^  MainStatus;
    protected: 
 
    private: System::Windows::Forms::ToolStripMenuItem^  менюToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  файлToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  выходToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  настройкаToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  параметрыToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  статистикаToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  журналToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  справкаToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  оПрограммеToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  авторToolStripMenuItem;
    private: System::Windows::Forms::ToolStripProgressBar^  toolStripProgressBar1;
    private: System::Windows::Forms::ToolStripSplitButton^  toolStripSplitButton1;
    private: System::Windows::Forms::ToolStripStatusLabel^  toolStripStatusLabel1;
    private: System::Windows::Forms::ToolStripStatusLabel^  toolStripStatusLabel2;
    private: System::Windows::Forms::ToolStripStatusLabel^  toolStripStatusLabel3;
    private: System::Windows::Forms::ToolStripMenuItem^  тестToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  отсоеденитьToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  соединитсяToolStripMenuItem;
    private: System::Windows::Forms::HelpProvider^  Help;
 
    private: System::Windows::Forms::Timer^  SysTimer;
    private: System::Windows::Forms::ToolTip^  MainToolTip;
    private: System::Windows::Forms::NotifyIcon^  NotifyIcon;
    private: System::Windows::Forms::Button^  MainExitButon;
    private: System::Windows::Forms::TextBox^  TextWindow;
 
    private: System::Windows::Forms::ComboBox^  ComboBox;
    private: System::Windows::Forms::Button^  button1;
    private: System::Windows::Forms::Button^  button2;
    private: System::ComponentModel::IContainer^  components;
    protected: 
    private:
        /// <summary>
        /// Требуется переменная конструктора.
        /// </summary>
 
 
#pragma region Windows Form Designer generated code
        /// <summary>
        /// Обязательный метод для поддержки конструктора - не изменяйте
        /// содержимое данного метода при помощи редактора кода.
        /// </summary>
        void InitializeComponent(void)
        {
            this->components = (gcnew System::ComponentModel::Container());
            System::ComponentModel::ComponentResourceManager^  resources = (gcnew System::ComponentModel::ComponentResourceManager(Form1::typeid));
            this->MainMenu = (gcnew System::Windows::Forms::MenuStrip());
            this->менюToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->файлToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->выходToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->настройкаToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->параметрыToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->статистикаToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->журналToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->справкаToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->оПрограммеToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->авторToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->MainStatus = (gcnew System::Windows::Forms::StatusStrip());
            this->toolStripProgressBar1 = (gcnew System::Windows::Forms::ToolStripProgressBar());
            this->toolStripSplitButton1 = (gcnew System::Windows::Forms::ToolStripSplitButton());
            this->тестToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->отсоеденитьToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->соединитсяToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->toolStripStatusLabel1 = (gcnew System::Windows::Forms::ToolStripStatusLabel());
            this->toolStripStatusLabel2 = (gcnew System::Windows::Forms::ToolStripStatusLabel());
            this->toolStripStatusLabel3 = (gcnew System::Windows::Forms::ToolStripStatusLabel());
            this->Help = (gcnew System::Windows::Forms::HelpProvider());
            this->SysTimer = (gcnew System::Windows::Forms::Timer(this->components));
            this->MainToolTip = (gcnew System::Windows::Forms::ToolTip(this->components));
            this->NotifyIcon = (gcnew System::Windows::Forms::NotifyIcon(this->components));
            this->MainExitButon = (gcnew System::Windows::Forms::Button());
            this->TextWindow = (gcnew System::Windows::Forms::TextBox());
            this->ComboBox = (gcnew System::Windows::Forms::ComboBox());
            this->button1 = (gcnew System::Windows::Forms::Button());
            this->button2 = (gcnew System::Windows::Forms::Button());
            this->MainMenu->SuspendLayout();
            this->MainStatus->SuspendLayout();
            this->SuspendLayout();
            // 
            // MainMenu
            // 
            this->MainMenu->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^  >(3) {this->менюToolStripMenuItem, 
                this->настройкаToolStripMenuItem, this->справкаToolStripMenuItem});
            resources->ApplyResources(this->MainMenu, L"MainMenu");
            this->MainMenu->Name = L"MainMenu";
            this->MainMenu->ItemClicked += gcnew System::Windows::Forms::ToolStripItemClickedEventHandler(this, &Form1::menuStrip1_ItemClicked);
            // 
            // менюToolStripMenuItem
            // 
            this->менюToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^  >(2) {this->файлToolStripMenuItem, 
                this->выходToolStripMenuItem});
            this->менюToolStripMenuItem->Name = L"менюToolStripMenuItem";
            resources->ApplyResources(this->менюToolStripMenuItem, L"менюToolStripMenuItem");
            // 
            // файлToolStripMenuItem
            // 
            this->файлToolStripMenuItem->Name = L"файлToolStripMenuItem";
            resources->ApplyResources(this->файлToolStripMenuItem, L"файлToolStripMenuItem");
            // 
            // выходToolStripMenuItem
            // 
            this->выходToolStripMenuItem->Name = L"выходToolStripMenuItem";
            resources->ApplyResources(this->выходToolStripMenuItem, L"выходToolStripMenuItem");
            this->выходToolStripMenuItem->Click += gcnew System::EventHandler(this, &Form1::выходToolStripMenuItem_Click);
            // 
            // настройкаToolStripMenuItem
            // 
            this->настройкаToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^  >(3) {this->параметрыToolStripMenuItem, 
                this->статистикаToolStripMenuItem, this->журналToolStripMenuItem});
            this->настройкаToolStripMenuItem->Name = L"настройкаToolStripMenuItem";
            resources->ApplyResources(this->настройкаToolStripMenuItem, L"настройкаToolStripMenuItem");
            // 
            // параметрыToolStripMenuItem
            // 
            this->параметрыToolStripMenuItem->Name = L"параметрыToolStripMenuItem";
            resources->ApplyResources(this->параметрыToolStripMenuItem, L"параметрыToolStripMenuItem");
            // 
            // статистикаToolStripMenuItem
            // 
            this->статистикаToolStripMenuItem->Name = L"статистикаToolStripMenuItem";
            resources->ApplyResources(this->статистикаToolStripMenuItem, L"статистикаToolStripMenuItem");
            // 
            // журналToolStripMenuItem
            // 
            this->журналToolStripMenuItem->Name = L"журналToolStripMenuItem";
            resources->ApplyResources(this->журналToolStripMenuItem, L"журналToolStripMenuItem");
            // 
            // справкаToolStripMenuItem
            // 
            this->справкаToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^  >(2) {this->оПрограммеToolStripMenuItem, 
                this->авторToolStripMenuItem});
            this->справкаToolStripMenuItem->Name = L"справкаToolStripMenuItem";
            resources->ApplyResources(this->справкаToolStripMenuItem, L"справкаToolStripMenuItem");
            // 
            // оПрограммеToolStripMenuItem
            // 
            this->оПрограммеToolStripMenuItem->Name = L"оПрограммеToolStripMenuItem";
            resources->ApplyResources(this->оПрограммеToolStripMenuItem, L"оПрограммеToolStripMenuItem");
            // 
            // авторToolStripMenuItem
            // 
            this->авторToolStripMenuItem->Name = L"авторToolStripMenuItem";
            resources->ApplyResources(this->авторToolStripMenuItem, L"авторToolStripMenuItem");
            // 
            // MainStatus
            // 
            this->MainStatus->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^  >(5) {this->toolStripProgressBar1, 
                this->toolStripSplitButton1, this->toolStripStatusLabel1, this->toolStripStatusLabel2, this->toolStripStatusLabel3});
            resources->ApplyResources(this->MainStatus, L"MainStatus");
            this->MainStatus->Name = L"MainStatus";
            this->MainStatus->RenderMode = System::Windows::Forms::ToolStripRenderMode::ManagerRenderMode;
            // 
            // toolStripProgressBar1
            // 
            this->toolStripProgressBar1->Name = L"toolStripProgressBar1";
            resources->ApplyResources(this->toolStripProgressBar1, L"toolStripProgressBar1");
            // 
            // toolStripSplitButton1
            // 
            this->toolStripSplitButton1->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image;
            this->toolStripSplitButton1->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^  >(3) {this->тестToolStripMenuItem, 
                this->отсоеденитьToolStripMenuItem, this->соединитсяToolStripMenuItem});
            resources->ApplyResources(this->toolStripSplitButton1, L"toolStripSplitButton1");
            this->toolStripSplitButton1->Name = L"toolStripSplitButton1";
            // 
            // тестToolStripMenuItem
            // 
            this->тестToolStripMenuItem->Name = L"тестToolStripMenuItem";
            resources->ApplyResources(this->тестToolStripMenuItem, L"тестToolStripMenuItem");
            // 
            // отсоеденитьToolStripMenuItem
            // 
            this->отсоеденитьToolStripMenuItem->Name = L"отсоеденитьToolStripMenuItem";
            resources->ApplyResources(this->отсоеденитьToolStripMenuItem, L"отсоеденитьToolStripMenuItem");
            // 
            // соединитсяToolStripMenuItem
            // 
            this->соединитсяToolStripMenuItem->Name = L"соединитсяToolStripMenuItem";
            resources->ApplyResources(this->соединитсяToolStripMenuItem, L"соединитсяToolStripMenuItem");
            // 
            // toolStripStatusLabel1
            // 
            this->toolStripStatusLabel1->Name = L"toolStripStatusLabel1";
            resources->ApplyResources(this->toolStripStatusLabel1, L"toolStripStatusLabel1");
            this->toolStripStatusLabel1->Click += gcnew System::EventHandler(this, &Form1::toolStripStatusLabel1_Click);
            // 
            // toolStripStatusLabel2
            // 
            this->toolStripStatusLabel2->Name = L"toolStripStatusLabel2";
            resources->ApplyResources(this->toolStripStatusLabel2, L"toolStripStatusLabel2");
            // 
            // toolStripStatusLabel3
            // 
            this->toolStripStatusLabel3->Name = L"toolStripStatusLabel3";
            resources->ApplyResources(this->toolStripStatusLabel3, L"toolStripStatusLabel3");
            // 
            // SysTimer
            // 
            this->SysTimer->Tick += gcnew System::EventHandler(this, &Form1::timer1_Tick);
            // 
            // MainToolTip
            // 
            this->MainToolTip->ToolTipTitle = L"Tips";
            this->MainToolTip->Popup += gcnew System::Windows::Forms::PopupEventHandler(this, &Form1::MainToolTip_Popup);
            // 
            // NotifyIcon
            // 
            this->NotifyIcon->BalloonTipIcon = System::Windows::Forms::ToolTipIcon::Info;
            resources->ApplyResources(this->NotifyIcon, L"NotifyIcon");
            this->NotifyIcon->Tag = L"123";
            // 
            // MainExitButon
            // 
            resources->ApplyResources(this->MainExitButon, L"MainExitButon");
            this->MainExitButon->Name = L"MainExitButon";
            this->MainExitButon->UseVisualStyleBackColor = true;
            this->MainExitButon->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
            // 
            // TextWindow
            // 
            resources->ApplyResources(this->TextWindow, L"TextWindow");
            this->TextWindow->Name = L"TextWindow";
            // 
            // ComboBox
            // 
            this->ComboBox->FormattingEnabled = true;
            resources->ApplyResources(this->ComboBox, L"ComboBox");
            this->ComboBox->Items->AddRange(gcnew cli::array< System::Object^  >(2) {resources->GetString(L"ComboBox.Items"), resources->GetString(L"ComboBox.Items1")});
            this->ComboBox->Name = L"ComboBox";
            // 
            // button1
            // 
            resources->ApplyResources(this->button1, L"button1");
            this->button1->Name = L"button1";
            this->button1->UseVisualStyleBackColor = true;
            this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click_1);
            // 
            // button2
            // 
            resources->ApplyResources(this->button2, L"button2");
            this->button2->Name = L"button2";
            this->button2->UseVisualStyleBackColor = true;
            this->button2->Click += gcnew System::EventHandler(this, &Form1::button2_Click);
            // 
            // Form1
            // 
            resources->ApplyResources(this, L"$this");
            this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
            this->Controls->Add(this->button2);
            this->Controls->Add(this->button1);
            this->Controls->Add(this->ComboBox);
            this->Controls->Add(this->TextWindow);
            this->Controls->Add(this->MainExitButon);
            this->Controls->Add(this->MainStatus);
            this->Controls->Add(this->MainMenu);
            this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::Fixed3D;
            this->MaximizeBox = false;
            this->Name = L"Form1";
            this->MainMenu->ResumeLayout(false);
            this->MainMenu->PerformLayout();
            this->MainStatus->ResumeLayout(false);
            this->MainStatus->PerformLayout();
            this->ResumeLayout(false);
            this->PerformLayout();
 
        }
#pragma endregion
    private: System::Void menuStrip1_ItemClicked(System::Object^  sender, System::Windows::Forms::ToolStripItemClickedEventArgs^  e) {
             }
    private: System::Void toolStripStatusLabel1_Click(System::Object^  sender, System::EventArgs^  e) {
             }
private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e) {
         }
private: System::Void MainToolTip_Popup(System::Object^  sender, System::Windows::Forms::PopupEventArgs^  e) {
         }
private: System::Void выходToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) 
         {
            Exit_Validate();
         }
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
         {
            Exit_Validate();
         }
private: System::Void button1_Click_1(System::Object^  sender, System::EventArgs^  e) 
         {
         }
 
private: System::Void Exit_Validate(void)
        {
            if (MessageBox::Show(
                "Закрыть программу?",
                "Вот вопрос", 
                MessageBoxButtons::YesNo, 
                MessageBoxIcon::Question)== 
                System::Windows::Forms::DialogResult::Yes)
                Application::Exit();
        }
 
private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) 
         {
             HANDLE hFile = CreateFile(_T("CFile_File.dat"),
                GENERIC_WRITE, FILE_SHARE_READ,
                NULL, CREATE_ALWAYS, 
                FILE_ATTRIBUTE_NORMAL, NULL);
            if (hFile == INVALID_HANDLE_VALUE)
            {
                AfxMessageBox(_T("Couldn't create the file!"));
            }
            else
            {
                CFile myFile(hFile);
                static const TCHAR sz[] = _T("I love CFile!");
                myFile.Write(sz, sizeof(sz));
                myFile.Close();
         }
};
}
0
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
28.08.2010, 12:02
Я с managed C++ никогда не работал, но предположу, что
у тебя нет ни одного инклуда, откуда система узнает, что такое HANDLE тот же ?
Precompiled header (stdafx.h), как я понимаю, здесь не используется.
0
2 / 2 / 0
Регистрация: 28.08.2010
Сообщений: 39
28.08.2010, 12:06  [ТС]
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include "Form1.h"
 
using namespace Smart;
 
[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
    // Включение визуальных эффектов Windows XP до создания каких-либо элементов управления
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false); 
 
    // Создание главного окна и его запуск
    Application::Run(gcnew Form1());
    return 0;
}
это главный файл. Листинг в предыдущем посте - Form1.h полностью.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12841 / 7582 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
28.08.2010, 12:29
alberio, попробуйте в Form1.h добавить
C++ Скопировано
1
#include "stdafx.h"
или
C++ Скопировано
1
#include <windows.h>
если там ни того, ни другого...
И кстати, Form1.h должен бы начинаться чем-то вроде
C++ Скопировано
1
2
#ifndef _FORM1_H_
#define _FORM1_H_ 1
и заканчиваться
C++ Скопировано
1
#endif // _FORM1_H_
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
28.08.2010, 12:30
alberio, а вы понимаете что вы делаете? Вы все смешали. Из MSDN выдрали код MFC, создали проект CLR, рассматриваете программирование в .NET через консоль.

Цитата Сообщение от alberio Посмотреть сообщение
это главный файл
Это не главный файл, это тот файл, который вам трогать не надо, забудьте про его существование. Свой код вам надо писать как раз в классе формы. И файл создавать средствами .NET
0
2 / 2 / 0
Регистрация: 28.08.2010
Сообщений: 39
28.08.2010, 12:33  [ТС]
Цитата Сообщение от easybudda Посмотреть сообщение
alberio, попробуйте в Form1.h добавить
C++ Скопировано
1
#include "stdafx.h"
или
C++ Скопировано
1
#include <windows.h>
если там ни того, ни другого...
И кстати, Form1.h должен бы начинаться чем-то вроде
C++ Скопировано
1
2
#ifndef _FORM1_H_
#define _FORM1_H_ 1
и заканчиваться
C++ Скопировано
1
#endif // _FORM1_H_
как я понимаю для этого там
C++ Скопировано
1
#pragma once
Свой код вам надо писать как раз в классе формы.
Ну... это я и делаю.
Вы все смешали. Из MSDN выдрали код MFC, создали проект CLR, рассматриваете программирование в .NET через консоль.
И файл создавать средствами .NET
А можно поподробнее?
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
28.08.2010, 12:43
http://msdn.microsoft.com/en-u... S.80).aspx выбираете язык C++ и делаете
1
2 / 2 / 0
Регистрация: 28.08.2010
Сообщений: 39
28.08.2010, 13:06  [ТС]
Должно работать же... А нет
C++ Скопировано
1
System::IO::File.Create("c:\1.txt");
выдает опшыпку...
error C2143: синтаксическая ошибка: отсутствие ";" перед "."
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
28.08.2010, 13:48
alberio, читали?
C++ Скопировано
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
using namespace System;
using namespace System::IO;
using namespace System::Text;
 
int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   
   // Delete the file if it exists.
   if ( File::Exists( path ) )
   {
      File::Delete( path );
   }
 
   // Create the file.
   FileStream^ fs = File::Create( path );
   try
   {
      array<Byte>^info = (gcnew UTF8Encoding( true ))->GetBytes( "This is some text in the file." );
      
      // Add some information to the file.
      fs->Write( info, 0, info->Length );
   }
   finally
   {
      if ( fs )
            delete (IDisposable^)fs;
   }
 
   // Open the stream and read it back.
   StreamReader^ sr = File::OpenText( path );
   try
   {
      String^ s = "";
      while ( s = sr->ReadLine() )
      {
         Console::WriteLine( s );
      }
   }
   finally
   {
      if ( sr )
            delete (IDisposable^)sr;
   }
}
Обратите внимание на 16 строку
1
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
28.08.2010, 15:11
\ -> \\
0
2 / 2 / 0
Регистрация: 28.08.2010
Сообщений: 39
28.08.2010, 16:03  [ТС]
Заработало, спасибо
А как на счет моего второго вопроса?
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
28.08.2010, 17:39
Если в этом файле прописано
C++ Скопировано
1
using namespace System::Windows::Forms;
то писать так
C++ Скопировано
1
System::Windows::Forms::DialogResult::Yes
не имеет смысла, можно просто
C++ Скопировано
1
DialogResult::Yes
0
2 / 2 / 0
Регистрация: 28.08.2010
Сообщений: 39
28.08.2010, 18:05  [ТС]
Ну вот и я так подумал.
Но на
C++ Скопировано
1
System::Windows::Forms::DialogResult::Yes
Компилятор пишет
Yes: не является членом "System::Windows::Forms::Form::DialogRes ult
какого черта он ищет в каком-то неведомом пространстве "Form" ?!
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
28.08.2010, 19:30
Вот так надо
C++ Скопировано
1
2
MessageBox::Show("Закрыть программу?",* "Вот вопрос", 
    MessageBoxButtons::YesNo, MessageBoxIcon::Question ) == DialogResult::Yes)
а не
C++ Скопировано
1
::DialogResult::Yes
0
2 / 2 / 0
Регистрация: 28.08.2010
Сообщений: 39
28.08.2010, 19:43  [ТС]
Та так и делаю
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
28.08.2010, 19:57
alberio, судя по всему он считает его как результат формы, а не сообщения, но поскольку у формы не установлено такое свойство, то и бросается такая ошибка.
Для того чтобы перекрыть избежать ее - необходимо явно указать, что мы берем результат сообщения, а не формы
1
2 / 2 / 0
Регистрация: 28.08.2010
Сообщений: 39
28.08.2010, 20:09  [ТС]
Ясненько, спасибо.
Не сочтите за наглость, прошу помощи в clr:oldSyntax
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.08.2010, 20:09
Помогаю со студенческими работами здесь

Создание БД в Visual Studio 2008
У меня установлен Visual Studio 2008. Подскажите как создать БД с его помощью (мне нужна просто локальная БД для выполнения курсовой). И...

Создание форм в Visual Studio 2008 С++
Подскажите, пожалуйста, где можно почитать о создании формы (окна с кнопочками, меню и тд) в Visual C++? Среда разработки - Visual Studio...

Создание мастера в Visual Studio 2008
Доброго времени суток всем! У меня приложение работает с базой. Нужно написать механизм вставки новой строки, хочу все это сделать в виде...

Создание текстового редактова на Basic в Visual Studio 2008
Может у кого-то есть написанный на Basic в Visual Studio 2008 простенький текстовый редактор???? Помогите пожалуйста, курсовая...

Visual Studio 2008 параметры файла
Вот создал программу для создания тестов на Visual Studio 2008, формат файла *.tsb. Вот хотелось добавить в файл данные (версия, описание,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Агрегаты и сущности в DDD микросервисах
Javaican 10.04.2025
Разработка современных программных систем часто приводит на распутье: монолит или микросервисы? Даже при выборе микросервисной архитектуры многие команды сталкиваются с проблемой правильного. . .
Многопоточность в C#: Task и параллельное программирование
UnmanagedCoder 10.04.2025
Современные процессоры уже давно перестали наращивать тактовую частоту в пользу увеличения количества ядер. Это создало интересную ситуацию: разработчики, привыкшие к последовательному. . .
Линейное решение нелинейной задачи будет применено как метод обработки данных из double buffering. Формулы от LM конечно с ошибками.
Hrethgir 10.04.2025
В продолжение Эта LM дала ответ похожий на нормальный. В комментриях мой комментарий - похоже она ошиблась с выведением итоговой формулы, но остальные проверю. Assistant qwen2. 5-14b-instruct . . . .
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
Линейное решение не линейной задачи (емкость вычислений в сравнении с традиционными решениями пока не определена).
Hrethgir 10.04.2025
В рамках предстоящих вычислений пришлось (да, я тоже знаю про корень числа, и про степеня, и прочие теоремы, но. . . ) найти способ нахождения отношения двух углов. . . .
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
Vue SFC компонент на PHP с Fusion
Jason-Webb 09.04.2025
PHP на сервере и JavaScript на клиенте — классическое сочетание, которое, несмотря на свою эффективность, создает определенный когнитивный диссонанс при разработке. В этом контексте появляются. . .
TypeScript vs JavaScript: Отличия и когда что использовать
Reangularity 09.04.2025
JavaScript появился в 1995 году как творение Брендана Эйха и быстро стал основой интерактивности в вебе. За свою историю он прошел путь от простого языка для манипуляций с DOM до полноценной. . .
Подключение Kafka к Elasticsearch
Codd 09.04.2025
Apache Kafka и Elasticsearch — две мощные технологии, которые при совместном использовании создают эффективную платформу для обработки и анализа данных в реальном времени. Kafka, выступая в роли. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер