Dat komt omdat jij vSpeler1Totaal, vSpeler2Totaal, vSpeler3Totaal, vSpeler4Totaal als Word gedefinieerd hebt.
Maak er een integer van en het werkt wel:
Gedaan.
Zet de Position van je form overigens NOOIT op poDesktopCenter want bij mij staat ie nu tussen twee beeldschermen in.
Je kunt dan Position van je form beter op poMainFormCenter zetten.
Gedaan.
Code:
7. if StrToInt(EDITSpeler1.Text) + StrToInt(EDITSpeler2.Text) +8. StrToInt(EDITSpeler3.Text) + StrToInt(EDITSpeler4.Text) <> 0 then9. begin10. Showmessage('Je mag niet bewaren. Som van getallen is niet 0.');11. exit;12. end;
Weet niet waar deze code moet ingebracht worden.
Als er inderdaad een foutief getal ingevuld wordt dan zou de boodschap moet komen, maar dan moet er terug een aanpassing kunnen op dezelfde lijn.
Code:
procedure TFmain.btnBEWAARClick(Sender: TObject);
var
vMessage: String;
vRijGift, vRijTotaal: Integer;
begin
// blokkeer input
btnSPELGEDAAN.Enabled:= false;
ChBoxTROEL.Enabled:= false;
ChBoxRONDEPAS.Enabled:= false;
btnBEWAAR.Enabled:= false;
EDITSpeler1.Enabled:= false;
EDITSpeler2.Enabled:= false;
EDITSpeler3.Enabled:= false;
EDITSpeler4.Enabled:= false;
// vraag bewaarbevestiging
vMessage:= 'Gift ' + IntToStr(vGift) +':';
if (ChBoxTROEL.Checked) then
begin
vMessage:= vMessage + ' Troel';
end;
if (ChBoxRONDEPAS.Checked) then
begin
vMessage:= vMessage + ' Dubbel';
end;
//vMessage := vMessage + ' Bewaar?';
//ShowMessage(vMessage);
If QuestionDlg ('KEUZE !',vMessage + #13 + 'Gegevens opslaan?' + #13 + '',
mtConfirmation,[mrYes,'OK', mrNo, 'Annuleren'],'') = mrYes then
begin
// bewaar => pas de grid aan
vRijGift:= (vGift * 2) - 1;
vRijTotaal:= (vGift * 2);
// de score van deze gift
StringGrid1.Cells[1, vRijGift]:= EDITSpeler1.Text;
StringGrid1.Cells[2, vRijGift]:= EDITSpeler2.Text;
StringGrid1.Cells[3, vRijGift]:= EDITSpeler3.Text;
StringGrid1.Cells[4, vRijGift]:= EDITSpeler4.Text;
// de nieuwe totaal score
StringGrid1.Cells[1, vRijTotaal]:= IntToStr(vSpeler1Totaal) + ' + ' + EDITSpeler1.Text;
StringGrid1.Cells[2, vRijTotaal]:= IntToStr(vSpeler2Totaal) + ' + ' + EDITSpeler2.Text;
StringGrid1.Cells[3, vRijTotaal]:= IntToStr(vSpeler3Totaal) + ' + ' + EDITSpeler3.Text;
StringGrid1.Cells[4, vRijTotaal]:= IntToStr(vSpeler4Totaal) + ' + ' + EDITSpeler4.Text;
// rvk
// de nieuwe totaal score
vSpeler1Totaal := vSpeler1Totaal + StrToInt(EDITSpeler1.Text);
vSpeler2Totaal := vSpeler2Totaal + StrToInt(EDITSpeler2.Text);
vSpeler3Totaal := vSpeler3Totaal + StrToInt(EDITSpeler3.Text);
vSpeler4Totaal := vSpeler4Totaal + StrToInt(EDITSpeler4.Text);
StringGrid1.Cells[1, vRijTotaal] := IntToStr(vSpeler1Totaal);
StringGrid1.Cells[2, vRijTotaal] := IntToStr(vSpeler2Totaal);
StringGrid1.Cells[3, vRijTotaal] := IntToStr(vSpeler3Totaal);
StringGrid1.Cells[4, vRijTotaal] := IntToStr(vSpeler4Totaal);
// rvk
if (vGift < vMaxGift) then
begin
// maak nieuwe gift beschikbaar
vGift:= vGift + 1;
Label1.Caption:= 'Gift ' + IntToStr(vGift) + ' van ' + IntToStr(vMaxGift) + '.';
btnSPELGEDAAN.Enabled:= true;
ChBoxTROEL.Enabled:= true;
ChBoxTROEL.Checked:= false;
ChBoxRONDEPAS.Enabled:= true;
ChBoxRONDEPAS.Checked:= false;
EDITSpeler1.Text:='';
EDITSpeler2.Text:='';
EDITSpeler3.Text:='';
EDITSpeler4.Text:='';
end
else
begin
// GEDAAN!
ShowMessage('Het zit er weer op! "Dingske" heeft gewonnen.');
end;
end
else
begin
ChBoxTROEL.Enabled:= true;
ChBoxRONDEPAS.Enabled:= true;
btnBEWAAR.Enabled:= true;
EDITSpeler1.Enabled:= true;
EDITSpeler2.Enabled:= true;
EDITSpeler3.Enabled:= true;
EDITSpeler4.Enabled:= true;
end;
end;
Bookmarks