Preskoči na sadržaj
Ista raja. Nova runda.
GAMERZ.ba — REBORN
Diskusija

[TUT] C# Tutorial za pocetnike

263 pregleda · 14 odgovora · otvorena 08.12.2008. u 14:46

C# Tutorial za pocetnkie


Na pocetku instalirajte .NET framework i vrijeme je za pocetak.



1.Prvo otvorite DOS(ako ne znate,to je u startu>run i kucajte cmd).Krenite u praznom dir-u.Nazovite ga
"C:\learncs".Kucajte

> md C:\learncs
> cd C:\learncs
> C:


Sada napravite vas prvi C# program,kucajte "notepad hello.cs"
Iza toga kucajte

using System;

public class Hello
{
public static void Main()
{
Console.WriteLine("Hello C# World :-)";
}
}


Ovo vam omogucava da pisete komande u liniji 7 umjesto u sistemu.Veoma korisna precica kada imate puno
klasa definisanih u sistemu.
Sacuvajte file.
Sada bi trebali kompajlovati.Udjite u Doss Shell i kucajte:
csc /nologo /out:hello.exe hello.cs

Ako ima nekih problema ispravite ih,kompajlujte ih opet,i sada imate hello.exe program...


2.Bravo,uradili ste dobar posao,a sada jos teze.Sada cemo kreirati neki objekat.

> md ..\learncs2
> cd ..\learncs2
> notepad hello.cs

i onda kucajte

using System;

public class Echo
{
string myString;

public Echo(string aString)
{
myString = aString;
}

public void Tell()
{
Console.WriteLine(myString);
}
}

public class Hello
{
public static void Main()
{
Echo h = new Echo("Hello my 1st C# object !";
h.Tell();
}
}


Fino,25 linija koda!TO je program!Sacuvajte ga,kompajlujte i pokrenite.Sta se desilo?csc trazi Main().
Trebali bi da nadje jedan(samo jedan)i to ce biti pocetak vaseg programa.
U ovom tutori pravimo 2 klase:Echo i Hello.U Main() pravite Echo objekat sa rijeci new.
Idite na

Start menu-> Programs -> Microsoft .NET Framework SDK -> Documentation i trazite u search
public private protected


3.UU,fino ste naucili,sada mozemo koristiti vise fileova ili cak .dll ??
U ovom diru kreirajte 2 filea:

hello.cs

using System;

public class Hello
{
public static void Main()
{
HelloUtil.Echo h = new HelloUtil.Echo("Hello my 1st C# object !";
h.Tell();
}
}


i

echo.cs

using System;

namespace HelloUtil
{
public class Echo
{
string myString;

public Echo(string aString)
{
myString = aString;
}

public void Tell()
{
Console.WriteLine(myString);
}
}
}


Koristio sam "HelloUtil.Echo" zasto sto Echo i ime za HelloUtol.

Sada ga kompajlujte oba u jedan .exe sa

> csc /nologo /out:hello.exe *.cs



Sada idemo praviti DLL:

> csc /nologo /t:library /out:echo.dll echo.cs

to je to,dir ce potvrditi

Sada ga mozemo koristiti

> csc /out:hello.exe /r:echo.dll hello.cs

ako ste kucali hello program ce raditi normalno,a ako ste koristili echo.dll program ce pasti.

Mozete taj DLL staviti u global assembly cache(GAC),

sada:

1.napravite asembler kljuc,napravite ga jednom i koristite ga za sve verzije.A kreirate ga sa

sn -k myKeyName.snk

.snk fajl bi trebao biti u dir gdje ste izvrsili kompilaciju.

2.napravite jak assemler dodavajuci .cs fajl sa sljedeci dirom.


using System.Reflection;
using System.Runtime.CompilerServices;
[assembly: AssemblyTitle("My Lib Title"]
[assembly: AssemblyVersion("1.2.3.4"]
[assembly: AssemblyKeyFile("myKeyName.snk"]


Kako ga dodati u GAC??

> gacutil.exe /if myLib.dll



4.Bravo,sada vam treba C Kompajler,preporucujem MinGW,free,dobar.


Napravite 3 fajla

echo.c

#include <stdio.h>

#define DLLOBJECT __declspec(dllexport)

DLLOBJECT void writeln(char* s)
{
printf("%s\n", s);
}

echo.cs


using System;
using System.Runtime.InteropServices;

namespace HelloUtil
{
public class Echo
{
[DllImport("echo.native.dll", CallingConvention=CallingConvention.Cdecl)]
static extern void writeln(string s);

string myString;

public Echo(string aString)
{
myString = aString;
}

public void Tell()
{
writeln(myString);
}
}
}


i

hello.cs


using System;
using HelloUtil;

public class Hello
{
public static void Main()
{
Echo h = new Echo("Hello my 1st interop code !";
h.Tell();
}
}



hehe,sada imamo par novih stvari.
[DllImport(.. ........Atrubuti
Mozete dati "nadimak" svakom methodu/fieldu/classu a brojem atrubita.
Oni generiraju nove informacije nekome ko ih razumije.
DllImport razumije kompajler i on mu govori njegovu ulogu,odnosno sta treba raditi.


A sada idemo kompajlovati ovo:!

> csc /nologo /t:library /out:echo.dll echo.cs
> csc /nologo /out:hello.exe /r:echo.dll hello.cs
>
> rem "if the following line don't work, read bellow.."
> gcc -shared -o echo.native.dll echo.c
> strip echo.native.dll

zadnje dvije linije (gcc i strip) su za pravljenje C-DLL.


Sada cu vam nesto reci:

echo.dll i echo.native.dll nisu isti.Ako instalirate echo.dll u GAC nece raditi zato sto nece naci
echo.native.dll...


E sada ste spremni da napadnete

i jos nesto

csgl.dll je C# asembl i csgl.native.dll je samo dll kompajlovan sa GCCom.



Uskoro jos jedan TUT o C# i Programiranju,sljedecu put cu vam pokazati kako napraviti ono kao :

Click hire to earn 1.000.000 $

Dovidjenja!
copy odakle ???? :D:D btw click here to earn 1000000 $ :D:D:D:D

Post dobio šamar od vLexinho

simple_333 je napisao/la:
copy odakle ? btw click here to earn 1000000 $
nije copy suti gade
simple_333 je napisao/la:
copy odakle ? btw click here to earn 1000000 $
Uskoro jos jedan TUT o C# i Programiranju,sljedecu put cu vam pokazati kako napraviti ono kao :

Click hire to earn 1.000.000 $


Čitajte postove od početka do kraja!

thx brate


edit:STO ME OSAMARI BOGATI?!

Post dobio šamar od vLexinho

Fin tutorial , 10 na trudu 8-)
kaisera je napisao/la:
LoL....ne znas ti sta je c/p jelda :o
je***a je stvar prevest ovo bash :r
Zilla je napisao/la:
je***a je stvar prevest ovo bash
necemo se svadjat,to jest stranica kojom sam se koristio za pomoca a ostalo mi je pomogao chuck norris...al ovo sigurno nije c/p

EDIT:za razliku od tebe,ja se trudim!

EDIT2: tako ^^
kaisera je napisao/la:
necemo se svadjat,to jest stranica kojom sam se koristio za pomoca a ostalo mi je pomogao chuck norris...al ovo sigurno nije c/p

EDIT:za razliku od tebe,ja se trudim!

EDIT2: tako ^^ :D
hahaha, dobro izvino molim te :)
Ovo nije tutorijal za pocetnike .... stavise samo bi zbunio nekoga ko se tek pocinje baviti time ... niti ima objasnjenje sta je klasa sta je funkcija nit ista ....
Ehm, moja preporuka je da prvo pocnete sa C, odnosno C++, pa tek onda sa C#.

Prijavi se da bi odgovorio/la na ovu temu.