niedziela, 4 czerwca 2023

Title Form Application - Visual C++

 



private:

Form^ my_T;


private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {

my_T = gcnew Form;

int w, h,centr_X,centr_Y;

Label^ text1;

Label^ text2;

Button^ close_B = gcnew Button;

text1 = gcnew Label;

text2 = gcnew Label;

System::Drawing::Font^ font1=gcnew 

System::Drawing::Font(System::Drawing::FontFamily::GenericSansSerif, 18, FontStyle::Bold);

System::Drawing::Font^ font2 = gcnew

System::Drawing::Font(System::Drawing::FontFamily::GenericSansSerif, 22, FontStyle::Italic);

        my_T->Width = 601; my_T->Height = 301;

w = my_T->Width; h = my_T->Height;

centr_X = w / 2;

centr_Y = h / 2;

text1->Text = "Version 1.0";

text2->Text = "Author:  lukasz.wierzbicki2@gmail.com";

text1->Font = font1;

text2->Font = font2;

text1->AutoSize = true;

text2->AutoSize = true;

text1->Location = Point(centr_X-300, centr_Y-100);

text2->Location = Point(centr_X-300, (centr_Y-100) + 30);

close_B->Text = "CLOSE";

close_B->Location = Point(centr_X - 50, (centr_Y - 100) + 180);

close_B->AutoSize = true;

my_T->Text = "Title Aplication: ";

my_T->Controls->Add(text1);

my_T->Controls->Add(text2);

my_T->Controls->Add(close_B);

my_T->TopMost = true;

close_B->Click += gcnew EventHandler(this, &Form1::close_B_Click);

my_T->Show();

}

private: System::Void close_B_Click(System::Object^ sender, System::EventArgs^ e)

{

my_T->Close();

}

wtorek, 30 maja 2023

Dynamic array - Visual C++


 

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {

int i, j;

 

array<System::Int64, 2>^ tabInt = gcnew array<System::Int64, 2>(10, 10);

array<System::Double, 2>^ tabDouble = gcnew array<System::Double, 2>(10, 10);

dataGridView1->ColumnCount = 10; dataGridView2->ColumnCount = 10;

dataGridView1->RowCount = 10; dataGridView2->RowCount = 10;

for (i = 0; i < 10; i++)

{

dataGridView1->Rows[i]->DefaultCellStyle->BackColor =

System::Drawing::Color::BlueViolet;

dataGridView2->Rows[i]->DefaultCellStyle->BackColor = System::Drawing::Color::Beige;

dataGridView1->Columns[i]->Width = 50;

dataGridView2->Columns[i]->Width = 50;

dataGridView1->Rows[i]->Height = 25;

dataGridView2->Rows[i]->Height = 25;

}

for (i = 0; i < 10; i++)

{

for (j = 0; j < 10; j++)

{

tabInt[i, j] = (i + 1) * (j + 1);

tabDouble[i, j] = sqrt(1.00 * tabInt[i, j]);

dataGridView1->Rows[i]->Cells[j]->Value = tabInt[i, j].ToString();

dataGridView2->Rows[i]->Cells[j]->Value = tabDouble[i, j].ToString();

}

}

}

piątek, 28 kwietnia 2023

Use of pointers (C)

 


#include <stdio.h>

#include <stdlib.h>

#include <time.h>


#define kk 10


int a;

void int_S(int* tab);

void double_S(double* tab);

void text_S(char* text);


void init()

{

srand(time(NULL));

a=1+rand()%kk;

}

char write_Letter(int b)

{

if(b%2==0)

return 'A';

else

return 'B';

}


void int_S(int* tab)

{

for(int i=0;i<kk;i++)

tab[i]=a;

}

void double_S(double* tab)

{

for(int i=0;i<kk;i++)

tab[i]=(1.00*a)/100.00;

}

void text_S(char* text)

{

for(int i=0;i<kk;i++)

text[i]=write_Letter(a);

}


int main(int argc, char **argv)

