Понеділок, 18.02.2019, 08:49
Гость

Мішатронік

Автор - Кренцін Михайло

Мобільна версія | Додати у вибране  | Мій профіль | Вихід | RSS |
Меню сайту
Категории раздела
Наше опитування
Вам легко дається програмування
Всього відповідей: 1
Статистика

Онлайн всього: 1
Гостей: 1
Користувачів: 0




Главная » FAQ » C++ Builder


// для получения текущей даты и  времени воспользуйтесь функцией

// Now() из модуля Sysutils.hpp . Отобразить  полученные дату и

// время можно следующим образом (Button1 - кнопка на  форме):

void __fastcall TForm1::Button1Click(TObject  *Sender)

{

Form1->Caption =  DateTimeToStr(Now());

}


// для получения текущего времени воспользуйтесь функцией  Time()

// из модуля Sysutils.hpp . Отобразить полученную дату можно

//  следующим образом (Button1 - кнопка на форме):

void __fastcall  TForm1::Button1Click(TObject *Sender)

{

Form1->Caption =  DateTimeToStr(Time());

}


// для получения дня недели воспользуйтесь функцией  DayOfWeek()

// из модуля Sysutils.hpp, передав ей текущую дату.  DayOfWeek

// возвращает значение от 1 до 7, где 1 - воскресенье,

// 2 -  понедельник, и т. д.

int Day =  DayOfWeek(Date());


Напишите следующий код:

void __fastcall  TForm1::Timer1Timer(TObject *Sender)

{

Label1->Caption =  FormatDateTime("hh:nn",Time());

Timer1->Interval=10000;// меньше число, больше точность

}


// Напишите следующий код:

DWORD start=GetTickCount();
// тут ваша функция или как-либо действия

Edit1->Text=FloatToStr((GetTickCount()-start)/1000.);


// Преобразование осуществляется следующей функцией:

void SetBitmapPaletteToGreyScale(Graphics::TBitmap *pBitmap)

{

    LOGPALETTE *pal;

    HPALETTE hpal;

    int i;

    int PaletteSize; //Size of the palette buffer

    pBitmap->PixelFormat = pf8bit;

    pal = NULL;

    PaletteSize = sizeof(TLogPalette) + (sizeof(TPaletteEntry) * 255);

    pal = (LOGPALETTE *) malloc(PaletteSize);

    pal->palVersion = 0x300;

    pal->palNumEntries = 256;

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

    {

      pal->palPalEntry[i].peRed = i;

      pal->palPalEntry[i].peGreen = i;

      pal->palPalEntry[i].peBlue = i;

      pal->palPalEntry[i].peFlags = PC_NOCOLLAPSE;

    }

    hpal = CreatePalette(pal);

    if(hpal != 0) pBitmap->Palette = hpal;

    free(pal);

}


// Для того чтобы проиграть MIDI:

#include



mciSendString("open anny.mid type sequencer alias MUSIC", NULL, 0, 0);

mciSendString("play MUSIC from 0", NULL, 0, 0);


// Для того чтобы воспроизвести  звуковой файл:

// напишите следующий код

#include  "mmsystem.h"

DWORD fdwSound = SND_ASYNC |  SND_FILENAME;

PlaySound("C:\\click.wav",NULL, fdwSound);


// напишите следующий код

BMP.Monochrome = true ; //где BMP - TBitmap


// Для определения размера диска используйте функцию DiskSize,  объявленную в Sysutils.hpp. В параметрах функции диску А соответствует 1, диску  В - 2, и т. д., 0 - текущий диск. Следующий код определит размер диска С в  байтах.

__int64 Size = DiskSize(3);


// Для определения свободного  пространства на диске используйте функцию DiskFree, объявленную в Sysutils.hpp.  В параметрах функции диску А соответствует 1, диску В - 2, и т. д., 0 - текущий  диск. Следующий код определит размер свободного пространства на диске С в  байтах.

__int64 FreeSpace = DiskFree(3);


// для  использования функции необходимо подключить файл

// shlobj.h

//  lpszPathObj - путь к объекту, для которого будет

// создаваться ярлык

//  lpszPathLink - где будет создаватья ярлык

// lpszDesc - описание  ярлыка

