C#-та қосу, азайту, КӨбейту, БӨлу амалдары



бет10/19
Дата14.10.2023
өлшемі0,94 Mb.
#115131
1   ...   6   7   8   9   10   11   12   13   ...   19

partial class Form1
{
private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.pictureBox1 = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
this.pictureBox1.Location = new System.Drawing.Point(12, 12);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(800, 600);
this.pictureBox1.TabIndex = 0;
this.pictureBox1.TabStop = false;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(823, 623);
this.Controls.Add(this.pictureBox1);
this.Name = "Form1";
this.Text = "ҮШБҰРЫШТАРДЫ РАСТЕРИЗАЦИЯЛАУ";
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
}
private System.Windows.Forms.PictureBox pictureBox1;
}
}
C# ДАТА ЖӘНЕ УАҚЫТ
Бүгін біз жүктеген кезде цифрлы сағат пен датаны көрсететін бағдарлама жасаймыз.
Алдымен келесі форманы жасаймыз:

Мұнда 2-Label мен +Timer ғана бар.
Өз қалауымызша Label-ді баптаймыз.
Енді кодқа көшейік, Форманы тышқанның оң жағымен шертіп, сәйкес команданы таңдаймыз.
public partial class Form1 : Form жолынан кейін бірден таймерді жариялаймыз.
Ол былай жасалынады:
public partial class Form1 : Form
{
Timer timer = new Timer();
Оны ең басында жариялаймыз, себебі барлық жазылатын функциялар оны ескеруі керек.
Таймерді қосу үшін формаға барып, оны тышқанның сол жақ батырмасымен екі рет шертеміз.
Форма жүктелген кезде орындалатын кодқа көшеміз. Бұл жерге жазамыз:
private void Form1_Load(object sender, EventArgs e)
{
timer.Interval = 1000; 
timer.Tick += new EventHandler(timer1_Tick);
timer.Start();
}
Бірінші жол таймердің жаңару интервалын орнатады. 1000 саны таймердың әр 1000 миллисекунд, яғни 1 секунд сайын жаңаратынын білдіреді.
Екінші жол өте маңызды – ол таймердың қандай да бір «Tick» оқиғасы кезінде орындалады. 1000 миллисекунд сайын орындалады. Соның арқасында қолданушы циферблаттың өзгеруін көре алады. Оқиғаның өзін біз төменде timer1_Tick функциясында сипаттаймыз.
Үшінші жолда біз таймерді іске қосамыз.
Енді формаға оралып таймердың суретін  екі рет шертеміз.
Міне timer1_Tick функциясы ашылды. Мұнда белгілі бір код жазамыз және әр 1000 миллисекунд сайын бұл қайта орындалып отырады.
Біздің функциямыздың ішінде алдымен кейбір айнымалыларды жариялаймыз:
int h = DateTime.Now.Hour;
int m = DateTime.Now.Minute;
int s = DateTime.Now.Second;
string time = "";
h айнымалысына сағат, m айнымалысына минут, s айнымалысына секунд жазамыз.
string типті Time айнымалысы бізге алғашқы үш айнымалыны формаға шығару үшін жазамыз.
if (h < 10)
{
time += "0" + h;
}
else
{
time += h;
}
time += ":";
if (m < 10)
{
time += "0" + m;
}
else
{
time += m;
}
time += ":";
if (s < 10)
{
time += "0" + s;
}
else
{
time += s;
}
Алдымен біз шарт қоямыз. Егер h<10 болса, яғни сағат 0-ден 9-аралығында уақытты көрсетсе, time жолындағы h-тың алдына нөл саны жазылуы керек. Тек сағат 5 деп емес, сағат 05 деп шығуы керек. Басқа жағдайда (else) біз time жолындағы h айнымалысына нөлсіз уақытты экранға көрсетеміз.
Осыны минут пен секунд үшін де жазамыз, тек сағат пен минут арасына және минут пен секунд арасына қос нүкте қоюды ұмытпаймыз.
Не істегенімізді толығырақ түсіну үшін time жолағының жұмысы туралы білейік. Біз кезекпен оған сағатты (нөлмен немесе нөлсіз), минутты (ұқсас) және секундты (ұқсас) жазамыз. Олардың арасына қос нүкте қойдық. Сондықтан, алғашқы екі шарттан кейін бізде жолақтар болады:
time += ":";
Сонымен, программа жұмысының басында бізде time жолағы бос (оң жағынан бос тырнақша қойып жоғарыда солай етіп жазған болатынбыз: string time = “”). Таймер іске қосылғаннан соң жолаққа алдымен 10-нан үлкен не кем есенін ескеріп, сағат жазылады, яғни жолақтағы бос аймақтың орнына егер қазір сағат 12 болса, «12» сынды. Содан соң, біз минутты жазамыз, мысалы «12:06», тағы да қос нүкте қойып, секундты жазамыз «12:06:34». Әр 1000 миллисекунд, яғни 1 секунд сайын қайта жаңарып жазылып отырады.
Енді біздің қолданушы уақытты әзірге көре алмайды. Сондықтан, біз жолақты Label арқылы формаға шығарамыз. Бізде бұл ең үлкен қаріпі бар Label2.
label2.Text = time;
Біздің сағат дайын. Жобаны іске қосып, уақыттың зымырап өтіп бара жатқанын тамашалауға болады. Алайда, біз оған қоса датаны да шығарғымыз келеді. Ол да осыған ұқсас жасалады. Сондықтан төменде жазамыз:
string data = "";
int day = DateTime.Now.Day;
int month = DateTime.Now.Month;
int year = DateTime.Now.Year;
if (day < 10)
{
data += "0" + day;
}
else
{
data += day;
}
data += ".";
if(month<10)
{
data += "0" + month;
}
else
{
data += month;
}
data += ".";
data += year;
label1.Text = data;
Айырмашылығы тек нөлдерді айлар мен күндер алдына ғана қоямыз. Жылдан өзі төрт орынды санан тұрады. Қос нүкте орнына жай ғана нүкте қоямыз. Нәтижесінде мына түрге келеді: 16.02.2015.
Басқа Label-ға жоғарыдағы сияқты жазамыз.
Нәтижесінде мынадай бағдарлама пайда болады:

Бағдарламаның толық листингі:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace chasy
{
public partial class Form1 : Form
{
Timer timer = new Timer();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
timer.Interval = 1000;
timer.Tick += new EventHandler(timer1_Tick);
timer.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
int h = DateTime.Now.Hour;
int m = DateTime.Now.Minute;
int s = DateTime.Now.Second;
string time = "";
if (h < 10)
{
time += "0" + h;
}
else
{
time += h;
}
time += ":";
if (m < 10)
{
time += "0" + m;
}
else
{
time += m;
}
time += ":";
if (s < 10)
{
time += "0" + s;
}
else
{
time += s;
}
label2.Text = time;
string data = "";
int day = DateTime.Now.Day;
int month = DateTime.Now.Month;
int year = DateTime.Now.Year;
if (day < 10)
{
data += "0" + day;
}
else
{
data += day;
}
data += ".";
if(month<10)
{
data += "0" + month;
}
else
{
data += month;
}
data += ".";
data += year;
label1.Text = data;
}
}
}



Достарыңызбен бөлісу:
1   ...   6   7   8   9   10   11   12   13   ...   19




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет