delphi 7 ile dört işlem

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
bunyamincapar
Üye
Mesajlar: 15
Kayıt: 20 Mar 2015 06:01

Re: delphi 7 ile dört işlem

Mesaj gönderen bunyamincapar »

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
Var islem,ilk,son,ikinci,sonuc:integer;
begin
islem:=pos('+', edit1.Text); // + karakterinin text içersindeki pozisyonunu (kaçıncı karakter olduğunu buluyor)
if islem>0 then begin // eğer + karakteri varsa işlemleri yapıyor
label3.Caption:=inttostr(islem);
ilk:=strtoint(copy(edit1.Text,1,islem-1));
label1.Caption:=inttostr(ilk);
ikinci:=length(edit1.Text)-islem;
son:=strtoint(copy(edit1.Text,islem+1,ikinci));
label2.Caption:=inttostr(son);
sonuc:=ilk+son; // topluyor
edit1.Text:= edit1.Text + '=' + inttostr(sonuc);
end;// toplama işlemi varsa

islem:=pos('-', edit1.Text); // - karakterinin text içersindeki pozisyonunu (kaçıncı karakter olduğunu buluyor)
if islem>0 then begin // eğer - karakteri varsa işlemleri yapıyor
label3.Caption:=inttostr(islem);
ilk:=strtoint(copy(edit1.Text,1,islem-1));
label1.Caption:=inttostr(ilk);
ikinci:=length(edit1.Text)-islem;
son:=strtoint(copy(edit1.Text,islem+1,ikinci));
label2.Caption:=inttostr(son);
sonuc:=ilk-son; // çıkartıyor
edit1.Text:= edit1.Text + '=' + inttostr(sonuc);
end; // çıkartma işlemi varsa

islem:=pos('/', edit1.Text); // / karakterinin text içersindeki pozisyonunu (kaçıncı karakter olduğunu buluyor)
if islem>0 then begin // eğer / karakteri varsa işlemleri yapıyor
label3.Caption:=inttostr(islem);
ilk:=strtoint(copy(edit1.Text,1,islem-1));
label1.Caption:=inttostr(ilk);
ikinci:=length(edit1.Text)-islem;
son:=strtoint(copy(edit1.Text,islem+1,ikinci));
label2.Caption:=inttostr(son);
sonuc:=ilk/son; // boluyor      //(hatayı burda verıyor )
edit1.Text:= edit1.Text + '=' + inttostr(sonuc);//(sonrada burda hata verme başlıyor)
end; // bolme işlemi varsa

islem:=pos('*', edit1.Text); // * karakterinin text içersindeki pozisyonunu (kaçıncı karakter olduğunu buluyor)
if islem>0 then begin // eğer * karakteri varsa işlemleri yapıyor
label3.Caption:=inttostr(islem);
ilk:=strtoint(copy(edit1.Text,1,islem-1));
label1.Caption:=inttostr(ilk);
ikinci:=length(edit1.Text)-islem;
son:=strtoint(copy(edit1.Text,islem+1,ikinci));
label2.Caption:=inttostr(son);
sonuc:=ilk*son; // çarpıyor
edit1.Text:= edit1.Text + '=' + inttostr(sonuc);
end; // çarpma işlemi varsa

//veya çarpma olarak 'x' karakteride kullanılmış olabilir

islem:=pos('x', edit1.Text); // x karakterinin text içersindeki pozisyonunu (kaçıncı karakter olduğunu buluyor)
if islem>0 then begin // eğer x karakteri varsa işlemleri yapıyor
label3.Caption:=inttostr(islem);
ilk:=strtoint(copy(edit1.Text,1,islem-1));
label1.Caption:=inttostr(ilk);
ikinci:=length(edit1.Text)-islem;
son:=strtoint(copy(edit1.Text,islem+1,ikinci));
label2.Caption:=inttostr(son);
sonuc:=ilk*son; // çarpıyor
edit1.Text:= edit1.Text + '=' + inttostr(sonuc);
end; // çarpma işlemi varsa

end;
bunyamincapar
Üye
Mesajlar: 15
Kayıt: 20 Mar 2015 06:01

Re: delphi 7 ile dört işlem

Mesaj gönderen bunyamincapar »

esistem'e ve diger degerli hocalarıma,bilginlere teşekkür ederim
ama esiştem aceba hatayı neden veriyor olabilir ben bir yazım ve kod yanlışı bulamadım ama bolumun sonucunda hata vermeye baslıyor
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: delphi 7 ile dört işlem

