[ vlada89 @ 14.06.2006. 19:44 ] @
Dakle problem je:
zelim da napravi najprostiji digitron( samo osnovne 4 operacije) , pa kako da sadrzaj Edit boxa pretvorim u broj zbog daljeg racunanja?
Probao sam sa
int n;
n=atoi(Edit1->Text); medjutim tako ne moze.

Ima li ko predlog?
Pozdrav svima!!!
[ X Files @ 14.06.2006. 19:58 ] @
Postoje funkcije:
StrToInt()
StrToIntDef()
ToInt()

Code:

int number;
try
{
    number = StrToInt( Edit1->Text ); // trebalo bi da moze i: number = Edit1->Text.ToInt();
}
catch ( const Exception &e )
{
   number = 99;
}


ili:

Code:

int number_def = StrToIntDef( Edit1->Text, 99 );

[ vlada89 @ 14.06.2006. 20:40 ] @
X Filles , radi po tvom predlogu.

To sam trazio!!! Puno hvala!!!

Pozdrav!
[ tosa @ 18.06.2006. 04:55 ] @
Citat:
X Files: Postoje funkcije:
StrToInt()
StrToIntDef()
ToInt()

Citat:
Minimum operating systems Windows 2000, Windows NT 4.0 with Internet Explorer 4.0, Windows 98, Windows 95 with Internet Explorer 4.0

Moj predlog je da sam napišeš rutine koje će to raditi.
[ X Files @ 18.06.2006. 05:21 ] @
U Borland C++ Builder-u ove rutine (barem StrToInt) postoje i rade oduvek, i nikad se nije nista
drugo savetovalo po Borlandovim forumima sem toga. Ne znam u cemu je problem, kad radi i sa
Win95?
[ tosa @ 18.06.2006. 05:35 ] @
Problem je u tome što Borland ne definiše standarde i samim tim taj program
neće moći ni da se iskompajlira negde drugre...
[ X Files @ 18.06.2006. 18:22 ] @
Citat:

Problem je u tome što Borland ne definiše standarde i samim tim taj program
neće moći ni da se iskompajlira negde drugre...


Ko je rekao da taj program treba da se iskompajlira negde drugde?

Ko se opredeli da radi sa Borland C++ Builder, vec se unapred opredelio za VCL
(Visual Component Library) kao primarnu biblioteku klasa (framework) i tu se prica
o prenosivosti programa zavrsava. Naravno, BCB dozvoljava i STL i svaku drugu
biblioteku, ali osnova je VCL kod, od koga se NE MOŽE POBEĆI i koji nigde drugde
nije prenosiv. Kao ni MFC.

Eto, na primer, njegov kod:
Code:

int n;
n = atoi( Edit1->Text );

...vec radi sa AnsiString-ovima (Edit1->Text), sto je u startu neprenosivo. Da bi
taj kod proradio (i bio portabilniji), potrebno bi bilo izvrsiti modifikacuju:
Code:

int n;
n = atoi( Edit1->Text.c_str() );

... ali to opet nije prenosivo, jer je "Edit1->Text" AnsiString.

Ko hoce da mu kod bude prenosiv, neka ne koristi BCB. BCB je vizuelni RAD (Rapid
Application Development) alat koji ima svoj sopstveni, fantastican i samodovoljan GUI
framework i to je njegova cela i jedina prednost.

Nije mi cilj da pokrećem "flame" u ovom threadu, ali "portabilan kod != BCB".

[ vlada89 @ 18.06.2006. 19:22 ] @
X Files , mislim da je odgovor sasvim jasan i da ne ostavlja dileme - ja se drzim BCB6 i odgovara mi .Pored BCB6 radio sam jos i u Delphi 7 , ali kazem presao sam na BCB6.

Hvala na tumacenjima!
[ tosa @ 19.06.2006. 15:55 ] @
Citat:
X Files: Ko hoce da mu kod bude prenosiv, neka ne koristi BCB. BCB je vizuelni RAD (Rapid
Application Development) alat koji ima svoj sopstveni, fantastican i samodovoljan GUI
framework i to je njegova cela i jedina prednost.

Nije mi cilj da pokrećem "flame" u ovom threadu, ali "portabilan kod != BCB".

To što je BCB RAD alat nema nikakve veze sa pisanjem rutina koje se kasnije mogu upotrebiti i negde drugde.
Dakle, portabilan kod je portabilan kod, bez obzira da li se koristi u BCB aplikaciji ili na nekoj linux mašini.
[ X Files @ 19.06.2006. 20:06 ] @
Ja ne kudim portabilan kod (niti je on uopste tema u ovom thread-u). Samo
kazem da je u kontekstu jedne BCB GUI / VCL aplikacije pravljenje sopstvenog
StringToInteger() sa imperativom pravljenja prenosivog koda totalni 'overhead'.
Ako je 99% koda neportabilno, sto bih pravio jednu trivijalnu funkciju portabilnu,
kad vec postoji implementirana kao funkcija na dva nacina i kao metoda AnsiString-a?

Jedino mogu zamisliti da se napravi posebna PORTABILNA klasa Digitron koja bi bila
potpuno nezavisan modul, koja bi nekim prigodnim interfejsom komunicirala sa GUI
delom aplikacije. Tada bi to imalo smisla.
[ tosa @ 20.06.2006. 03:18 ] @
Citat:
X Files: Jedino mogu zamisliti da se napravi posebna PORTABILNA klasa Digitron koja bi bila
potpuno nezavisan modul, koja bi nekim prigodnim interfejsom komunicirala sa GUI
delom aplikacije. Tada bi to imalo smisla.

To je, po meni, jedino smisleno rešenje. Ok, možda je u slučaju ovako male
aplikacije previše, ali se time stvaraju dobre programerske navike.