HRESULT CreateLink(LPCSTR lpszPathObj, LPSTR  lpszPathLink, LPSTR lpszDesc)

{

    HRESULT hres;

    IShellLink  *psl;

    CoInitialize(NULL);

    hres =  CoCreateInstance(CLSID_ShellLink, NULL,

    CLSCTX_INPROC_SERVER,  IID_IShellLink, (void  **)&psl);

    if(SUCCEEDED(hres))

    {

        IPersistFile  *ppf;

        psl->SetPath(lpszPathObj);

        psl->SetDescription(lpszDesc);

        hres  = psl->QueryInterface(IID_IPersistFile,  (void**)&ppf);

        if(SUCCEEDED(hres))

        {

            wchar_t  wsz[MAX_PATH];

            MultiByteToWideChar(CP_ACP, 0, lpszPathLink, -1, wsz,  MAX_PATH);

            hres = ppf->Save(wsz,  true);

            ppf->Release();

        }

        psl->Release();

        CoUninitialize();

    }

    return  hres;

}


// Для удаления файла надо подключить к проекту Sysutils.hpp и напишите следующий код:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

    AnsiString FileName="c:\\readme.txt";

    if (DeleteFile(FileName)) Label1->Caption="true";

}


// На форме разместите TOpenDialog (OpenDialog1) и TButton

// (Button1) напишите следующий обработчик события OnClick кнопки:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

    if(OpenDialog1->Execute())

    {

        SHELLEXECUTEINFO SEI;

        ZeroMemory(&SEI, sizeof(SHELLEXECUTEINFO));

        SEI.cbSize= sizeof(SHELLEXECUTEINFO);

        SEI.lpVerb = "properties";

        SEI.lpFile= OpenDialog1->FileName.c_str();

        SEI.nShow = SW_SHOW;

        SEI.fMask= SEE_MASK_INVOKEIDLIST;

        ShellExecuteEx(&SEI);

    }

}


// Для  того чтобы скопировать файлы напишите следующий код:

int  MoveFiles( AnsiString slSourceDir, AnsiString slTargetDir, bool toCopy = true  )

{

    SHFILEOPSTRUCT sh;

    sh.fFlags = FOF_NOCONFIRMATION | FOF_SILENT |  FOF_FILESONLY;

    sh.wFunc = toCopy ? FO_COPY : FO_MOVE;

    sh.pFrom =  slSourceDir.c_str();

    sh.pTo = slTargetDir.c_str();

    sh.hNameMappings =  NULL;

    sh.lpszProgressTitle = NULL;

    return SHFileOperation ( &sh  );

}



void __fastcall TForm1::Button1Click(TObject  *Sender)

{

    //copy all from program  files

    if(!MoveFiles("c:\\program files\\*.*",  "c:\\temp"))

    ShowMessage("Ok");

    else  ShowMessage("No");

}

// В функции MoveFiles первый  параметр что копировать,

// второй куда копировать


// Для удаления директории напишите следующий код:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

    SHFILEOPSTRUCT sh;

    sh.hwnd=Form1->Handle;

    sh.wFunc = FO_DELETE;

    sh.pFrom = "c:\\test\0"; //удаляемая директория

    sh.pTo = NULL;

    sh.fFlags = FOF_NOCONFIRMATION | FOF_SILENT;

    sh.hNameMappings = 0;

    sh.lpszProgressTitle = NULL;

    SHFileOperation(&sh);

}


// На  форме должны быть Lаbel1 и Button1, затем напишите следующий  код:

TDateTime FileTimeToDateTime(FILETIME *lpftime)

{

    FILETIME  localfiletime;

    SYSTEMTIME  systime;

    FileTimeToLocalFileTime(lpftime,&localfiletime);

    FileTimeToSystemTime(&localfiletime,&systime);

    return(TDateTime(systime.wYear,  systime.wMonth, systime.wDay)+

    TDateTime(systime.wHour,  systime.wMinute,

    systime.wSecond, systime.wMilliseconds));

    }

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

    void  __fastcall TForm1::Button1Click(TObject *Sender)

    {

    FILETIME  ftCreationTime,ftLastAccessTime,ftLastWriteTime;

    HANDLE  hFile=(HANDLE)FileOpen("c:\\autoexec.bat",fmOpenRead);

GetFileTime(hFile,&ftCreationTime,&ftLastAccessTime,&ftLastWriteTime);
    AnsiString  FileInfo="FileName: c:\\autoexec.bat";

    FileInfo+="\nCreation  Time:"+

    FormatDateTime("c",FileTimeToDateTime(&ftCreationTime));

    FileInfo+="\nLast  Access  Time:"+

    FormatDateTime("c",FileTimeToDateTime(&ftLastAccessTime));

    FileInfo+="\nLast  Write  Time:"+

    FormatDateTime("c",FileTimeToDateTime(&ftLastWriteTime));

    Label1->Caption=FileInfo;

    FileClose((int)  hFile);

}


// Для поиска файлов в каталоге и его подкаталогах напишите  следующий код:

void ListFiles(AnsiString path, TStrings*  List)

{

// Эта процедура выводит список файлов и  вызывает

// саму себя для всех  каталогов

TSearchRec sr;

if (FindFirst(path+"*.*",  faAnyFile, sr) == 0)

{

     do

     {

         if (sr.Attr &  faDirectory)

          {

              if (sr.Name!=".")

              if  (sr.Name!="..")

              {

                  ListFiles(path+sr.Name+"\\",List);// Рекурсивный  вызов

              }

          }

          else

          {

           AnsiString  Ext=ExtractFileExt(sr.Name).UpperCase();

           if  (Ext==".CPP")

           List->Add(path+sr.Name);

          }

     }

     while  (FindNext(sr) ==  0);

     FindClose(sr);

}

    Application->ProcessMessages();

}



void  __fastcall TForm1::Button1Click(TObject  *Sender)

{

    ListFiles("c:\\",Memo1->Lines);

}


// Для того чтобы выбрать папку из диалога напишите следуюший  код:

#include

.. .. .. ..

AnsiString way =  "c:\\";

if(SelectDirectory("Укажите путь к папке","",way)) 

  Label1->Caption = way;


// Для того чтобы удалить папку и все файлы в ней напишите следующую функцию:

bool DeleteDir(AnsiString DirName)

{

TSearchRec sr;

if (DirName.Length())

{

if (!FindFirst(DirName+"\\*.*",faAnyFile,sr))

do

  {

  if (!(sr.Name=="." || sr.Name==".."))// это удалять не надо

   if (((sr.Attr & faDirectory) == faDirectory ) ||

   (sr.Attr == faDirectory))// найдена папка

    {

    FileSetAttr(DirName+"\\"+sr.Name, faDirectory );// сброс всяких read-only

    DeleteDir(DirName+"\\"+sr.Name);//рекурсивно удаляем содержимое

    RemoveDir(DirName + "\\"+sr.Name);// удаляем теперь уже пустую папку

    }

    else// иначе найден файл

    {

    FileSetAttr(DirName+"\\"+sr.Name, 0);// сброс всяких read-only

    DeleteFile(DirName+"\\"+sr.Name);// удаляем файл

    }

  }

while (!FindNext(sr));// ищем опять, пока не найдем все

FindClose(sr);

}

RemoveDir(DirName);

return true;

}


// Напишите следующую  функцию:

#include

TRegistry *Reg;

Reg=NULL;

try

{

  Reg=new TRegistry;

  Reg->RootKey=HKEY_CLASSES_ROOT;

  Reg->OpenKey("\\.ant",true);

  Reg->WriteString("","MyProgram");

  Reg->CloseKey();

Reg->OpenKey("\\MyProgram", true);
Reg->WriteString("","My document");
  Reg->CloseKey();

  Reg->OpenKey("\\MyProgram\\Shell\\Open\\Command",true);

  Reg->WriteString("",ParamStr(0)+" \"%1\"");

  Reg->CloseKey();

  Reg->OpenKey("\\MyProgram\\DefaultIcon",true);

  Reg->WriteString("",ParamStr(0)+", 1");

  Reg->CloseKey();

}

__finally

{

if (Reg!=NULL)delete Reg;

}

// Весь текст генерирует расширение *.ant


// А этот код загружает файл с расширением *.ant в Image1.
if (ParamCount>0)