Mesaj gönderen mrmarman »

Muhtemelen sonuc değişkenin integer olduğundan bölüm double ile sonuçlandığında veriyordur. Ama ısrarla ne hata verdiğini yazmamışsın, arkadaşlar neye göre cevap versinler değil mi?

Bir dahaki soruna cevap verecek inceliği gösteren bu arkadaşları bulmak istiyorsan biraz aklınızı çalıştırın.

Bölme işleminde 4 / 2 yap bakalım aynı hata olacak mı? Sorgulayın bakalım, öyle armut piş olmasın.
Resim
Resim ....Resim
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: delphi 7 ile dört işlem

Mesaj gönderen esistem »

Selam;
Ben, senin yazdığın kodu alıp kopyaladım sadece, fakat @mrmarman hocamın dediği gibi birçok şeyden hata verebilir, hatayı yazsaydın bi sonuca varabilirdik. Kodda hata verebilecek bir sürü yer var, mesela değerlerin hepsi inttostr ile çevriliyor, sıfır'a bölme hatası kontrol edilmemiş, virgüllü yada noktalı değer girişleri kontrol edilmemiş vs.vs. Bu olayda işi ileriye götürüp aynı edite yazılan ((12+5)/6)*4 gibi bir işlem yumağınıda kontrol edebilirsin.
bunyamincapar
Üye
Mesajlar: 15
Kayıt: 20 Mar 2015 06:01

Re: delphi 7 ile dört işlem

Mesaj gönderen bunyamincapar »

teşekür ederim peki bunu ben nasıl duzeltecegım ve ben delphiyi daha yeni duyuyorum ve buu sebeptende hic bilmiyorum zaten bende bir tasarımcıyım sadece tasarım yapıyorum ama bu sene ole bir ders verildi hiç bişey anlıyamıyorum
yardımcı olabilirseniz sevinirım
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: delphi 7 ile dört işlem

Mesaj gönderen esistem »

iyide hata ne?
bunyamincapar
Üye
Mesajlar: 15
Kayıt: 20 Mar 2015 06:01

Re: delphi 7 ile dört işlem

Mesaj gönderen bunyamincapar »

hata bolum kısmında veriyor ! sonuc !yazan yerde ama ben anlıyamadım
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: delphi 7 ile dört işlem

Mesaj gönderen mrmarman »

Tasarımcı kimliğini kullan :D gördüğün hatayı yazıyla ifade edebilirsin. Nasıl mı hata ekranında ne yazıyorsa buraya yazarak. Bak ne kadar kolay... İngilizce bilmiyor olabilirsin, işi bilenlere bırak.

O da zor gelirse ekran görüntüsü yakala burada o resmi yayınlarsın.
Resim
Resim ....Resim
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: delphi 7 ile dört işlem

Mesaj gönderen esistem »

iyide hatada ne yazıyor?
division by zero mu? incorrect type mi ne ?
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: delphi 7 ile dört işlem

Mesaj gönderen esistem »

Buyur bakalım

Kod: Tümünü seç

Var
islem,ilk,son,ikinci:integer;
sonuc:real;
begin
islem:=pos('+', edit1.Text); // + karakterinin text içersindeki pozisyonunu (kaçıncı karakter olduğunu buluyor)
if islem>0 then begin // eğer + karakteri varsa işlemleri yapıyor
label3.Caption:=inttostr(islem);
ilk:=strtoint(copy(edit1.Text,1,islem-1));
label1.Caption:=inttostr(ilk);
ikinci:=length(edit1.Text)-islem;
son:=strtoint(copy(edit1.Text,islem+1,ikinci));
label2.Caption:=inttostr(son);
sonuc:=ilk+son; // topluyor
edit1.Text:= edit1.Text + '=' + FloatToStr(sonuc);
end;// toplama işlemi varsa

islem:=pos('-', edit1.Text); // - karakterinin text içersindeki pozisyonunu (kaçıncı karakter olduğunu buluyor)
if islem>0 then begin // eğer - karakteri varsa işlemleri yapıyor
label3.Caption:=inttostr(islem);
ilk:=strtoint(copy(edit1.Text,1,islem-1));
label1.Caption:=inttostr(ilk);
ikinci:=length(edit1.Text)-islem;
son:=strtoint(copy(edit1.Text,islem+1,ikinci));
label2.Caption:=inttostr(son);
sonuc:=ilk-son; // çıkartıyor
edit1.Text:= edit1.Text + '=' + FloatToStr(sonuc);
end; // çıkartma işlemi varsa

