„Sznikák példakódok” változatai közötti eltérés

Kiskoza (vitalap | szerkesztései)
Háttérszál
a ConsoleColor nevű osztályt nem találja a VS-2017, helyette Color lett.
 
(22 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}}
{{FejlesztesAlatt}}


{{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 DGI-re épüljön.
Í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 brush1;
     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;
          grey -= 10;
           Invalidate();
           Invalidate();
       }
       }
153. sor: 156. sor:
     {
     {
       base.OnPaint(e);
       base.OnPaint(e);
       using (brush1 = new SolidBrush(ConsoleColor.FromArgb(grey, grey, grey)))
       using (brush = new SolidBrush(Color.FromArgb(grey, grey, grey)))
       {
       {
           e.Graphics.FillRectrangle(brush1, 10, 20, 10+10, 20+10);
           e.Graphics.FillRectrangle(brush, 10, 20, 10, 10); // brush, x, y, width, height
       }
       }
     }
     }
  }
  }
 
</syntaxhighlight>


{{Infobox
{{Infobox
171. sor: 174. sor:
}}
}}
}}
}}
  DateTime lastClick;
<syntaxhighlight lang="csharp">
String strDeltaTime;
  public partial class Form1 : Form
{
    DateTime lastClick;
    String strDeltaTime;
   
   
private void Form1_Load(object sender, EventArgs e)
    public Form1()
{
    {
    lastClick = DateTime.Now;
      InitializeComponent();
    strDeltaTime = "0";
      this.MouseClick += new MouseEventHandler(Form1_MouseClick);
}
     
      lastClick = null;
      strDeltaTime = "0";
    }
   
   
private void Form1_MouseClick(object sender, MouseEventArgs e)
    private void Form1_MouseClick(object sender, MouseEventArgs e)
{
    {
    TimeSpan deltaTime = DateTime.Now.Subtract(lastClick);
      if (lastClick = null)
    lastClick = DateTime.Now;
          lastClick = DateTime.Now;
    strDeltaTime = deltaTime.Seconds.ToString();
      else
    Invalidate(); // érvényteleníteni kell az ablak területet, hogy az új érték látszódjon
      {
}
          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) {
    protected override void OnPaint(PaintEventArgs e)
    e.Graphics.DrawString(strDeltaTime, this.Font, new SolidBrush(Color.Black), 20, 20);
    {
    base.OnPaint(e);
      e.Graphics.DrawString(strDeltaTime, this.Font, new SolidBrush(Color.Black), 20, 20);
      base.OnPaint(e);
    }
  }
  }
 
</syntaxhighlight>


{{Infobox
{{Infobox
199. sor: 215. sor:
| keretszín = black
| keretszín = black
| tartalom =
| tartalom =
Írjon programot, ami egy háttérszálban egy perc alatt aszámol 1-zől 60-ig és az aktuális értéket kiírja a konzolra
Í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ázat|
{{Infobox-táblázatsor|A kód nyelve|C#}}
{{Infobox-táblázatsor|A kód nyelve|C#}}
}}
}}
}}
}}
<syntaxhighlight lang="csharp">
  public class Program
  public class Program
  {
  {
     public void static Main(string[] args)
     public static void Main(string[] args)
     {
     {
       Thread t = new Thread(Szamol);
       Thread t = new Thread(new ThreadStart(Szamol));
       t.IsBackground = true;
       t.IsBackground = true;
       t.Start();
       t.Start();
     }
     }
   
   
     public void static Szamol()
     public static void Szamol()
     {
     {
       private static int szam = 0;
       int szam = 0;
       if(szam < 60)
       while(szam < 60)
       {
       {
           Sleep(1000);
           Thread.Sleep(1000);
           szam++;
           szam++;
           Console.WriteLine("A számláló értéke: {0}",szam.ToString());
           Console.WriteLine("A számláló értéke: {0}",szam.ToString());
224. sor: 241. sor:
     }
     }
  }
  }
</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:Infoalap]]
[[Kategória:Mérnök_informatikus]]
A lap eredeti címe: „https://vik.wiki/Sznikák_példakódok