C# Console ile yapmış olduğum klavyeden kontrol edilebilir bir menü çalışması var.
1: Ben bu menüyü görüntülenen sayfa içerisinde benim belirlediğim bir konumda gösterilmesini nasıl yapabilirim?
2: Bir proje içerisindeki farklı alanları aynı anda nasıl görüntülenmesini sağlayabilirim?
Örneğin: Kullanıcının giriş yaptığı bir alan ile yeni bir üyelik için girilen bir başka alanı aynı anda göstermek istiyorum.
Ayrıca iki ayrı alan içerisinde ki benzer olan verilerin tanımlamalarını da tek seferde tanımlayıp, bu iki ayrı alanlara aktarabilir miyim?
C# Console ile yapmış olduğum klavyeden kontrol edilebilir bir menü çalışması var.
1: Ben bu menüyü görüntülenen sayfa içerisinde benim belirlediğim bir konumda gösterilmesini nasıl yapabilirim?
2: Bir proje içerisindeki farklı alanları aynı anda nasıl görüntülenmesini sağlayabilirim?
Örneğin: Kullanıcının giriş yaptığı bir alan ile yeni bir üyelik için girilen bir başka alanı aynı anda göstermek istiyorum.
Ayrıca iki ayrı alan içerisinde ki benzer olan verilerin tanımlamalarını da tek seferde tanımlayıp, bu iki ayrı alanlara aktarabilir miyim?
1. Soru :
class Buttanlar
{
//******************************************************************************************************************************
public static void menuler()//Oluşturulan "menuler" adllı metod. Menülerin yer alacağı matod tanımlaması
{
Console.Title = "ANASAYFA";//Sayfa başlığı
Console.OutputEncoding = Encoding.GetEncoding("ibm857");
//Dizi tanımlama işlemi
string[] dizimenu/Tanımlanan dizi değişken adı/ = new string[] { "ADMİN G İ R İ Ş", "ÜYE G İ R İ Ş", "K A Y I T OL", "Ç I K I Ş" };
Console.CursorVisible = false;//İmleci gizler
while (true)
{
string secilenoge = button_komut/"Alt kısımda oluşturulan "button_komut" Class alan adı/.dropmenu_1/Alt kısımda oluşturulan "button_komut" Class alan adı içerisinde oluşturulmuş bir Metod adı/(dizimenu/"prgram_button" Class alanında tanımlanan dizi değişken adı/);
if (secilenoge == "ADMİN G İ R İ Ş")
{
Admin.admin_giris();
}
else if (secilenoge == "ÜYE G İ R İ Ş")
{
// Console.Clear();
Giris.giris_veri();
}
else if (secilenoge == "K A Y I T OL")
{
Kayit/Class alan tanımlama Adı/.kayit_veri/Oluşturulan Metod Adı/();
}
else if (secilenoge == "Ç I K I Ş")
{
Environment.Exit(0);
}
}
Console.ReadKey();
}
}
/// <summary>
/// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// </summary>
class button_komut
{
public static int index = 0;
public static string dropmenu_1/Metod adı/(string[]/Dizinin değişken tipi/ dizimenu_1/"prgram_buttan" sayfasında tanımlanan dizi'ye erişim./)
//Genel kod bloğunda tanımlanan "dizimenu_1" adında dizinin farklı bir sınıf içerisinde ki Metod içerisine gönderme işlemi...
{
for (int i = 0; i < dizimenu_1.Length; i++)
{
if (i == index)
{
Console.BackgroundColor = ConsoleColor.Red;
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine(dizimenu_1);
}
else
{
Console.WriteLine(dizimenu_1);
}
Console.ResetColor();//Programın çalıştırılması ile ön ve arka plan renklerini varsayılan değerler olarak ayarlar.
}
ConsoleKeyInfo basilantus = Console.ReadKey();//Basılan tuşu hafızada tutan bir değişken tanımlama
if (basilantus.Key == ConsoleKey.UpArrow)
{
if (index <= 0)
{
}
else
{
index--;
}
}
else if (basilantus.Key == ConsoleKey.DownArrow)
{
if (index == dizimenu_1.Length - 1)
{
}
else
{
index++;
}
}
else if (basilantus.Key == ConsoleKey.Enter)
{
return dizimenu_1[index];
}
else if (basilantus.Key != ConsoleKey.RightArrow || basilantus.Key != ConsoleKey.LeftArrow || basilantus.Key != ConsoleKey.Enter)
{//Kullanıcı basılması istenen tuşlar dışında işlem yapmasını engel olmak ya da programın hata vermesini önlemek.
// Console.WriteLine("Hatalı bir tıklama işlemi !!!");
}
else
{
return "";
}
Console.Clear();
return "";
}//-------------------------------------------------Metodun bitiş sınırı-
}
İmleçten ziyade menüleri konumlandırabilmek istiyorum. Bunu çok denedim lakin yapamadım.Anladığım kadarıyla seçeneklerin yerlerini konumlandırmak istiyorsunuz. Eğer anladığım şekilde ise setcursorposition ile imleci istediğiniz yerden başlatarak konumlandırabilirsiniz.
C#:1. Soru : class Buttanlar { //****************************************************************************************************************************** public static void menuler()//Oluşturulan "menuler" adllı metod. Menülerin yer alacağı matod tanımlaması { Console.Title = "ANASAYFA";//Sayfa başlığı Console.OutputEncoding = Encoding.GetEncoding("ibm857"); //Dizi tanımlama işlemi string[] dizimenu/Tanımlanan dizi değişken adı/ = new string[] { "ADMİN G İ R İ Ş", "ÜYE G İ R İ Ş", "K A Y I T OL", "Ç I K I Ş" }; Console.CursorVisible = false;//İmleci gizler while (true) { string secilenoge = button_komut/"Alt kısımda oluşturulan "button_komut" Class alan adı/.dropmenu_1/Alt kısımda oluşturulan "button_komut" Class alan adı içerisinde oluşturulmuş bir Metod adı/(dizimenu/"prgram_button" Class alanında tanımlanan dizi değişken adı/); if (secilenoge == "ADMİN G İ R İ Ş") { Admin.admin_giris(); } else if (secilenoge == "ÜYE G İ R İ Ş") { // Console.Clear(); Giris.giris_veri(); } else if (secilenoge == "K A Y I T OL") { Kayit/Class alan tanımlama Adı/.kayit_veri/Oluşturulan Metod Adı/(); } else if (secilenoge == "Ç I K I Ş") { Environment.Exit(0); } } Console.ReadKey(); } } /// <summary> /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /// </summary> class button_komut { public static int index = 0; public static string dropmenu_1/Metod adı/(string[]/Dizinin değişken tipi/ dizimenu_1/"prgram_buttan" sayfasında tanımlanan dizi'ye erişim./) //Genel kod bloğunda tanımlanan "dizimenu_1" adında dizinin farklı bir sınıf içerisinde ki Metod içerisine gönderme işlemi... { for (int i = 0; i < dizimenu_1.Length; i++) { if (i == index) { Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(dizimenu_1); } else { Console.WriteLine(dizimenu_1); } Console.ResetColor();//Programın çalıştırılması ile ön ve arka plan renklerini varsayılan değerler olarak ayarlar. } ConsoleKeyInfo basilantus = Console.ReadKey();//Basılan tuşu hafızada tutan bir değişken tanımlama if (basilantus.Key == ConsoleKey.UpArrow) { if (index <= 0) { } else { index--; } } else if (basilantus.Key == ConsoleKey.DownArrow) { if (index == dizimenu_1.Length - 1) { } else { index++; } } else if (basilantus.Key == ConsoleKey.Enter) { return dizimenu_1[index]; } else if (basilantus.Key != ConsoleKey.RightArrow || basilantus.Key != ConsoleKey.LeftArrow || basilantus.Key != ConsoleKey.Enter) {//Kullanıcı basılması istenen tuşlar dışında işlem yapmasını engel olmak ya da programın hata vermesini önlemek. // Console.WriteLine("Hatalı bir tıklama işlemi !!!"); } else { return ""; } Console.Clear(); return ""; }//-------------------------------------------------Metodun bitiş sınırı- }
İmleçten ziyade menüleri konumlandırabilmek istiyorum. Bunu çok denedim lakin yapamadım.
using System;
using System.Text;
class OrtakVeriler
{
public static string OrtakDegisken = "Ortak Veri";
}
class Buttanlar
{
public static void menuler()
{
Console.Title = "ANASAYFA";
Console.OutputEncoding = Encoding.GetEncoding("ibm857");
string[] dizimenu = new string[] { "ADMİN G İ R İ Ş", "ÜYE G İ R İ Ş", "K A Y I T OL", "Ç I K I Ş" };
Console.CursorVisible = false;
while (true)
{
Console.Clear();
Console.SetCursorPosition(10, 5);
Console.WriteLine("Giriş Alanı:");
string secilenoge = button_komut.dropmenu_1(dizimenu, 10, 7); // Giriş alanı
Console.SetCursorPosition(40, 5);
Console.WriteLine("Kayıt Alanı:");
Console.SetCursorPosition(40, 7);
Console.WriteLine(OrtakVeriler.OrtakDegisken); // Ortak veriyi gösterme
if (secilenoge == "ADMİN G İ R İ Ş")
{
Admin.admin_giris();
}
else if (secilenoge == "ÜYE G İ R İ Ş")
{
Giris.giris_veri();
}
else if (secilenoge == "K A Y I T OL")
{
Kayit.kayit_veri();
}
else if (secilenoge == "Ç I K I Ş")
{
Environment.Exit(0);
}
}
Console.ReadKey();
}
}
class button_komut
{
public static int index = 0;
public static string dropmenu_1(string[] dizimenu_1, int x, int y)
{
Console.SetCursorPosition(x, y);
for (int i = 0; i < dizimenu_1.Length; i++)
{
if (i == index)
{
Console.BackgroundColor = ConsoleColor.Red;
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine(dizimenu_1[i]);
}
else
{
Console.WriteLine(dizimenu_1[i]);
}
Console.ResetColor();
Console.SetCursorPosition(x, y + i + 1);
}
ConsoleKeyInfo basilantus = Console.ReadKey();
if (basilantus.Key == ConsoleKey.UpArrow)
{
if (index > 0)
{
index--;
}
}
else if (basilantus.Key == ConsoleKey.DownArrow)
{
if (index < dizimenu_1.Length - 1)
{
index++;
}
}
else if (basilantus.Key == ConsoleKey.Enter)
{
return dizimenu_1[index];
}
else
{
// Hatalı tıklamayı engellemek için sadece yukarı, aşağı ve enter tuşlarını işleme alıyoruz
}
Console.Clear();
return "";
}
}
C#:using System; using System.Text; class OrtakVeriler. { public static string OrtakDegisken = "Ortak Veri"; } class Buttanlar. { public static void menuler() { Console.Title = "ANASAYFA"; Console.OutputEncoding = Encoding.GetEncoding("ibm857"); string[] dizimenu = new string[] { "ADMİN G İ R İ Ş", "ÜYE G İ R İ Ş", "K A Y I T OL", "Ç I K I Ş" }; Console.CursorVisible = false; while (true) { Console.Clear(); Console.SetCursorPosition(10, 5); Console.WriteLine("Giriş Alanı:"); string secilenoge = button_komut.dropmenu_1(dizimenu, 10, 7); // Giriş alanı. Console.SetCursorPosition(40, 5); Console.WriteLine("Kayıt Alanı:"); Console.SetCursorPosition(40, 7); Console.WriteLine(OrtakVeriler.OrtakDegisken); // Ortak veriyi gösterme. if (secilenoge == "ADMİN G İ R İ Ş") { Admin.admin_giris(); } else if (secilenoge == "ÜYE G İ R İ Ş") { Giris.giris_veri(); } else if (secilenoge == "K A Y I T OL") { Kayit.kayit_veri(); } else if (secilenoge == "Ç I K I Ş") { Environment.Exit(0); } } Console.ReadKey(); } } class button_komut. { public static int index = 0; public static string dropmenu_1(string[] dizimenu_1, int x, int y) { Console.SetCursorPosition(x, y); for (int i = 0; i < dizimenu_1.Length; i++) { if (i == index) { Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(dizimenu_1[i]); } else. { Console.WriteLine(dizimenu_1[i]); } Console.ResetColor(); Console.SetCursorPosition(x, y + i + 1); } ConsoleKeyInfo basilantus = Console.ReadKey(); if (basilantus.Key == ConsoleKey.UpArrow) { if (index > 0) { index--; } } else if (basilantus.Key == ConsoleKey.DownArrow) { if (index < dizimenu_1.Length - 1) { index++; } } else if (basilantus.Key == ConsoleKey.Enter) { return dizimenu_1[index]; } else. { // Hatalı tıklamayı engellemek için sadece yukarı, aşağı ve enter tuşlarını işleme alıyoruz. } Console.Clear(); return ""; } }
static void Main(string[] args)
{
Console.Title = "ANASAYFA";
Console.OutputEncoding = Encoding.GetEncoding("ibm857");
download/CLASS Adı/.cerceve_kordinatlar/Metod Adı/(0, 0, 79/Sağ çerçeve kordinatı/, 23/alt çerçeve kordinatı/, '#');//Download işlemi gerçekleşmesi için iç içe oluşturulmuş CLASS ve METOD'un erişim
Buttanlar.menuler();//iç içe oluşturulmuş olan CLASS ve METOD alanları içerisnde ki verilere erişimi
Console.ReadKey();
}
************************************************************
MENU KODLARI
/* class OrtakVeriler
{
public static string OrtakDegisken = "Ortak Veri";
}*/
class Buttanlar
{
public static void menuler()
{
Console.Title = "ANASAYFA";
Console.OutputEncoding = Encoding.GetEncoding("ibm857");
string[] dizimenu = new string[] { "ADMİN G İ R İ Ş", "ÜYE G İ R İ Ş", "K A Y I T OL", "Ç I K I Ş" };
Console.CursorVisible = false;
while (true)
{
Console.Clear();
// Console.SetCursorPosition(10, 5);
//Console.WriteLine("Giriş Alanı:");
string secilenoge = button_komut.dropmenu_1(dizimenu, 30, 10/Men'nün konumlarını belirler/); // Giriş alanı.
/* Console.SetCursorPosition(1, 20);
Console.WriteLine("Kayıt Alanı:");
Console.SetCursorPosition(1, 20);
Console.WriteLine(OrtakVeriler.OrtakDegisken); // Ortak veriyi gösterme.*/
if (secilenoge == "ADMİN G İ R İ Ş")
{
Admin.admin_giris();
}
else if (secilenoge == "ÜYE G İ R İ Ş")
{
Giris.giris_veri();
}
else if (secilenoge == "K A Y I T OL")
{
Kayit.kayit_veri();
}
else if (secilenoge == "Ç I K I Ş")
{
Environment.Exit(0);
}
}
Console.ReadKey();
}
}
class button_komut
{
public static int index = 0;
public static string dropmenu_1(string[] dizimenu_1, int x, int y)
{
Console.SetCursorPosition(x, y);
for (int i = 0; i < dizimenu_1.Length; i++)
{
if (i == index)
{
Console.BackgroundColor = ConsoleColor.Red;
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine(dizimenu_1);
}
else
{
Console.WriteLine(dizimenu_1);
}
Console.ResetColor();
Console.SetCursorPosition(x, y + i + 1);
}
ConsoleKeyInfo basilantus = Console.ReadKey();
if (basilantus.Key == ConsoleKey.UpArrow)
{
if (index > 0)
{
index--;
}
}
else if (basilantus.Key == ConsoleKey.DownArrow)
{
if (index < dizimenu_1.Length - 1)
{
index++;
}
}
else if (basilantus.Key == ConsoleKey.Enter)
{
return dizimenu_1[index];
}
else
{
// Hatalı tıklamayı engellemek için sadece yukarı, aşağı ve enter tuşlarını işleme alıyoruz.
}
Console.Clear();
return "";
}
}
**********************************************************
using System.Threading;//İşlem için Kütüphane oluşturulmalıdır.
/Çizilencek olan çerçeveninin (sağ-sol ve yukarı aşağı) bitiş kordinatlarının belirlenmesini ve çerçevenin simgesini belirler/
public static void cerceve_kordinatlar(int x1, int y1, int x2, int y2, char a/Çerçeve simgesini belirlemek için tanımlanan değişken/)
{
for (int i = x1; i < x2; i++)/Üst ve Alt çerçeve/
{
Console.SetCursorPosition(i, x1);//ÜST
Console.Write(a /Çerçeve simgesi/);
Console.SetCursorPosition(i, y2);//Alt
Console.Write(a/Çerçeve simgesi/);
Thread.Sleep(30);
/Uygulamanın açılmasından sonra ekrana gelecek olan çalışmaları bir kaç milisaniye cinsinde bekletilmesini sağlar./
}
for (int i = y1; i <= y2; i++)/Sağ ve Sol çerçeve/
{
Console.SetCursorPosition(x2, i);//SAĞ
Console.Write(a);
Console.SetCursorPosition(y1, i);//SOL
Console.Write(a);
Thread.Sleep(50);
/Uygulamanın açılmasından sonra ekrana gelecek olan çalışmaları bir kaç milisaniye cinsinde bekletilmesini sağlar./
}
}
**********************************************************************
GİRİŞ ALANI
public static void giris_veri()
{
Console.Title = "ÜYE G İ R İ Ş ";
Console.OutputEncoding = Encoding.GetEncoding("ibm857");
string k_ad, k_sifre, k_sifre_ES;
hata:
Console.Clear();//"ANASAYFA" içerisinde ki verilerin silinerek yalnızca "ÜYE GİRİŞ" sayfa verileri görüntülenir
Console.ForegroundColor = ConsoleColor.White;
Console.SetCursorPosition(10, 7);
Console.Write("Kullanıcı Adınız :");
Console.SetCursorPosition(10, 9);
Console.Write("Kullanıcı Şifreniz :");
Console.SetCursorPosition(10, 11);
Console.Write("Kullanıcı Şifre Eşleştir :");
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Console.ForegroundColor = ConsoleColor.DarkGreen;
try
{
Console.SetCursorPosition(30,7);
k_ad = Convert.ToString(Console .ReadLine());
Console.SetCursorPosition(30, 9);
k_sifre = Convert.ToString(Console.ReadLine());
Console.SetCursorPosition(40, 11);
k_sifre_ES = Convert.ToString(Console .ReadLine());
if (string .IsNullOrEmpty(k_ad)== true)
{
Console.SetCursorPosition(10,19);
Console.Write("Kullanıcı Adı boş bırakılamaz !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata;
}
else if (string .IsNullOrEmpty(k_sifre)==true)
{
Console.SetCursorPosition(10, 19);
Console.Write("Kullanıcı Şifre alanı boş bırakılamaz !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata;
}
else if (string.IsNullOrEmpty(k_sifre_ES) == true)
{
Console.SetCursorPosition(10, 19);
Console.Write("Kullanıcı Şifre Eşleştirme alanı boş bırakılamaz !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/ÖRNEĞİN : Kullanıcıdan ver girişlerinde girilen şifrelerin birbiri ile uyumlu olduğu sürece işlem yapılmaya devam eder./
int kontrol = string.Compare(k_sifre, k_sifre_ES);
//Kullanıcının şifre1 ve şifre2 verilerinin karşılaştırılmasını sağlarız.
if (kontrol == 0) // Veri girişleri karşılaştırma sonucunda uyumlu ise
{
string sifre = k_sifre;
}
else // değilse ...
{
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.SetCursorPosition(10, 19);
Console.Write("Uyumsuz şifre girişi !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata; //GOTO etiketi yardımı ile işlemi tekrar ettir.
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (string.IsNullOrEmpty(k_ad) == false && string.IsNullOrEmpty(k_sifre) == false && string.IsNullOrEmpty(k_sifre_ES) == false)
{
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.SetCursorPosition(10, 19);
Console.Write("Kulanıcı Adı : " + k_ad + "\tKullanıcı Şifreniz :" + k_sifre + "\tŞifre Tekrar : " + k_sifre_ES);
System.Threading.Thread.Sleep(1000);
Console.Clear();
Console.ForegroundColor = ConsoleColor.White;
Buttanlar.menuler();//Eğer ki işlem sonrasında doğrudan ANASAYFAYA gitmesi istenilir ise..
}
}
catch
{
Console.SetCursorPosition(10, 13);
Console.Write("Hatalı Kullanıcı !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata;
}
Console.ReadKey();
}
************************************************************************
KAYIT ALANI
public static void kayit_veri()
{
Console.Title = "KAYIT OL. ";
Console.OutputEncoding = Encoding.GetEncoding("ibm857");
string ad, soyad,sifre,sifreEs, sehir, mail;
hata:
Console.Clear();
Console.SetCursorPosition(10, 7);
Console.Write("Adınız :");
Console.SetCursorPosition(10, 9);
Console.Write("Soyadınız :");
Console.SetCursorPosition(10, 11);
Console.Write("Şifreniz :");
Console.SetCursorPosition(10,13);
Console.Write("Şifre Eşleştir :");
Console.SetCursorPosition(10,15);
Console.Write("Şehriniz :");
Console.SetCursorPosition(10,17);
Console.Write("Mail Adresiniz :");
/* Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.SetCursorPosition(10, 20);
Console.Write("KAYIT");
Console.SetCursorPosition(20,20);
Console.Write("GERİ");
Console.SetCursorPosition(30, 20);
Console.Write("ÇIKIŞ");*/
Console.ForegroundColor = ConsoleColor.Green;
try
{
Console.SetCursorPosition(30,7);
ad = Convert.ToString(Console.ReadLine());
Console.SetCursorPosition(30, 9);
soyad = Convert.ToString(Console.ReadLine());
Console.SetCursorPosition(30, 11);
sifre = Convert.ToString(Console.ReadLine());
Console.SetCursorPosition(30, 13);
sifreEs = Convert.ToString(Console.ReadLine());
Console.SetCursorPosition(30, 15);
sehir = Convert.ToString(Console.ReadLine());
Console.SetCursorPosition(30, 17);
mail = Convert.ToString(Console.ReadLine());
if (string .IsNullOrEmpty(ad)== true)
{
Console.SetCursorPosition(30,20);
Console.Write("Ad bilgisi boş bırakılamaz !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata;
}
if (string.IsNullOrEmpty(soyad)== true)
{
Console.SetCursorPosition(30,20);
Console.Write("Soyad bilgisi boş bırakılamaz !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata;
}
if (string.IsNullOrEmpty(sifre)== true)
{
Console.SetCursorPosition(30, 20);
Console.Write("Şifre bilgisi boş bırakılamaz !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata;
}
if (string.IsNullOrEmpty(sifreEs) == true)
{
Console.SetCursorPosition(30, 20);
Console.Write("Şifre eşleştirm bilgisi boş bırakılamaz !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata;
}
if (string.IsNullOrEmpty(sehir) == true)
{
Console.SetCursorPosition(30, 20);
Console.Write("Şehir bilgisi boş bırakılamaz !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata;
}
if (string.IsNullOrEmpty(mail) == true)
{
Console.SetCursorPosition(30, 20);
Console.Write("Mail bilgisi boş bırakılamaz !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata;
}
if (string.IsNullOrEmpty(ad)==false && string.IsNullOrEmpty(soyad)== false && string .IsNullOrEmpty(sifre)== false && string .IsNullOrEmpty(sifreEs)==false &&string.IsNullOrEmpty(sehir)==false && string.IsNullOrEmpty(mail)== false)
{
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.SetCursorPosition(10, 19);
Console.Write("Kulanıcı Adı : " + ad + "\tKullanıcı Şifreniz :" + soyad + "\tŞifre Tekrar : " + sifre+ "\tŞifre Tekrar : " + sifreEs + "\tŞehir :" + sehir+ "\tMail adresi :" + mail);
System.Threading.Thread.Sleep(1000);
Console.Clear();
Console.ForegroundColor = ConsoleColor.White;
Buttanlar.menuler();//Eğer ki işlem sonrasında doğrudan ANASAYFAYA gitmesi istenilir ise..
}
}
catch
{
Console.SetCursorPosition(30,20);
Console.Write("Hatalı veri girişi !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata;
}
Console.ReadKey();
}
**************************************************************************************
ADMİN İÇİN FARKLI BİR GİRİŞ ÖZELLİĞİ İÇİN
public static void admin_giris()
{
Console.Title = "ADMİN G İ R İ Ş ";
Console.OutputEncoding = Encoding.GetEncoding("ibm857");
string admn_adi, admn_sifre, admn_sifreEs,ozel_kod;
hata:
Console.Clear();//Ekranda görüntülenmekte olan "ANASAYFA" verilerini temizler.
/Yeni veriler görüntülenir/
Console.SetCursorPosition(10, 7);
Console.Write("Kullanıcı Admin adınız :");
Console.SetCursorPosition(10, 9);
Console.Write("Kullanıcı Admin şifreniz :");
Console.SetCursorPosition(10, 11);
Console.Write("Kullanıcı Admin şifre Eşleştir :");
Console.SetCursorPosition(10, 13);
Console.Write("Özel Admim Kodunuz :");
/*Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.SetCursorPosition(10, 20);
Console.Write("GERİŞ");
Console.SetCursorPosition(20, 20);
Console.Write("İPTAL");*/
Console.ForegroundColor = ConsoleColor.Green;
try
{
Console.SetCursorPosition(38, 7);
admn_adi = Convert.ToString(Console.ReadLine());
Console.SetCursorPosition(38, 9);
admn_sifre = Convert.ToString(Console.ReadLine());
Console.SetCursorPosition(43, 11);
admn_sifreEs = Convert.ToString(Console.ReadLine());
Console.SetCursorPosition(38, 13);
ozel_kod = Convert.ToString(Console.ReadLine());
if (string.IsNullOrEmpty(admn_adi) == true)
{
Console.SetCursorPosition(30, 20);
Console.Write("Ad bilgisi boş bırakılamaz !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata;
}
if (string.IsNullOrEmpty(admn_sifre) == true)
{
Console.SetCursorPosition(30, 20);
Console.Write("Soyad bilgisi boş bırakılamaz !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata;
}
if (string.IsNullOrEmpty(admn_sifreEs) == true)
{
Console.SetCursorPosition(30, 20);
Console.Write("Şifre bilgisi boş bırakılamaz !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata;
}
if (string.IsNullOrEmpty(ozel_kod) == true)
{
Console.SetCursorPosition(30, 20);
Console.Write("Şifre eşleştirm bilgisi boş bırakılamaz !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata;
}
if (string.IsNullOrEmpty(admn_adi) == false && string.IsNullOrEmpty(admn_sifre) == false && string.IsNullOrEmpty(admn_sifreEs) == false && string.IsNullOrEmpty(ozel_kod) == false )
{
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.SetCursorPosition(2, 19);
Console.Write("Kulanıcı Admin Adı : " + admn_adi + "\tKullanıcı Admin Şifreniz :" + admn_sifre + "\tAdmin Şifre Tekrar : " + admn_sifreEs + "\tAdmin Özel Kod : " + ozel_kod );
System.Threading.Thread.Sleep(1000);
Console.Clear();
Console.ForegroundColor = ConsoleColor.White;
Buttanlar.menuler();//Eğer ki işlem sonrasında doğrudan ANASAYFAYA gitmesi istenilir ise..
}
}
catch
{
Console.SetCursorPosition(30, 20);
Console.Write("Hatalı veri girişi !!!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
goto hata;
}
Console.ReadKey();
}
Static Void main(string[] args)
{
Console.Title = "ANASAYFA";
Console.OutputEncoding = Encoding.GetEncoding("ibm857");
download/class Adı/.cerceve_kordinatlar/Metod adı/(0, 0, 79/Sağ çerçeve kordinatı/, 23/alt çerçeve kordinatı/, '#');//download işlemi gerçekleşmesi için iç içe oluşturulmuş class ve Metot'un erişim.
Buttanlar.menuler();//iç içe oluşturulmuş olan CLASS ve METOD alanları içerisnde ki verilere erişimi.
Console.ReadKey();
}
************************************************************
Menu kodları.
/* Class ortakveriler.
{
Public static string ortakdegisken = "ortak veri";
}*/
Class buttanlar.
{
Public static Void menuler()
{
Console. Title = "ana sayfa";
Console. Outputencoding = encoding. Getencoding("IBM857");
String[] dizimenu = new string[] { "admin g i r i ş", "üye g i r i ş", "k a y ı t ol", "ç ı k ı ş" };
Console. Cursorvisible = false;
While (true)
{
Console.Clear();
// Console. Setcursorposition(10, 5);
//Console. Writeline("giriş alanı:");
String secilenoge = button_komut. Dropmenu_1(dizimenu, 30, 10/Men'nün konumlarını belirler/); // giriş alanı.
/* Console. Setcursorposition(1, 20);
Console. Writeline("kayıt alanı:");
Console. Setcursorposition(1, 20);
Console. Writeline(ortakveriler. Ortakdegisken); // ortak veriyi gösterme.*/
İf (secilenoge == "admin g i r i ş")
{
Admin.admin_giris();
}
Else if (secilenoge == "üye g i r i ş")
{
Giris.giris_veri();
}
Else if (secilenoge == "k a y ı t ol")
{
Kayit.kayit_veri();
}
Else if (secilenoge == "ç ı k ı ş")
{
Environment. Exit(0);
}
}
Console.ReadKey();
}
}
Class button_komut.
{
Public static int index = 0;
Public static string dropmenu_1(string[] dizimenu_1, int X, int y)
{
Console. Setcursorposition(X, y);
For (int i = 0; i < dizimenu_1.length; i++)
{
İf (i == index)
{
Console. Backgroundcolor = consolecolor. Red;
Console. Foregroundcolor = consolecolor. Green;
Console. Writeline(dizimenu_1);
}
Else.
{
Console. Writeline(dizimenu_1);
}
Console.ResetColor();
Console. Setcursorposition(X, y + i + 1);
}
Consolekeyınfo basilantus = Console.ReadKey();
İf (basilantus. Key == consolekey. Uparrow)
{
İf (index > 0)
{
İndex--;
}
}
Else if (basilantus. Key == consolekey. Downarrow)
{
İf (index < dizimenu_1.length - 1)
{
İndex++;
}
}
Else if (basilantus. Key == consolekey. Enter)
{
Return dizimenu_1[index];
}
Else.
{
// Hatalı tıklamayı engellemek için sadece yukarı, aşağı ve enter tuşlarını işleme alıyoruz.
}
Console.Clear();
Return "";
}
}
**********************************************************
Using System. Threading;//işlem için kütüphane oluşturulmalıdır.
/çizilencek olan çerçeveninin (sağ-sol ve yukarı aşağı) bitiş kordinatlarının belirlenmesini ve çerçevenin simgesini belirler/
Public static Void cerceve_kordinatlar(int X1, int y1, int X2, int y2, char a/çerçeve simgesini belirlemek için tanımlanan değişken/)
{
For (int i = X1; i < X2; i++)/üst ve alt çerçeve/
{
Console. Setcursorposition(i, X1);//üst
Console. Write(a /çerçeve simgesi/);
Console. Setcursorposition(i, y2);//alt
Console.Write(a/Çerçeve simgesi/);
Thread. Sleep(30);
/uygulamanın açılmasından sonra ekrana gelecek olan çalışmaları birkaç milisaniye cinsinde bekletilmesini sağlar./
}
For (int i = y1; i <= y2; i++)/sağ ve sol çerçeve/
{
Console. Setcursorposition(X2, i);//sağ
Console. Write(a);
Console. Setcursorposition(y1, i);//sol
Console. Write(a);
Thread. Sleep(50);
/uygulamanın açılmasından sonra ekrana gelecek olan çalışmaları birkaç milisaniye cinsinde bekletilmesini sağlar./
}
}
**********************************************************************
Giriş alanı.
Public static Void giris_veri()
{
Console. Title = "üye g i r i ş ";
Console. Outputencoding = encoding. Getencoding("IBM857");
String k_ad, k_sifre, k_sifre_es;
Hata:
Console.Clear();//"ana sayfa" içerisinde ki verilerin silinerek yalnızca "üye giriş" sayfa verileri görüntülenir.
Console. Foregroundcolor = consolecolor. White;
Console. Setcursorposition(10, 7);
Console. Write("kullanıcı adınız:");
Console. Setcursorposition(10, 9);
Console. Write("kullanıcı şifreniz:");
Console. Setcursorposition(10, 11);
Console. Write("kullanıcı şifre eşleştir:");
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Console. Foregroundcolor = consolecolor. Darkgreen;
Try.
{
Console. Setcursorposition(30, 7);
K_ad = convert. Tostring(Console .ReadLine());
Console. Setcursorposition(30, 9);
K_sifre = convert. Tostring(Console.ReadLine());
Console. Setcursorposition(40, 11);
K_sifre_es = convert. Tostring(Console .ReadLine());
İf (string. Isnullorempty(k_ad)== true)
{
Console. Setcursorposition(10, 19);
Console. Write("kullanıcı adı boş bırakılamaz!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata;
}
Else if (string. Isnullorempty(k_sifre)==true)
{
Console. Setcursorposition(10, 19);
Console. Write("kullanıcı şifre alanı boş bırakılamaz!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata;
}
Else if (string. Isnullorempty(k_sifre_es) == true)
{
Console. Setcursorposition(10, 19);
Console. Write("kullanıcı şifre eşleştirme alanı boş bırakılamaz!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/örneğin: Kullanıcıdan ver girişlerinde girilen şifrelerin birbiri ile uyumlu olduğu sürece işlem yapılmaya devam eder./
İnt kontrol = string.compare(k_sifre, k_sifre_es);
//Kullanıcının şifre1 ve şifre2 verilerinin karşılaştırılmasını sağlarız.
İf (kontrol == 0) // veri girişleri karşılaştırma sonucunda uyumlu ise
{
String sifre = k_sifre;
}
Else // değilse...
{
Console. Foregroundcolor = consolecolor. Darkred;
Console. Setcursorposition(10, 19);
Console. Write("uyumsuz şifre girişi!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata; //goto etiketi yardımı ile işlemi tekrar ettir.
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
İf (string. Isnullorempty(k_ad) == false && string. Isnullorempty(k_sifre) == false && string. Isnullorempty(k_sifre_es) == false)
{
Console. Foregroundcolor = consolecolor. Darkred;
Console. Setcursorposition(10, 19);
Console. Write("kulanıcı adı: " + k_ad + "\tkullanıcı şifreniz:" + k_sifre + "\tşifre tekrar: " + k_sifre_es);
System. Threading. Thread. Sleep(1000);
Console.Clear();
Console. Foregroundcolor = consolecolor. White;
Buttanlar.menuler();//eğer ki işlem sonrasında doğrudan anasayfaya gitmesi istenilir ise.
}
}
Catch
{
Console. Setcursorposition(10, 13);
Console. Write("hatalı kullanıcı!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata;
}
Console.ReadKey();
}
************************************************************************
Kayıt alanı
Public static Void kayit_veri()
{
Console. Title = "kayıt ol. ";
Console. Outputencoding = encoding. Getencoding("IBM857");
String ad, soyad, sifre, sifrees, sehir, mail;
Hata:
Console.Clear();
Console. Setcursorposition(10, 7);
Console. Write("adınız:");
Console. Setcursorposition(10, 9);
Console. Write("soyadınız:");
Console. Setcursorposition(10, 11);
Console. Write("şifreniz:");
Console. Setcursorposition(10, 13);
Console. Write("şifre eşleştir:");
Console. Setcursorposition(10, 15);
Console. Write("şehriniz:");
Console. Setcursorposition(10, 17);
Console. Write("mail adresiniz:");
/* Console. Foregroundcolor = consolecolor. Darkgreen;
Console. Setcursorposition(10, 20);
Console. Write("kayıt");
Console. Setcursorposition(20, 20);
Console. Write("geri");
Console. Setcursorposition(30, 20);
Console. Write("çıkış");*/
Console. Foregroundcolor = consolecolor. Green;
Try.
{
Console. Setcursorposition(30, 7);
Ad = convert. Tostring(Console.ReadLine());
Console. Setcursorposition(30, 9);
Soyad = convert. Tostring(Console.ReadLine());
Console. Setcursorposition(30, 11);
Sifre = convert. Tostring(Console.ReadLine());
Console. Setcursorposition(30, 13);
Sifrees = convert. Tostring(Console.ReadLine());
Console. Setcursorposition(30, 15);
Sehir = convert. Tostring(Console.ReadLine());
Console. Setcursorposition(30, 17);
Mail = convert. Tostring(Console.ReadLine());
İf (string. Isnullorempty(ad)== true)
{
Console. Setcursorposition(30, 20);
Console. Write("ad bilgisi boş bırakılamaz!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata;
}
İf (string. Isnullorempty(soyad)== true)
{
Console. Setcursorposition(30, 20);
Console. Write("soyad bilgisi boş bırakılamaz!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata;
}
İf (string. Isnullorempty(sifre)== true)
{
Console. Setcursorposition(30, 20);
Console. Write("şifre bilgisi boş bırakılamaz!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata;
}
İf (string. Isnullorempty(sifrees) == true)
{
Console. Setcursorposition(30, 20);
Console. Write("şifre eşleştirm bilgisi boş bırakılamaz!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata;
}
İf (string. Isnullorempty(sehir) == true)
{
Console. Setcursorposition(30, 20);
Console. Write("şehir bilgisi boş bırakılamaz!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata;
}
İf (string. Isnullorempty(mail) == true)
{
Console. Setcursorposition(30, 20);
Console. Write("mail bilgisi boş bırakılamaz!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata;
}
İf (string. Isnullorempty(ad)==false && string. Isnullorempty(soyad)== false && string. Isnullorempty(sifre)== false && string. Isnullorempty(sifrees)==false &&string. Isnullorempty(sehir)==false && string. Isnullorempty(mail)== false)
{
Console. Foregroundcolor = consolecolor. Darkred;
Console. Setcursorposition(10, 19);
Console. Write("kulanıcı adı: " + ad + "\tkullanıcı şifreniz:" + soyad + "\tşifre tekrar: " + sifre+ "\tşifre tekrar: " + sifrees + "\tşehir:" + sehir+ "\tmail adresi:" + mail);
System. Threading. Thread. Sleep(1000);
Console.Clear();
Console. Foregroundcolor = consolecolor. White;
Buttanlar.menuler();//eğer ki işlem sonrasında doğrudan anasayfaya gitmesi istenilir ise.
}
}
Catch.
{
Console. Setcursorposition(30, 20);
Console. Write("hatalı veri girişi!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata;
}
Console.ReadKey();
}
**************************************************************************************
Admin için farklı bir giriş özelliği için
public static Void admin_giris()
{
Console. Title = "admin g i r i ş ";
Console. Outputencoding = encoding. Getencoding("IBM857");
String admn_adi, admn_sifre, admn_sifrees, ozel_kod;
Hata:
Console.Clear();//ekranda görüntülenmekte olan "ana sayfa" verilerini temizler.
/yeni veriler görüntülenir/
Console. Setcursorposition(10, 7);
Console. Write("kullanıcı admin adınız:");
Console. Setcursorposition(10, 9);
Console. Write("kullanıcı admin şifreniz:");
Console. Setcursorposition(10, 11);
Console. Write("kullanıcı admin şifre eşleştir:");
Console. Setcursorposition(10, 13);
Console. Write("özel admim kodunuz:");
/*Console. Foregroundcolor = consolecolor. Darkgreen;
Console. Setcursorposition(10, 20);
Console. Write("geriş");
Console. Setcursorposition(20, 20);
Console. Write("iptal");*/
Console. Foregroundcolor = consolecolor. Green;
Try.
{
Console. Setcursorposition(38, 7);
Admn_adi = convert. Tostring(Console.ReadLine());
Console. Setcursorposition(38, 9);
Admn_sifre = convert. Tostring(Console.ReadLine());
Console. Setcursorposition(43, 11);
Admn_sifrees = convert. Tostring(Console.ReadLine());
Console. Setcursorposition(38, 13);
Ozel_kod = convert. Tostring(Console.ReadLine());
İf (string. Isnullorempty(admn_adi) == true)
{
Console. Setcursorposition(30, 20);
Console. Write("ad bilgisi boş bırakılamaz!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata;
}
İf (string. Isnullorempty(admn_sifre) == true)
{
Console. Setcursorposition(30, 20);
Console. Write("soyad bilgisi boş bırakılamaz!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata;
}
İf (string. Isnullorempty(admn_sifrees) == true)
{
Console. Setcursorposition(30, 20);
Console. Write("şifre bilgisi boş bırakılamaz!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata;
}
İf (string. Isnullorempty(ozel_kod) == true)
{
Console. Setcursorposition(30, 20);
Console. Write("şifre eşleştirm bilgisi boş bırakılamaz!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata;
}
İf (string. Isnullorempty(admn_adi) == false && string. Isnullorempty(admn_sifre) == false && string. Isnullorempty(admn_sifrees) == false && string. Isnullorempty(ozel_kod) == false )
{
Console. Foregroundcolor = consolecolor. Darkred;
Console. Setcursorposition(2, 19);
Console. Write("kulanıcı admin adı: " + admn_adi + "\tkullanıcı admin şifreniz:" + admn_sifre + "\tadmin şifre tekrar: " + admn_sifrees + "\tadmin özel kod: " + ozel_kod );
System. Threading. Thread. Sleep(1000);
Console.Clear();
Console. Foregroundcolor = consolecolor. White;
Buttanlar.menuler();//eğer ki işlem sonrasında doğrudan anasayfaya gitmesi istenilir ise.
}
}
Catch.
{
Console. Setcursorposition(30, 20);
Console. Write("hatalı veri girişi!");
System. Threading. Thread. Sleep(1000);
Console.Clear();
Goto hata;
}
Console.ReadKey();
}
Tüm çalışmada ki komutlarımı buraya aktarma yaptım hem sormak istediklerim daha net olsun hem de benim gibi acemi olanlar faydalansınlar. Teşekkür ederim, mutlu oldum ve sonunda konum ayarlaması tamam. Şimdi ise giriş, kayıt, admin giriş gibi class alanları ouşturdum. Çalışmasında problem yok fakat ben bazı class yapılarını(giriş ve kayıt) alanını görselolarak tek sayfa içerisinde görebilmek istiyorum tabii münüler ile birlikte.
Bunu denedim ama çalıştıktan sonra işlem yaptıkça geliyor. Aynı anda kullanıcı hem menüleri hem giriş alanını hem de kayıt alanlarını görebilsin. Ve imlec ile o alanlar içerisinde gezebilsin.Girişin içerisinde kayıt classını çağırıp gösterebilirsiniz aynı şekilde kayıt içinde yapabilirsiniz.
Bunu denedim ama çalıştıktan sonra işlem yaptıkça geliyor. Aynı anda kullanıcı hem menüleri hem giriş alanını hem de kayıt alanlarını görebilsin. Ve imlec ile o alanlar içerisinde gezebilsin.
Bunu ben yapamadım açıkçası. Biraz cevabınızdan sonra bayağı denedim ve araştırdım sonuç yine sormaktan başka çözüm bulamadım. Daha detaylı olabilmek için yeni eklediğim görselde ki gibi menüleri tek sayfada göstermek ve klavyeden bu menüler üzerinde hareket etmek istiyorum. Ayrıca bu klavye ye ek olarak mouse ile tıklama işlemi yaptırabilir miyim ?Load içerisinde çağırırsanız Console çalıştığında direkt gelecektir.