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

#ifndef MainFormH
#define MainFormH
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <FMX.Controls.hpp>
#include <FMX.Forms.hpp>
#include <FMX.Edit.hpp>
#include <FMX.Types.hpp>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <ctime>
#include <cmath>
#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
#include <limits>
#include <vector>
#include <iomanip>
#include <stdint.h>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// IDE-managed Components
	TEdit *edtStringTest1;
	TLabel *Label1;
	TLabel *Label2;
	TLabel *Label3;
	TLabel *Label4;
	TLabel *Label5;
	TLabel *Label6;
	TEdit *edtStringTest2;
	TEdit *edtStringTest3;
	TEdit *edtStringTest4;
	TEdit *edtStringTest5;
	TEdit *edtStringTest6;
	TEdit *edtTestLoops;
	TButton *btnGo;
	TEdit *edtStringTest7;
	TLabel *Label7;
	TEdit *edtStringTest8;
	TLabel *Label8;
	TEdit *edtStringTest9;
	TLabel *Label9;
	TEdit *edtStringTest10;
	TLabel *Label10;
	void __fastcall btnGoClick(TObject *Sender);
	void __fastcall FormCreate(TObject *Sender);
private:	// User declarations
	long lStart;
	long lEnd;
	std::vector<const char*> chars;
	std::vector<std::string> strings;


	void NativeTest();
	void StringStringTest();
	void StringEqualTest();
	void StringCharTest();
	void StringStrcmpTest1();
	void StringStrcmpTest2();
	void StringStrcmpTest3();
	void StringStrcmpTest4();
	void StringStrcmpTest5();
	void StringStrcmpTest6();
	int StingBuilderTest(char *s);



	void DoStringInit();
	void DoStringTest1();
	void DoStringTest2();
	void DoStringTest3();
	void DoStringTest4();
	void DoStringTest5();
	void DoStringTest6();
	void DoStringTest7();
	void DoStringTest8();
	void DoStringTest9();
	void DoStringTest10();
	long getTime();
	void ShowRunTime(TEdit* pEdit, const long lTime);

public:		// User declarations
	__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
