„Sznikák példakódok” változatai közötti eltérés
rajzolás |
a ConsoleColor nevű osztályt nem találja a VS-2017, helyette Color lett. |
||
| (24 közbenső módosítás, amit 6 másik szerkesztő végzett, nincs mutatva) | |||
| 1. sor: | 1. sor: | ||
{{Vissza|Szoftvertechnikák}} | {{Vissza|Szoftvertechnikák}} | ||
{{Infobox | {{Infobox | ||
| 12. sor: | 10. sor: | ||
}} | }} | ||
}} | }} | ||
<syntaxhighlight lang="csharp"> | |||
class ThreadTestClass | class ThreadTestClass | ||
{ | { | ||
| 39. sor: | 38. sor: | ||
} | } | ||
} | } | ||
</syntaxhighlight> | |||
{{Infobox | {{Infobox | ||
| 51. sor: | 50. sor: | ||
}} | }} | ||
}} | }} | ||
<syntaxhighlight lang="csharp"> | |||
SqlConnection conn = null; | SqlConnection conn = null; | ||
try | try | ||
{ | { | ||
// Kapcsolódás azadatbázishoz | // Kapcsolódás azadatbázishoz | ||
conn = new SqlConnection(@"Data Source=LAPTOP\SQLEXPRESS;InitialCatalog=Northwind;Integrated Security=True"); | conn = new SqlConnection(@"Data Source=LAPTOP\SQLEXPRESS; | ||
InitialCatalog=Northwind;Integrated Security=True"); | |||
// A kapcsolat megnyitása | // A kapcsolat megnyitása | ||
conn.Open(); | conn.Open(); | ||
| 85. sor: | 86. sor: | ||
conn.Close(); | conn.Close(); | ||
} | } | ||
</syntaxhighlight> | |||
{{Infobox | {{Infobox | ||
| 97. sor: | 98. sor: | ||
}} | }} | ||
}} | }} | ||
<syntaxhighlight lang="csharp"> | |||
public partial class MainForm : Form | public partial class MainForm : Form | ||
{ | { | ||
| 117. sor: | 119. sor: | ||
} | } | ||
} | } | ||
</syntaxhighlight> | |||
{{Infobox | {{Infobox | ||
| 124. sor: | 126. sor: | ||
| keretszín = black | | keretszín = black | ||
| tartalom = | | tartalom = | ||
Írjon olyan C# nyelvű alkalmazásrészletet, amely a (10,20) koordinátában megjelenít egy közepesen szürke színnel kitöltött 10 pixel hosszúságú négyzetet. A négyzet színe minden "r" bilentyű megnyomására legyen egyre sötétebb. A megjelenítés | Írjon olyan C# nyelvű alkalmazásrészletet, amely a (10,20) koordinátában megjelenít egy közepesen szürke színnel kitöltött 10 pixel hosszúságú négyzetet. A négyzet színe minden "r" bilentyű megnyomására legyen egyre sötétebb. A megjelenítés GDI-re épüljön. | ||
{{Infobox-táblázat| | {{Infobox-táblázat| | ||
{{Infobox-táblázatsor|A kód nyelve|C#}} | {{Infobox-táblázatsor|A kód nyelve|C#}} | ||
}} | }} | ||
}} | }} | ||
<syntaxhighlight lang="csharp"> | |||
public partial class Form1 : Form | public partial class Form1 : Form | ||
{ | { | ||
private Brush | private Brush brush; | ||
private int grey = 200; | private int grey = 200; | ||
| 143. sor: | 146. sor: | ||
base.OnKeyDown(e); | base.OnKeyDown(e); | ||
if(e.KeyCode == Keys.R) { | if(e.KeyCode == Keys.R) { | ||
grey -= 10; | |||
if(grey == 0) // ha elértük a színtartomány végét | if(grey == 0) // ha elértük a színtartomány végét | ||
grey = 200; | grey = 200; | ||
Invalidate(); | Invalidate(); | ||
} | } | ||
| 153. sor: | 156. sor: | ||
{ | { | ||
base.OnPaint(e); | base.OnPaint(e); | ||
using ( | using (brush = new SolidBrush(Color.FromArgb(grey, grey, grey))) | ||
{ | { | ||
e.Graphics.FillRectrangle( | e.Graphics.FillRectrangle(brush, 10, 20, 10, 10); // brush, x, y, width, height | ||
} | } | ||
} | } | ||
} | } | ||
</syntaxhighlight> | |||
{{Infobox | |||
| cím = String rajzolás | |||
| háttérszín = #C0ffee | |||
| keretszín = black | |||
| tartalom = | |||
Írjon olyan C# nyelvű alkalmazásrészletet, ami a (20,20) kokrdinátában megjeleníti, hogy a legutóbbi egérkattintás óta hány másodperc telt el! A megjelenítés GDI-re épüljön. | |||
{{Infobox-táblázat| | |||
{{Infobox-táblázatsor|A kód nyelve|C#}} | |||
}} | |||
}} | |||
<syntaxhighlight lang="csharp"> | |||
public partial class Form1 : Form | |||
{ | |||
DateTime lastClick; | |||
String strDeltaTime; | |||
public Form1() | |||
{ | |||
InitializeComponent(); | |||
this.MouseClick += new MouseEventHandler(Form1_MouseClick); | |||
lastClick = null; | |||
strDeltaTime = "0"; | |||
} | |||
private void Form1_MouseClick(object sender, MouseEventArgs e) | |||
{ | |||
if (lastClick = null) | |||
lastClick = DateTime.Now; | |||
else | |||
{ | |||
TimeSpan deltaTime = DateTime.Now.Subtract(lastClick); | |||
lastClick = DateTime.Now; | |||
strDeltaTime = deltaTime.Seconds.ToString(); | |||
Invalidate(); // érvényteleníteni kell az ablak területet, hogy az új érték látszódjon | |||
} | |||
} | |||
protected override void OnPaint(PaintEventArgs e) | |||
{ | |||
e.Graphics.DrawString(strDeltaTime, this.Font, new SolidBrush(Color.Black), 20, 20); | |||
base.OnPaint(e); | |||
} | |||
} | |||
</syntaxhighlight> | |||
{{Infobox | |||
| cím = Háttérszál | |||
| háttérszín = #C0ffee | |||
| keretszín = black | |||
| tartalom = | |||
Írjon programot, ami egy háttérszálban egy perc alatt el számol 1-től 60-ig, és az aktuális értéket kiírja a konzolra. | |||
{{Infobox-táblázat| | |||
{{Infobox-táblázatsor|A kód nyelve|C#}} | |||
}} | |||
}} | |||
<syntaxhighlight lang="csharp"> | |||
public class Program | |||
{ | |||
public static void Main(string[] args) | |||
{ | |||
Thread t = new Thread(new ThreadStart(Szamol)); | |||
t.IsBackground = true; | |||
t.Start(); | |||
} | |||
public static void Szamol() | |||
{ | |||
int szam = 0; | |||
while(szam < 60) | |||
{ | |||
Thread.Sleep(1000); | |||
szam++; | |||
Console.WriteLine("A számláló értéke: {0}",szam.ToString()); | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
{{Infobox | |||
| cím = Singleton példa | |||
| háttérszín = #C0ffee | |||
| keretszín = black | |||
| tartalom = | |||
Singleton tervezési minta implementálása C# nyelven | |||
{{Infobox-táblázat| | |||
{{Infobox-táblázatsor|A kód nyelve|C#}} | |||
}} | |||
}} | |||
<syntaxhighlight lang="csharp"> | |||
public class Singleton | |||
{ | |||
private static Singleton instance = null; | |||
public static Singleton Instance | |||
{ | |||
get | |||
{ | |||
if (instance == null) | |||
instance = new Singleton(); | |||
return instance; | |||
} | |||
} | |||
protected Singleton() {} // Ne lehessen elérni a konstruktorát | |||
public void Print() {/* ... */} | |||
} | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="csharp"> | |||
// Használata: | |||
Singleton s1 = Singleton.Instance; | |||
s1.Print(); | |||
// Vagy: | |||
Singleton.Instance.Print(); | |||
</syntaxhighlight> | |||
{{Infobox | |||
| cím = Kapcsolat nélküli hozzáférés | |||
| háttérszín = #C0ffee | |||
| keretszín = black | |||
| tartalom = | |||
Ismertesse egy rövid C# példán keresztül az ADO.NET kapcsolat nélküli adathozzáférését! | |||
{{Infobox-táblázat| | |||
{{Infobox-táblázatsor|A kód nyelve|C#}} | |||
}} | |||
}} | |||
<syntaxhighlight lang="csharp"> | |||
class SelectIntoDataSet{ | |||
public static void Main(){ | |||
string connectionString = "..."; | |||
SqlConnection mySqlConnection = new SqlConnection(connectionString); | |||
// Vagy bármi más lekérdezés, amit kérnek | |||
string selectString = "SELECT TOP 10 ID, FirstName, LastName FROM Employee ORDER BY ID"; | |||
SqlCommand mySqlCommand = mySqlConnection.CreateCommand(); | |||
mySqlCommand.CommandText = selectString; | |||
SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter(); | |||
mySqlDataAdapter.SelectCommand = mySqlCommand; | |||
DataSet myDataSet = new DataSet(); | |||
mySqlConnection.Open(); // Megnyitjuk | |||
Console.WriteLine("Retrieving rows from the Employee table"); | |||
mySqlDataAdapter.Fill(myDataSet, "Employee"); // Kiolvasunk mindent | |||
mySqlConnection.Close(); // És rögtön be is zárjuk | |||
// És csak utána kezdjük el feldolgozni | |||
DataTable myDataTable = myDataSet.Tables["Employee"]; | |||
foreach (DataRow myDataRow in myDataTable.Rows){ | |||
Console.WriteLine("ID = "+ myDataRow["ID"]); | |||
Console.WriteLine("FirstName = "+ myDataRow["FirstName"]); | |||
Console.WriteLine("LastName = "+ myDataRow["LastName"]); | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
{{Infobox | |||
| cím = Attribútumok használata | |||
| háttérszín = #C0ffee | |||
| keretszín = black | |||
| tartalom = | |||
Mutasson példát attribútumokra C# nyelven (saját attributee létrehozás, használat, lekérdezés) | |||
{{Infobox-táblázat| | |||
{{Infobox-táblázatsor|A kód nyelve|C#}} | |||
}} | |||
}} | |||
<syntaxhighlight lang="csharp"> | |||
[AttributeUsage(AttributeTargets.All)] | |||
public class AuthorAttribute : System.Attribute | |||
{ | |||
public readonly string name; | |||
public AuthorAttribute(string _name) | |||
{ | |||
name = _name; | |||
} | |||
public string Name | |||
{ | |||
get | |||
{ | |||
return name; | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="csharp"> | |||
// Használata | |||
[Author("Béla Béla")] | |||
class JustASimpleClass | |||
{ | |||
// ... | |||
} | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="csharp"> | |||
// Lekérdezés | |||
foreach( object attribute in something.GetCustomAttributes(true)) | |||
{ | |||
Console.WriteLine(attribute); | |||
} | |||
</syntaxhighlight> | |||
[[Kategória: | [[Kategória:Mérnök_informatikus]] | ||