{

void* int_T; int* temp_I;

void* double_T; double* temp_D;

void* char_T; char* temp_C;

init();

int_T=malloc(kk*sizeof(int));

double_T=malloc(kk*sizeof(double));

char_T=malloc(kk*sizeof(char));

temp_I=(int*)int_T;

temp_D=(double*)double_T;

temp_C=(char*)char_T;

int_S(temp_I);

double_S(temp_D);

text_S(temp_C);

free(temp_C);

free(temp_D);

free(temp_I);

return 0;

}

czwartek, 6 kwietnia 2023

sendfile, malloc, free() - example C

 #include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <fcntl.h>

#include <unistd.h>

#include <sys/types.h>

#include <sys/stat.h>

#include <sys/sendfile.h>


#define kk 10

#define mm kk*kk


int** tab;

double** tab_Sqrt;

double** tab_Aver;


struct stat new_Buff;


struct Point

{

int m_Int;

double m_Sqrt;

double m_Aver;

};


 int date_File,copy_date_File;

int main(int argc, char **argv)

{

int i,j,k,l;

FILE *fp;

off_t off1;

tab=malloc(kk*sizeof(int*));

tab_Sqrt=malloc(kk*sizeof(double*));

tab_Aver=malloc(kk*sizeof(double*));

off1=0;

struct Point* new_Point=malloc(mm*(sizeof(struct Point)));

for(i=0;i<kk;i++)

{

tab[i]=malloc(kk*sizeof(int));

tab_Sqrt[i]=malloc(kk*sizeof(double));

tab_Aver[i]=malloc(kk*sizeof(double));

}

l=0;

for(i=0;i<kk;i++)

{

for(j=0;j<kk;j++)

{

k=(i+1)*(j+1);

tab[i][j]=k;

tab_Sqrt[i][j]=sqrt(1.00*k);

tab_Aver[i][j]=1.00/(1.00*k);

new_Point[l].m_Int=tab[i][j];

new_Point[l].m_Sqrt=tab_Sqrt[i][j];

new_Point[l].m_Aver=tab_Aver[i][j];

++l;

}

}

if ((fp=fopen("new_Point.txt", "w"))==NULL) 

{

     printf ("Can't open the file - new_Point.txt\n");

     exit(1);

     }

     for(i=0;i<mm;i++)

     {

fprintf(fp,"%d",new_Point[i].m_Int);

fprintf(fp,"%.2f",new_Point[i].m_Sqrt);

fprintf(fp,"%.2f",new_Point[i].m_Aver);

fprintf(fp,"\n");

}

fclose(fp);

date_File=open("new_Point.txt",O_RDONLY);

fstat(date_File,&new_Buff);

copy_date_File=open("copy_Point.txt",O_WRONLY | O_CREAT,new_Buff.st_mode);

sendfile(copy_date_File,date_File,off1,new_Buff.st_size);

close(copy_date_File);

close(date_File);

for(i=0;i<kk;i++)

{

free(tab[i]);

free(tab_Sqrt[i]);

free(tab_Aver[i]);

}

free(new_Point);

free(tab_Aver);

free(tab_Sqrt);

free(tab);

return 0;

}


czwartek, 9 marca 2023

RGN_COPY, SetWindowRgn() - C++ Builder


 



private: // User declarations

        int form_Min(int x, int y);

        int r,margn;

        HRGN temp_RGN,temp_Ellipse;

        void init_Date();

public: // User declarations

        void rgn_Xor();

        void rgn_Or();

        void rgn_And();

        void rgn_Diff();

        __fastcall TForm1(TComponent* Owner);

};


int TForm1::form_Min(int x, int y)

{

 if(x<y)

  return x;

 else

  return y;

}

void TForm1::init_Date()

{

 temp_RGN=CreateRectRgn(0,0,Width,Height);

 r=form_Min(Height,Width);

 margn=Height-ClientHeight;

 temp_Ellipse=CreateEllipticRgn(0,margn,r,r);

}

void TForm1::rgn_Xor()