{

asFileName=ParamStr(1);

if (FileExists(asFileName)) Image1->Picture->LoadFromFile(asFileName);

  else ShowMessage(asFileName+" ОШИБКА ЗАГРУЗКИ ФАЙЛА!!!");

}


из файла, нужно сохранить в другой файл, только подстроки (остаток от строк) после слова: Группа:(Как пример)
 

#include

void __fastcall TForm1::Button2Click(TObject *Sender)
{
    std::auto_ptrL(new TStringList);
    String s = L"Группа:";
    L->LoadFromFile("D:\\test\\0101.txt", TEncoding::GetEncoding(1251));
    for (int i = L->Count - 1; i >= 0; i--)
    {
        WideString t = L->Strings[i];
        if (StartsText(s, t))
            L->Strings[i] = RightStr(t, t.Length() - s.Length()).Trim();
        else
            L->Delete(i);
    }
    L->SaveToFile("D:\\test\\20101.txt");
}


Выводит список подключений к интеренету

#include

#include



#include

#include



#pragma hdrstop

#include

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

#pragma argsused



using namespace std;





int _tmain(int argc, _TCHAR* argv[])

{

system("chcp 1251");



    RASCONN ras[20];

    DWORD dSize,dNumber;

    ras[0].dwSize = sizeof(RASCONN);

    dSize = sizeof( ras );

    if( RasEnumConnections( ras, &dSize, &dNumber ) == 0 )

    {

        cout <<  "Count Ras " <<  dNumber <<  endl;

        for (DWORD x=0; x < dNumber;x++) cout <<  ras[x].szEntryName<<"\t"<    }

system("pause");

return 0;

}

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


void __fastcall TForm1::StringGrid1DrawCell( TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State )
{
    TStringGrid *grid = static_cast( Sender );
    TCanvas *can = grid->Canvas;

    can->TextOut( Rect.Left + 2, Rect.Top + 2, grid->Cells[ACol][ARow] );
}


DWORD domainIP()
{
    WSADATA wdata;
    struct hostent *remoteHost;
    int result = WSAStartup(MAKEWORD(2,2), &wdata);
    remoteHost = gethostbyname("ya.ru");
    cout << inet_ntoa(*( struct in_addr*)remoteHost->h_addr_list[0]) << endl;
    this->textBox1->Text=gcnew String(inet_ntoa(*( struct in_addr*)remoteHost->h_addr_list[0]));
    return 0;
}

DWORD domainIP()
{
    WSADATA wdata;
    struct hostent *remoteHost;
    int result = WSAStartup(MAKEWORD(2,2), &wdata);
    remoteHost = gethostbyname("ya.ru");
    cout << inet_ntoa(*( struct in_addr*)remoteHost->h_addr_list[0]) << endl;
    this->textBox1->Text=gcnew String(inet_ntoa(*( struct in_addr*)remoteHost->h_addr_list[0]));
    return 0;
}


String str = "Молоко";
String letter = "о";

for( int count=1; count<=str.Length(); count++ ) //// Вариант в лоб
  if( str[count] == letter[1] )                    //
    Memo1->Lines->Add( count );                  ////

int count = 0;                               //// Человеческий
while( count++ < str.Length() )                //
  if( str.IsDelimiter( letter, count ) )       //
    Memo1->Lines->Add( count );              ////

Ще немає відповіді на це питання.

