Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

EConvertError handling

[es] :: Pascal / Delphi / Kylix :: EConvertError handling

[ Pregleda: 1950 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

reikonija
Faks<lll>
Visegrad

Član broj: 213271
Poruke: 121
*.teol.net.



+4 Profil

icon EConvertError handling24.09.2011. u 20:28 - pre 152 meseci
Imam Edit u koji se treba unijeti integer i dugme koje treba npr.

for i:=0 to srttoint (edit1.text)

ali kako da proverim da li je u edit stvarno integer , tj. cak i da nije kako da uhvatim gresku prije nego sto program izbaci upozorenje tj.
da izbacim svoju poruku umjesto greske...
Hvala

 
Odgovor na temu

((BugA))
Igor Djordjevic
Bor, Srbija

Član broj: 29241
Poruke: 196
*.dynamic.isp.telekom.rs.

ICQ: 66516695
Sajt: www.MalamutKlub.com


+17 Profil

icon Re: EConvertError handling25.09.2011. u 05:56 - pre 152 meseci
Pozdrav reikonija, vidi ovo (link):
Code:
// Example code : Catching string to integer conversion errors
var
  A : Integer;

begin
  // We will catch conversion errors
  try
    A := StrToInt('100 ');  // Trailing blanks are not supported
  except
    on Exception: EConvertError do
      ShowMessage(Exception.Message);
  end;

  try
    A := StrToInt('$FG');   // 'G' is an invalid hexadecimal digit
  except
    on Exception : EConvertError do
      ShowMessage(Exception.Message);
  end;
end;

Ako hoces da budes siguran da je u pitanju stvarno broj (integer), mozes uraditi nesto ovako ne bi li iz poruke izbacio sve znake koji nisu brojevi:
Code:
var
    i    : integer;
    sBroj: string;
begin
  sBroj := '';
  if (Edit1.Text <> '') then
  begin
    for i := 1 to Length(Edit1.Text) do
    begin
      if Edit1.Text[i] in ['0'..'9'] then sBroj := sBroj + Edit1.Text[i];
    end;
    Edit1.Text := sBroj;
  end;
end;


[Ovu poruku je menjao ((BugA)) dana 25.09.2011. u 07:27 GMT+1]
 
Odgovor na temu

_deran_

Član broj: 69493
Poruke: 252
*.dynamic.sbb.rs.



+1 Profil

icon Re: EConvertError handling25.09.2011. u 20:27 - pre 152 meseci
proveri samo jos da li je na pocetku znak " - "
 
Odgovor na temu

reikonija
Faks<lll>
Visegrad

Član broj: 213271
Poruke: 121
*.teol.net.



+4 Profil

icon Re: EConvertError handling26.09.2011. u 19:39 - pre 152 meseci
Hvala na odgovorima , napravio sam funkciju sa boolean true u slucaju greske , i false ako je integer , sastavio sam to od dijelova koda koji je postovan :) . Hvala na odgovoru :)
 
Odgovor na temu

Daniel Mauric
Software Architect
Novi Sad

Član broj: 3279
Poruke: 31
*.adsl-a-8.sezampro.rs.



+17 Profil

icon Re: EConvertError handling27.09.2011. u 17:15 - pre 152 meseci
function TryStrToInt(const S: string; out Value: Integer): Boolean;
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
*.dynamic.sbb.rs.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: EConvertError handling27.09.2011. u 18:00 - pre 152 meseci
Onda pomenite i StrToIntDef:
http://delphi.wikia.com/wiki/StrToIntDef_Routine

 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: EConvertError handling

[ Pregleda: 1950 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.