evo ja kako sam uradio...duze je jer ima validacija dosta...
1 primer
Code:
AnsiString pom, pom1, pom2, pom3, pom4;
int b=0, c=0;
if(Edit1->Text!="")
if(Edit1->Text.Length()>=4)
{
pom=Edit1->Text;
for(int i=1; i<=pom.Length(); i++)
{
if(pom[i]=='/')
{
b=i; c++;
}
}
if((b>1) && (b<8) && (c==1)&& (pom.Length()-b>=2) && (pom.Length()-b<=4) )
{
pom1.SetLength(b-1);
for(int i=1; i<b; i++)
pom1[i]=pom[i];
switch(b-1)
{
case 1: pom3="00000"; pom3=pom3+pom1;
break;
case 2: pom3="0000"; pom3=pom3+pom1;
break;
case 3: pom3="000"; pom3=pom3+pom1;
break;
case 4: pom3="00"; pom3=pom3+pom1;
break;
case 5: pom3="0"; pom3=pom3+pom1;
break;
case 6: pom3=pom1;
}
pom2.SetLength(pom.Length()-b);
for(int j=1, i=b+1; i<=pom.Length(); j++, i++)
pom2[j]=pom[i];
switch((pom.Length()-b))
{
case 2: pom4="20"; pom4=pom4+pom2;
break;
case 3: pom4="2"; pom4=pom4+pom2;
break;
case 4: pom4=pom2;
break;
}
}
else
{
ShowMessage("Greska pri vnesuvanje \nVnesi ponovo vo format (broj/godina)");
}
}
else
Beep();
2 primer nesta matematicki sam izvodio
Code:
AnsiString pom;
char c;
int a, d, des, h;
pom=Edit1->Text;
if(Edit1->Text!="")
{
for(int i=1; i<pom.Length(); i++)
if(pom[i]=='/')
pom1=i;
a=atoi(pom1.c_str());
d=0;
h=0;
for(int i=1,j=a-2; i<a; i++,j--)
{
des=pow(10,j);
d+=(des*(pom[i]-48));
}
for(int i=a+1,j=pom.Length()-a-1; i<=pom.Length(); i++,j--)
{
des=pow(10,j);
h+=(des*(pom[i]-48));
}
}
if (h/100==0)
{
h=2000+h;
}
//i tu sam stao pa poceo ono gore
Kude tumbe i tri bandere