Bu hatayı çözemedim

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
nugre
Üye
Mesajlar: 54
Kayıt: 17 Kas 2003 10:57
Konum: Bursa

Bu hatayı çözemedim

Mesaj gönderen nugre »

merhaba arkadaşlar çok uzun zamandan sonra yine döndüm

Kod: Tümünü seç

[Error] dogruyuzdelik.pas(121): 'END' expected but end of file found
bu ne anlama gelyor
heskin35
Üye
Mesajlar: 132
Kayıt: 30 Haz 2004 09:48

Mesaj gönderen heskin35 »

Begin
end bloklarını dikkatli bi şekilde kontrol et hocam
Unitin en son end. terimini yanlışlık ile silmişsin sanırım.
Kullanıcı avatarı
nugre
Üye
Mesajlar: 54
Kayıt: 17 Kas 2003 10:57
Konum: Bursa

end. var

Mesaj gönderen nugre »

Kod: Tümünü seç

procedure TForm2.SpeedButton1Click(Sender: TObject);
  var
  dcev,ycev:integer;

  xs:longint;
  xsorusay:longint;
  xdeger: string;
  xc:string;
  xc1:string;
  xc2:string;
  cevanahkosul:string;
  cevan1:string;
  cevan2:string;


  cevoku1:string;
  cevoku2:string;

begin
      cevanahkosul:='';
      cevan1:='';
      cevan2:='';
      cevoku1:='';
      cevoku2:='';

data.Kisi.Close;
data.Kisi.SQL.Clear;
data.Kisi.SQL.Add('select count(*) from cevap where turu like '''+edit1.text+'''');
data.Kisi.Open;
edit2.Text:=data.Kisi.Fields[0].AsString;

 //soru sayısı bulundu
  if edit1.text ='' then
  begin
    showmessage('Değerlendirmek istediğiniz kitapçık türünü giriniz.');
    abort;
  end;

while not data.Tbldogrusoru.Eof do data.Tbldogrusoru.Delete;

xSoruSay:=data.TblCvpanht.FieldValues['SORUSAYISI'];
// soru sayısı kadar dongu
    for xS :=1 to xSoruSay do
              begin
// cevap kontrol
            xDeger:='';
            xc:='';
            xc1:='';
            xc2:='';
            xDeger:='C' + IntToStr(XS);
            dcev:=0;
            ycev:=0;
       data.TblCevap.First;
        while not data.TblCevap.Eof  do
        begin
               if vartype(data.tblcevap.FieldValues[xdeger])<>varNull  then xc:=data.tblcevap.FieldValues[xdeger];
               if vartype(data.tblCevap.FieldValues['turu'])<> varNull then begin  cevoku2:=data.tblCevap.FieldValues['turu'];
               // kişinin kıtapturu ile cevapanaht cvpgrubu bul
  data.TblCvpanht.First;
  while not data.TblCvpanht.Eof do
  begin
  if vartype(data.TblCvpanht.FieldValues[xdeger])<>varNull  then xc1:=data.TblCvpanht.FieldValues[xdeger];
  if vartype(data.TblCvpanht.FieldValues['cvpgurubu'])<> varNull then  begin cevan2:=data.TblCvpanht.FieldValues['cvpgurubu'];

  data.TblCvpanht.next;
  end;

               if   (xc1=xc)  then dcev:=dcev + 1 else
               begin
               ycev:=ycev + 1
         end;

               data.TblCevap.next;
          end;  // tblcevap
          data.tbldogrusoru.Append;
          data.tbldogrusoru.FieldByName('soru').AsString:=IntToStr(XS);
          data.tbldogrusoru.FieldByName('dogru').AsInteger:=dcev;
          data.tbldogrusoru.FieldByName('yanlis').AsInteger:=ycev;
          data.Tbldogrusoru.FieldByName('yuzdelik').Value:=(dcev * 100) / strtoint(form2.edit2.Text);
          data.tbldogrusoru.post;
              end; // for end

              end;
end.
yukarıda kodum
dikkatimi toparlayamadım bişi var ama
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Merhaba,
Sanırım 8 adet begin ,6 adet end kullanmışsınız. Yani 2 adet endiniz eksik görünüyor.

Kolay gelsin.
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
heskin35
Üye
Mesajlar: 132
Kayıt: 30 Haz 2004 09:48

Mesaj gönderen heskin35 »

Kod: Tümünü seç

procedure TForm2.SpeedButton1Click(Sender: TObject);
  var
  dcev,ycev:integer;

  xs:longint;
  xsorusay:longint;
  xdeger: string;
  xc:string;
  xc1:string;
  xc2:string;
  cevanahkosul:string;
  cevan1:string;
  cevan2:string;
  cevoku1:string;
  cevoku2:string;

    begin
        cevanahkosul:='';
        cevan1:='';
        cevan2:='';
        cevoku1:='';
        cevoku2:='';

        data.Kisi.Close;
        data.Kisi.SQL.Clear;
        data.Kisi.SQL.Add('select count(*) from cevap where turu like '''+edit1.text+'''');
        data.Kisi.Open;
        edit2.Text:=data.Kisi.Fields[0].AsString;

       //soru sayısı bulundu
        if edit1.text ='' then
        begin
          showmessage('Değerlendirmek istediğiniz kitapçık türünü giriniz.');
          abort;
        end;

        while not data.Tbldogrusoru.Eof do data.Tbldogrusoru.Delete;

        xSoruSay:=data.TblCvpanht.FieldValues['SORUSAYISI'];
        // soru sayısı kadar dongu
        for xS :=1 to xSoruSay do
        begin
          // cevap kontrol
          xDeger:='';
          xc:='';
          xc1:='';
          xc2:='';
          xDeger:='C' + IntToStr(XS);
          dcev:=0;
          ycev:=0;
          data.TblCevap.First;
          while not data.TblCevap.Eof  do
          begin
             if vartype(data.tblcevap.FieldValues[xdeger])<>varNull  then xc:=data.tblcevap.FieldValues[xdeger];
             if vartype(data.tblCevap.FieldValues['turu'])<> varNull then begin  cevoku2:=data.tblCevap.FieldValues['turu'];
             // kişinin kıtapturu ile cevapanaht cvpgrubu bul
             data.TblCvpanht.First;
             while not data.TblCvpanht.Eof do
             begin
                if vartype(data.TblCvpanht.FieldValues[xdeger])<>varNull  then xc1:=data.TblCvpanht.FieldValues[xdeger];
                if vartype(data.TblCvpanht.FieldValues['cvpgurubu'])<> varNull then  begin cevan2:=data.TblCvpanht.FieldValues['cvpgurubu'];
                data.TblCvpanht.next;
             end;
             if   (xc1=xc)  then dcev:=dcev + 1 else
             begin
                ycev:=ycev + 1
             end;
             data.TblCevap.next;
          end;  // tblcevap
        data.tbldogrusoru.Append;
        data.tbldogrusoru.FieldByName('soru').AsString:=IntToStr(XS);
        data.tbldogrusoru.FieldByName('dogru').AsInteger:=dcev;
        data.tbldogrusoru.FieldByName('yanlis').AsInteger:=ycev;
        data.Tbldogrusoru.FieldByName('yuzdelik').Value:=(dcev * 100) / strtoint(form2.edit2.Text);
        data.tbldogrusoru.post;
        end; // for end

    end;
Compile etmedim. Ama code yazımına dikkat eder ve begin end blokları arasını daha belirgin yaparsanız programı okumanız daha kolaylaşır.
Cevapla