islem:=pos('/', edit1.Text); // / karakterinin text içersindeki pozisyonunu (kaçıncı karakter olduğunu buluyor)
if islem>0 then begin // eğer / karakteri varsa işlemleri yapıyor
label3.Caption:=inttostr(islem);
ilk:=strtoint(copy(edit1.Text,1,islem-1));
label1.Caption:=inttostr(ilk);
ikinci:=length(edit1.Text)-islem;
son:=strtoint(copy(edit1.Text,islem+1,ikinci));
label2.Caption:=inttostr(son);
sonuc:=ilk/son; // boluyor      //(hatayı burda verıyor )
edit1.Text:= edit1.Text + '=' + FloatToStr(sonuc);//(sonrada burda hata verme başlıyor)
end; // bolme işlemi varsa

islem:=pos('*', edit1.Text); // * karakterinin text içersindeki pozisyonunu (kaçıncı karakter olduğunu buluyor)
if islem>0 then begin // eğer * karakteri varsa işlemleri yapıyor
label3.Caption:=inttostr(islem);
ilk:=strtoint(copy(edit1.Text,1,islem-1));
label1.Caption:=inttostr(ilk);
ikinci:=length(edit1.Text)-islem;
son:=strtoint(copy(edit1.Text,islem+1,ikinci));
label2.Caption:=inttostr(son);
sonuc:=ilk*son; // çarpıyor
edit1.Text:= edit1.Text + '=' + FloatToStr(sonuc);
end; // çarpma işlemi varsa

//veya çarpma olarak 'x' karakteride kullanılmış olabilir

islem:=pos('x', edit1.Text); // x karakterinin text içersindeki pozisyonunu (kaçıncı karakter olduğunu buluyor)
if islem>0 then begin // eğer x karakteri varsa işlemleri yapıyor
label3.Caption:=inttostr(islem);
ilk:=strtoint(copy(edit1.Text,1,islem-1));
label1.Caption:=inttostr(ilk);
ikinci:=length(edit1.Text)-islem;
son:=strtoint(copy(edit1.Text,islem+1,ikinci));
label2.Caption:=inttostr(son);
sonuc:=ilk*son; // çarpıyor
edit1.Text:= edit1.Text + '=' + FloatToStr(sonuc);
end; // çarpma işlemi varsa

bunyamincapar
Üye
Mesajlar: 15
Kayıt: 20 Mar 2015 06:01

Re: delphi 7 ile dört işlem

Mesaj gönderen bunyamincapar »

program duzgun bir sekilde hata vermeden calıstı ama bu seferde 2 sayıyı toplıyacam sanucu vermıyor yanı işlemleri yapmıyor
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: delphi 7 ile dört işlem

Mesaj gönderen esistem »

bende çalışıyor 2+2 şeklinde yazıyorum mesela
bunyamincapar
Üye
Mesajlar: 15
Kayıt: 20 Mar 2015 06:01

Re: delphi 7 ile dört işlem

Mesaj gönderen bunyamincapar »

bende neden calısmıyor aceba yaa herhangı bir hata vermiyor
ama calısmıyor
bunyamincapar
Üye
Mesajlar: 15
Kayıt: 20 Mar 2015 06:01

Re: delphi 7 ile dört işlem

Mesaj gönderen bunyamincapar »

esistem ve yardım etmek isteyen tum bilginlere teşekkür ederim :) :)
bunyamincapar
Üye
Mesajlar: 15
Kayıt: 20 Mar 2015 06:01

stringgrind ve bitbuton kulanarak hesap makinesi yapmak

Mesaj gönderen bunyamincapar »

iyi günler ben bişey soracaktım

ben stringgrind ile hesap makinesi nasıl yapabilirim aceba bende toplamanın kodlar var ama hep hata veriyor 3 adet stringrind olmalı ilkinde ilk sayı 2.de ise ikincı sayı ve 3.de ise toplamlarını yazan stringgrindler olmalı hepsının kodları ise bitbutona yazılmalı ama toplama icin yaptıgımda nedese kodta hata var anlıyamadımm ve sıze zorma geregı duydum yardımcı olabilirseniz cok sevinirim şimdiden çok tesekkür ediyorum
Cevapla