try
        {
         CreateMutex(NULL,true,"Trial");
         int Res = GetLastError();
         if(Res == ERROR_ALREADY_EXISTS)
          {
           if (Application->MessageBox("У вас уже запущена одна копия приложения \n Найдите её в системном трее, возле часов","Update AVG v 1.1",MB_OK +MB_TOPMOST+ MB_ICONWARNING)==IDOK)
           {
            Application->ShowMainForm=false;
            Application->Terminate();
           }
          }
           if(Res == ERROR_INVALID_HANDLE)
          {
           if (Application->MessageBox("Ошибка в имени mutex object","Update AVG v 1.1",MB_OK +MB_TOPMOST+ MB_ICONWARNING)==IDOK)
            {
              Application->Terminate();
            }
           }
 
ИЛИ
 
try
        {
         CreateMutex(NULL,true,"Trial");
         int Res = GetLastError();
         if(Res == ERROR_ALREADY_EXISTS)
          {
           if (Application->MessageBox("У вас уже запущена одна копия приложения \n Найдите её в системном трее, возле часов","Update AVG v 1.1",MB_OK +MB_TOPMOST+ MB_ICONWARNING)==IDOK)
           {
            Application->ShowMainForm=false;
            Application->Terminate();
           }
          }
           if(Res == ERROR_INVALID_HANDLE)
          {
           if (Application->MessageBox("Ошибка в имени mutex object","Update AVG v 1.1",MB_OK +MB_TOPMOST+ MB_ICONWARNING)==IDOK)
            {
              Application->Terminate();
            }
           }
Ще немає відповіді на це питання.

F1Book1.Write("{Filename}",4);

Ще немає відповіді на це питання.

TFileStream *file = new TFileStream("Имя файла",

                                                     fmOpenRead);//для чтения

unsigned int size_file = file->Size;  //размер файла в байтах

delete file;

Ще немає відповіді на це питання.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    ShellExecute(NULL, _T("open"), _T("http://cyberforum.ru"), NULL, NULL, SW_SHOWNORMAL);
}

Ще немає відповіді на це питання.

TLabel *LabelDelete;
 LabelDelete= (TLabel *)Form1->FindComponent(((TLabel *)Sender)->Name);
delete LabelDelete;
Ще немає відповіді на це питання.

void __fastcall Tvk::Button1Click(TObject Sender)
{
       TStringList *params = new TStringList;
       TStringList *responseres = new TStringList;
       params->Add("email="+Edit1->Text);
       params->Add("pass="+Edit2->Text);
       Memo1->Lines->Text=IdHTTP1->Post("http://login.vk.com/?act=login",params) ;
       if (Pos("logout", responseres->Text)>0)
                ShowMessage("Авторизовались!");
       else
                ShowMessage("Не верные данные!");
}
Ще немає відповіді на це питання.

MEMORYSTATUSEX stats;
stats.dwLength = sizeof(stats);
GlobalMemoryStatusEx(&stats);
__int64 a;
a=stats.dwMemoryLoad;
RichEdit1->Lines->Add(IntToStr(a)+"%");

Добавляешь на форму Edit-(сюда будешь вводить значения для поиска). ComboBox-(Поля БД для поиска). Любую кнопку (к примеру Button)
ADOTable1->Locate(ComboBox1->Text,Edit1->Text, TLocateOptions() << loCaseInsensitive);

Добавляешь на форму Edit-(сюда будешь вводить значения для поиска). ComboBox-(Поля БД для поиска). Любую кнопку (к примеру Button)
ADOTable1->Locate(ComboBox1->Text,Edit1->Text, TLocateOptions() << loCaseInsensitive);


#include <iostream>

using namespace std;

int myAbs(int a){
 int oldByte = (a >> 31)& 0x1;
 return -a*(1+oldByte-1)-a*(oldByte-1);
}

int getMax(int a, int b) {
 return (a + b + myAbs(a - b)) / 2;
}

int getMin(int a, int b) {
 return (a + b - myAbs(a - b)) / 2;
}

int main() {
 int arr[] = {34, 12, 24, 65, 63, 22};
 int arraySize = (sizeof(arr) / sizeof(*arr));

 int maxPosition = 0;
 int maxElement = arr[0];
 int minValue= arr[0];
 for (int k = 0; k < arraySize; k++) {
 for (int i = k; i < arraySize; i++) {
 int newMax = getMax(maxElement, arr[i]);
 minValue = getMin(minValue, arr[i]);
 maxPosition =getMin((myAbs(newMax ^ maxElement) + 1) * (maxPosition + 1), (myAbs(newMax ^ arr[i]) + 1) * (i + 1)) -1;
 maxElement = newMax;
 }
 int buf = arr[k];
 arr[k] = maxElement;
 arr[maxPosition] = buf;
 maxElement = minValue;
 }
 for(int a:arr){
 cout<<a<<endl;
 }
 return 0;
}

 


Форма входа
Пошук
Друзі сайту
Погода у Вінниці