niedziela, 5 listopada 2023

std::tuple C++ Builder


void __fastcall TForm1::info_File(UnicodeString name, int size, UnicodeString date_Modification)
{
Edit1->Text=name;
Edit2->Text=IntToStr(size);
Edit3->Text=date_Modification;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
using INFO=tuple<UnicodeString,int,UnicodeString>;
TSearchRec info_Sys;
AnsiString date,name_File;
int bytes;
 name_File=Application->ExeName;
 if(FindFirst(name_File,faAnyFile,info_Sys)!=0)
 {
ShowMessage("I can't open file");
Close();
 }
 bytes=info_Sys.Size;
 date=DateTimeToStr(FileDateToDateTime(info_Sys.Time));
 INFO application_exe={name_File,bytes,date};
 const auto &[name,size,date_Modification]=application_exe;
 info_File(name,size,date_Modification);
}


 

wtorek, 31 października 2023

Directory /proc/ - g++

 
#include <iostream>
#include <fstream>

using namespace std;

void printf_File(string name_File)
{
    
    ifstream main_File(name_File.c_str());
    if(main_File.is_open())
    {
        char temp_String[10000];
        while(main_File.getline(temp_String,10000))
        {
            cout<<temp_String<<endl;
        }
    }
    else
    cout<<"I can't read - "<<name_File<<endl;
    
}

int main(int argc, char **argv)
{
    string proc_Info[3]={"/proc/version","/proc/cpuinfo","/proc/meminfo"};
    for(int i=0;i<3;i++)
    {
        printf_File(proc_Info[i]);
    }
    
    return 0;
}

czwartek, 14 września 2023

My class - save_Text - C++ Builder

 class save_Text

{

private:

char** buff;

int l_size;

    char* name;

ofstream my_File;

UnicodeString* date;

const int length=256;

public:

save_Text(char* file_Name,UnicodeString* text,int lines);

void Save();

~save_Text();


};

save_Text::save_Text(char* file_Name,UnicodeString* text,int lines)

{

 l_size=lines;

 name=file_Name;

 date=text;

 buff=new char*[l_size];

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

  buff[i]=new char[length];

}

void save_Text::Save()

{

 my_File.open(name);

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

 {

wcstombs(buff[i],date[i].w_str(),length);

my_File<<buff[i]<<"\n";

 }

 my_File.close();

}

save_Text::~save_Text()

{

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

delete [] buff[i];

    delete []buff;

}

void __fastcall TForm1::Button3Click(TObject *Sender)
{
 UnicodeString safety_Tips[5];
 safety_Tips[0]="Report to Safety Cordinator";
 safety_Tips[1]="Stricty obey Safety Rules";
 safety_Tips[2]="Smoke only in designated areas";
 safety_Tips[3]="Keep Emergency Number near you";
 safety_Tips[4]="Do not take risks";

 save_Text Safety("safety.txt",safety_Tips,5);
 Safety.Save();

}

poniedziałek, 11 września 2023

Type Variant examples - C++ Builder

 


void __fastcall TForm1::FormCreate(TObject *Sender)
{
 Variant x;
 TVarData(x).VDate=Now();
 x=TVarData(x).VDate;
 Label1->Caption=VarToStr(x);
 int i,j;
 Variant integer_Tab(OPENARRAY(int,(1,10,1,10)),varInteger);
 Variant double_Tab(OPENARRAY(int,(1,10,1,10)),varDouble);
 Variant currency_Tab(OPENARRAY(int,(1,10,1,10)),varCurrency);
 Variant date_Tab(OPENARRAY(int,(1,10,1,10)),varDate);
 double k=0.01;
 for(i=0;i<10;i++)
 {
for(j=0;j<10;j++)
{
integer_Tab.PutElement((i+1)*(j+1),i+1,j+1);
double_Tab.PutElement(k*(i+1*1.00)*(j+1*1.00),i+1,j+1);
currency_Tab.PutElement(k*(i+1*1.00)+(j+1*1.00),i+1,j+1);
         date_Tab.PutElement(x,i+1,j+1);

}
 }
 for(i=0;i<10;i++)
 {
for(j=0;j<10;j++)
{
StringGrid1->Cells[i][j]=integer_Tab.GetElement(i+1,j+1);
StringGrid2->Cells[i][j]=double_Tab.GetElement(i+1,j+1);
StringGrid3->Cells[i][j]=currency_Tab.GetElement(i+1,j+1);
         StringGrid4->Cells[i][j]=date_Tab.GetElement(i+1,j+1);

}
 }

}


niedziela, 23 lipca 2023

Time file information - class C++ Builder

 



class time_File
{
private:
TSearchRec modification;
TSystemTime d1,t1,d2,t2;
AnsiString FileN;
public:
time_File(AnsiString name);
AnsiString last_Modfication();
AnsiString create_File();
AnsiString last_Access();

};

time_File::time_File(AnsiString name)
{
FileN=name;
FindFirst(FileN,faAnyFile,modification);
FindClose(modification);
}
AnsiString time_File::last_Modfication()
{

return  (AnsiString) DateTimeToStr(FileDateToDateTime(modification.Time));
}

AnsiString time_File::create_File()
{
FileTimeToSystemTime(&(modification.FindData.ftCreationTime),&d1);
SystemTimeToTzSpecificLocalTime(NULL,&d1,&t1);
return (AnsiString) DateTimeToStr(SystemTimeToDateTime(t1));
}
AnsiString time_File::last_Access()
{
FileTimeToSystemTime(&(modification.FindData.ftLastAccessTime),&d2);
SystemTimeToTzSpecificLocalTime(NULL,&d2,&t2);
return (AnsiString) DateTimeToStr(SystemTimeToDateTime(t2));

}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  AnsiString name_Project=Application->ExeName;
  time_File info_File(name_Project);
  Label4->Caption=name_Project;
  Label1->Caption="Last modification: "+info_File.last_Modfication();
  Label2->Caption="Create time: "+info_File.create_File();
  Label3->Caption="Last access time: "+info_File.last_Access();
}








                

niedziela, 9 lipca 2023

Sorting - C++ example

 


#include <iostream>

#include <stdlib.h>

#include <time.h>

#define kk 12

using namespace std;


void i_Sort(int* tab, int ssize1)

{

int i,j,k;

for(i=1;i<ssize1;i++)

{

j=i;

k=tab[j];

while((j>0) && (tab[j-1]>k))

{

tab[j]=tab[j-1];

j--;

}

tab[j]=k;

}

}


void z_Sort(int* tab, int ssize1)

{

int i,j,k;

for(i=1;i<ssize1;i++)

{

j=i;

k=tab[j];

while((j>0) && (tab[j-1]<k))

{

tab[j]=tab[j-1];

j--;

}

tab[j]=k;

}

}

int *tab1,*tab2,*tab3;

int main(int argc, char **argv)

{

 int i,j;

 srand(time(NULL));

 tab1=new int[kk];

 tab2=new int[kk];

 tab3=new int[kk];

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

 {

j=rand()%100;

tab1[i]=j;

tab2[i]=tab1[i];

tab3[i]=tab2[i];

 }

 i_Sort(tab2,kk);

 z_Sort(tab3,kk);

 cout<<"Original array: \n";

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

 {

cout<<tab1[i]<<"   ";

 }

 cout<<endl;

 cout<<"Descending sort: \n";

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

 {

cout<<tab3[i]<<"   ";

 }

 cout<<endl;

 cout<<"Ascending sort: \n";

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

 {

cout<<tab2[i]<<"   ";

 }

 cout<<endl;

 delete tab3;

 delete tab2;

 delete tab1;

 

return 0;

}

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();

}