problem ze zmiennymi

0

pisze taki progrmik i zapisalem cos takiego

procedure TForm6.daj1minusClick(Sender: TObject);
var
  ini : TIniFile;
  ini1 : TIniFile;
  s : string;
  v : string;
  m : string;
  b : string;
  ocena : real;
begin
  ini := TINIFile.Create(ExtractFilePath(Application.ExeName) + 'oceny.ini');
  ini1 := TINIFile.Create(ExtractFilePath(Application.ExeName) + 'ustawienia.ini');
  s := ini.ReadString(form5.mk.caption, '1_oceny_oceny', '');
  ini.WriteString(form5.mk.caption, '1_oceny_oceny', (s+'1-, '));
  v := ini.ReadString(form5.mk.caption, '1_oceny_liczba_ocen', '');
  ini.WriteString(form5.mk.caption, '1_oceny_liczba_ocen', (v+'1'));
  m := ini1.ReadString('Ustawienia', 'oceny_minus', '');
  b := ini.ReadString(form5.mk.caption, '1_oceny_suma_ocen', '');
  ocena := 1-strtofloat(m);
  ini.WriteString(form5.mk.caption, '1_oceny_suma_ocen', floattostr(strtoint(b)+ocena));
end;

podana procedura ma zapsiywac dane do pliku iniwszytsko sie kompiluje tylko kiedy probuje wykonac ta procedure poprzez programik wywala error '' is not valid integer value
mysle ze zwalilem cos ze zmiennymi i nie wiem jak to wyprowadzic zeby dzialalo

0
mk1550 napisał(a)

pisze taki progrmik i zapisalem cos takiego

ocena := 1-strtofloat(m);
ini.WriteString(form5.mk.caption, '1_oceny_suma_ocen', floattostr(strtoint(b)+ocena));
end;

Jeżeli łańcuch string jest pusty to nie można dokonać konwersji na zmienną numeryczną.

// Dla pierwszego przypadku:
ocena := 1 - StrToFloatDef(m, 0.0);
// Dla drugiego
ini.WriteString(form5.mk.caption, '1_oceny_suma_ocen', FloatToStr(StrToIntDef(b, 0)+ocena));

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0