Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »
реклама
http://linuxgid.ru/ - полезный ресурс об операционной системе Линукс.

Почтовая рассылка

Подписчиков: 11727
Последний выпуск: 19.06.2015

С C++ Builder на C# "Hello World!"

© Pavel www.buildercpp.net.ru

Ну вот наконец немного руки добрались до C#.

Так как у нас тут большинство пишет под C++ Builder IDE, я приведу два исходных кода, для лёгкости понимания. Сначала на си под билде потом на си шарп под VS.NET

Пример будет традиционным Hello World.

Код:

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShowMessage("Hello World!");
}
//---------------------------------------------------------------------------

Теперь си шарп.

Код:

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace WindowsApplication1
{
   public class Form1 : System.Windows.Forms.Form
   {
      private System.Windows.Forms.Button button1;
      private System.ComponentModel.Container components = null;

      public Form1()
      {
         InitializeComponent();

      }

      protected override void Dispose( bool disposing )
      {
         if( disposing )
         {
            if (components != null) 
            {
               components.Dispose();
            }
         }
         base.Dispose( disposing );
      }

      private void InitializeComponent()
      {
         this.button1 = new System.Windows.Forms.Button();
         this.SuspendLayout();

         this.button1.Location = new System.Drawing.Point(64, 216);
         this.button1.Name = "button1";
         this.button1.Size = new System.Drawing.Size(160, 24);
         this.button1.TabIndex = 0;
         this.button1.Text = "button1";
         this.button1.Click += new System.EventHandler(this.button1_Click);

         this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
         this.ClientSize = new System.Drawing.Size(292, 273);
         this.Controls.Add(this.button1);
         this.Name = "Form1";
         this.Text = "Form1";
         this.ResumeLayout(false);

      }

      static void Main() 
      {
         Application.Run(new Form1());
      }

      private void button1_Click(object sender, System.EventArgs e)
      {
         MessageBox.Show("Hello World!");
      }
   }
}

Код на си шарп кажется больше, но это за счёт создания кнопки в нём.

Этот код VS генерирует автоматически при перетаскивании кнопки в проект. Поэтому он всегда под рукой и его всегда можно подправить.

И ещё не забывайте что отсутствуют всякие описатели типа unit1.h в си шарп класс находится в одном файле.

Ну вот такое маленькое вступление, для тех кто ещё не видел. Вопросы пишите в коменты.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
83K
13 мая 2012 года
alabam4ik
0 / / 13.05.2012
Мне нравитсяМне не нравится
13 мая 2012, 23:39:49
using System;
using System.Collections.Generic;
using System.Text;

namespace hello
{
class Program
{
public static int Main()
{
Console.WriteLine("Hello word");
Console.ReadLine();
return 0;

}
}
}
2.
17K
10 января 2007 года
Виктор А.
36 / / 10.01.2007
Мне нравитсяМне не нравится
15 января 2007, 20:56:12
Конечно можно, просто надо как минимум прочесть (по ходу стучания по клаве) хотябы Г.Шилд "C# Учебный курс". Что не говори, а C# - чисто ООП - конструктор для формирования безнес задач на основе готовых Windows Components... Да, что-то добавлено нового. И может, так и надо реализовывать подход на сегодняшний день - коль живёте в MS Windows... А для души - UNIX. Я, если честно, не так давно (не давно) ради интереса решил написать промышленный проект на С# - трижды переписывал, пока не вехал, что это ООП среда, со всеми вытекающими последствимя, и следовательно, даже какой-то кайф поимел, от того, что всётаки теорию проектирования можно оказывается приминить на деле. Не могу сказать, на сколько устойчово это в промышленной среде ("24х7" - распределенная), посмотрим. Но унас реализуется проект (WEB решение, С#) уровня объединения - а это уже серьёзно.
А BUILDER - и колется и приходится, если что-то надо слепить за пару дней. Но бесит, столко хлама тащит за собой. Всю иерархию компонета... Как-то криво,и тяжко он ворочается, хотя, дело рук.. Delphi - разумный компромис.
3.
21K
22 августа 2006 года
VinS
0 / / 22.08.2006
Мне нравитсяМне не нравится
4 сентября 2006, 19:44:53
мда по C# тут совсем глухо, ничего действительно полезного...
4.
7
09 августа 2005 года
hardcase
4.5K / / 09.08.2005
+1 / -0
Мне нравитсяМне не нравится
1 августа 2006, 16:45:23
Статейки по C# откровенно слаабые тут.
И старые.