{

 init_Date();

 CombineRgn(temp_Ellipse,temp_RGN,temp_Ellipse,RGN_XOR);

 SetWindowRgn(Handle,temp_Ellipse,true);

}

void TForm1::rgn_Or()

{

 init_Date();

 CombineRgn(temp_Ellipse,temp_RGN,temp_Ellipse,RGN_OR);

 SetWindowRgn(Handle,temp_Ellipse,true);

}

void TForm1::rgn_And()

{

 init_Date();

 CombineRgn(temp_Ellipse,temp_RGN,temp_Ellipse,RGN_AND);

 SetWindowRgn(Handle,temp_Ellipse,true);

}

void TForm1::rgn_Diff()

{

 init_Date();

 CombineRgn(temp_Ellipse,temp_RGN,temp_Ellipse,RGN_DIFF);

 SetWindowRgn(Handle,temp_Ellipse,true);

}

__fastcall TForm1::TForm1(TComponent* Owner)

        : TForm(Owner)

{

}

//---------------------------------------------------------------------------


void __fastcall TForm1::Button1Click(TObject *Sender)

{

 rgn_Xor();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

  rgn_Or();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

 rgn_And();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)

{

 rgn_Diff();

}


środa, 8 lutego 2023

Project files in ListBoxes - Visual C++


 #pragma endregion

private:

String^ char_to_String(char* value)

{

String^ result = gcnew String(value);

return result;

}

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

char* name1 = "Form1.h";

char* name2 = "Form1.cpp";

char* name3 = "pch.h";

char* name4 = "pch.cpp";

char* name5 = "Resource.h";

String^ temp;

char buff1[10000], buff2[10000], buff3[10000], buff4[10000], buff5[10000];

ifstream file1(name1);

if (file1.is_open())

{

while (file1.getline(buff1, 1000))

{

temp = char_to_String(buff1);

listBox1->Items->Add(temp);

}

file1.close();

}

ifstream file2(name2);

if (file2.is_open())

{

while (file2.getline(buff2, 1000))

{

temp = char_to_String(buff2);

listBox2->Items->Add(temp);

}

file2.close();

}

ifstream file3(name3);

if (file3.is_open())

{

while (file3.getline(buff3, 1000))

{

temp = char_to_String(buff3);

listBox3->Items->Add(temp);

}

file3.close();

}

ifstream file4(name4);

if (file4.is_open())

{

while (file4.getline(buff4, 1000))

{

temp = char_to_String(buff4);

listBox4->Items->Add(temp);

}

file4.close();

}

ifstream file5(name5);

if (file5.is_open())

{

while (file5.getline(buff5, 1000))

{

temp = char_to_String(buff5);

listBox5->Items->Add(temp);

}

file5.close();

}


}

czwartek, 2 lutego 2023

STL, shared_ptr, make shared - example g++ console

#include <iostream>

#include <string>

#include <memory>


using namespace std;


class CPU

{

public:

    string model_Name;

    int cache_Size;

    double cpu_MHz;


    CPU(string a1, int a2, double a3)

    {

        model_Name=a1;

        cache_Size=a2;

        cpu_MHz=a3;

        cout<<"START\n";

    }


    ~CPU()

    {

        cout<<"END\n";

    }


};


shared_ptr<double>shared_Double;

shared_ptr<int>shared_Int;

shared_ptr<string>shared_String;


int main()

{

 auto date_CPU(make_shared<CPU>("Pentium III",1024,900.65));

 shared_Double=shared_ptr<double>(date_CPU,&date_CPU->cpu_MHz);

 shared_Int=shared_ptr<int>(date_CPU,&date_CPU->cache_Size);

 shared_String=shared_ptr<string>(date_CPU,&date_CPU->model_Name);

 cout<<"Report CPU: \n";

 cout<<"Model:  "<<*shared_String<<endl;

 cout<<"Cache: "<<*shared_Int<<endl;

 cout<<"MHz: "<<*shared_Double<<endl;

    return 0;

}