Аффтары какую-то хренотень пишут....

Вон уж скоро C#3.0 выйдет со встроенными сиквел предложениями.
5.
670
13 марта 2006 года
Ap0k
360 / / 13.03.2006
Мне нравитсяМне не нравится
27 июня 2006, 12:06:33
Автор - явный поклонник С++ Builder... Но где же описание самой формы? Ах... его сгенеировала IDE, но студия справляется с этой задачей отнюдь не хуже + нет DFM файлов.
[CODE]
using System;
using System.Windows.Forms;

static class Program
{
static void Main()
{
Form frmMain = new Form();
Button btnMessage = new Button();
btnMessage.Text = "Message";
btnMessage.Click += new EventHandler(btnMessage_Click);
frmMain.Controls.Add(btnMessage);
Application.Run(frmMain);
}

static void btnMessage_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello world");
}
}
[/CODE]
6.
Аноним
Мне нравитсяМне не нравится
8 января 2006, 20:06:42
А что, нельзя было на C# просто в тело main вставить
MessageBox.Show("Hello World!"); ????
Без всяких форм. Кстати, текст формы автогенерируемый - ничего писать не надо, просто вы его можете увидеть...
А вот TForm1 из первого примера почему то не приведен.

В общем мне кажется сравнение не корректное.
7.
Аноним
Мне нравитсяМне не нравится
14 декабря 2005, 12:52:17
На Java пример будет выглядеть так:

import java.awt.FlowLayout;
import java.awt.Dimension;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

/** Hellow world */
public class HelloWorld extends JFrame {

public HelloWorld() {
super("Form1");
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel contentPanel = (JPanel) getContentPane();
contentPanel.setLayout(new FlowLayout());
setSize(new Dimension(800, 600));

JButton button = new JButton("button1");
contentPanel.add(button);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "Hello world!",
"Сообщение", JOptionPane.INFORMATION_MESSAGE);
}
});
}

public static void main(String[] args) {
HelloWorld helloWorld = new HelloWorld();
helloWorld.setVisible(true);
}
}
8.
Аноним
Мне нравитсяМне не нравится
14 декабря 2005, 12:42:37
re:Можно ли научиться программировать на С# не зная языков программирования, если ДА то где и как???

Можно.
Карли Ватсон, "С#", изд. Лори, 860 стр. на русском
9.
Аноним
Мне нравитсяМне не нравится
15 июля 2005, 15:08:20
Код на сишарпе можно сделать и покороче сибилдеровского, у тебя очень много лишнего.
И не забывайте там ещё другие файлы всякие используются :)
10.
Аноним
Мне нравитсяМне не нравится
18 мая 2005, 08:47:44
<blockquote><small>Цитата:<hr size=1>
И ещё не забывайте что отсутствуют всякие описатели типа unit1.h в си шарп класс находится в одном файле.[/quote]
- а теперь задумайтесь о сомнительном удобстве "описания класса, в т.ч. и членункций" в одном файле, если даже для "Hello World" о такой "маленький" ;)
11.
Аноним
Мне нравитсяМне не нравится
18 апреля 2005, 12:48:52
Можно научится програмированиеси шарп не зная языков програмирование.Скажите какой web и каким методами.
12.
Аноним
Мне нравитсяМне не нравится
21 марта 2005, 11:37:24
У меня вопрос: Можно ли научиться программировать на С# не зная языков программирования, если ДА то где и как (какая литература или web@..) ???
13.
Аноним
Мне нравитсяМне не нравится
20 февраля 2005, 09:06:04
На CVI все равно короче хоть и там есть самогенерирующие кнопки.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог