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

delphi 7 ile dört işlem

Mesaj gönderen bunyamincapar »

tek edit içinde bir button ile dört işlem yapmak.......
copy,pos,length komutları kullanılarak yapılacak
çalışma şekli.jpg
çalışma şekli.jpg (8.97 KiB) 7009 kere görüntülendi
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: delphi 7 ile dört işlem

Mesaj gönderen SimaWB »

Kolay gelsin (!)
There's no place like 127.0.0.1
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: delphi 7 ile dört işlem

Mesaj gönderen Lord_Ares »

SimaWB arkadaşımın dediği gibi kolay gelsin. Onlara bir ödev veriliyor, onlarda bize veriyor sanki al bunu yap dercesine..:)) Bir insan ancak bu kadar üşengeç olabilir, bari rica etseydin ona da mı üşendin.. Kendi adıma parasınla bile yardımcı olmam..
bunyamincapar
Üye
Mesajlar: 15
Kayıt: 20 Mar 2015 06:01

Re: delphi 7 ile dört işlem

Mesaj gönderen bunyamincapar »

aslında ole demek istememiştim ve tez odevim oldugu icinde nasıl yapacagımı bilmiyorum ve delphiyide ilk defa burda bir haftadır duydum soru şeklinde yazsam daha anlaşılır olacagını dusunmuştüm teşekkürler
bunyamincapar
Üye
Mesajlar: 15
Kayıt: 20 Mar 2015 06:01

Re: delphi 7 ile dört işlem

Mesaj gönderen bunyamincapar »

tek edit içinde bir button ile dört işlem yapmak.......
copy,pos,length komutları kullanılarak yapılacak
nasıl yapabılırım yardımcı olabilirseniz sevinirim teşekürler
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: delphi 7 ile dört işlem

Mesaj gönderen brs »

100 TL alayım :)

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
  a, b: integer;
begin
  a := strtoint(Edit1.Text);
  b := strtoint(Edit2.Text);
  showmessage(inttostr(a + b));
end;
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: delphi 7 ile dört işlem

Mesaj gönderen Lord_Ares »

brs yazdı:100 TL alayım :)
Brs sanırım 100 TL sen bize borçlandın, :D >>> "copy,pos,length komutları kullanılarak yapılacak" ve dört işlem olmalı ,paylaştığında kod sadece topluyor :)))
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: delphi 7 ile dört işlem

Mesaj gönderen brs »

Yok hocam yanlış anlamışsınız :lol: ben sadece toplama işlemi için istemiştim...


Saygılarımla...
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: delphi 7 ile dört işlem

Mesaj gönderen unicorn64 »

bunyamincapar yazdı:aslında ole demek istememiştim ve tez odevim oldugu icinde nasıl yapacagımı bilmiyorum ve delphiyide ilk defa burda bir haftadır duydum soru şeklinde yazsam daha anlaşılır olacagını dusunmuştüm teşekkürler
tez ödevi için (!) delphide 4 işlem yapan program veriliyorsa, ve bu basitlikte bir konu için bile muhtemelen hiç araştırma yapmadan foruma ödev verircesine mesaj yazılarak sonuç bekleniyorsa, belki de o tez ödevinden kalmanız daha hayırlıdır....
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

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

Re: delphi 7 ile dört işlem

Mesaj gönderen bunyamincapar »

ilk once tesekur ederim toplamayı bende biliyorum isterseniz yapılmış halınıde atarım AMA diger işlemler lazım
toplama kodlarıda bunlar
procedure TForm1.Button1Click(Sender: TObject);
Var islem,ilk,son,ikinci,sonuc:integer;
begin
islem:=pos('+', edit1.Text);
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;
edit1.Text:= edit1.Text + '=' + inttostr(sonuc);
end;

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

Re: delphi 7 ile dört işlem

Mesaj gönderen bunyamincapar »

zaten burdakıde basıt bir hesap makinesi
ve ben cok fonksuyonlu hesap makinesinide yapabiliyorum ama bir turlu tek edit icerisinde ve tek buton kulanarak bunları nasıl yaparım onu cok araştırdım ama boyle birşey bulamadım yanı benim istedigim sekilde yok ve ben burda yardım istiyorum bazı abilerimiz ise dalga gecer gibi şeyler yazıyor ben buranın bir yardım sayfası oldugunu biliyordum ama oleki yanlış anlamışım sadece yardım edebilecek arkadaşlara ve abilere yazıyorum teşekürler nasıl yapabilirim?
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 »

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
edit1.Text:= edit1.Text + '=' + inttostr(sonuc);
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;

Kullanıcı avatarı
cinarbil
Üye
Mesajlar: 109
Kayıt: 18 Mar 2014 09:26

Re: delphi 7 ile dört işlem

Mesaj gönderen cinarbil »

esistem hızlı davranmış bir cay molasında ancak bu kadar sadece 1 edit 1 label ve 1 butonla dört işlem

tüm işlemlerde kesirli girmek gerek 10,0+2,0 = 12,0 gibi

denendi çalışıyor.
süslemeler sana ait

ilk girilen sayı küçük sonraki büyük sıfıra bölünemez ve esistem arkadaşımızın ve benim kodları birleştir.

Kod: Tümünü seç

unit dortislem;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    sayi1,sayi2:real;
    islem:char;
    gecici1,gecici2:string;
    sira:shortint;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
sonuc :real;
begin
sayi1:=strtofloat(gecici1);
sayi2:=strtofloat(gecici2);
if islem='+' then sonuc:=sayi1+sayi2;
if islem='-' then sonuc:=sayi1-sayi2;
if islem='/' then sonuc:=sayi1/sayi2;
if islem='*' then sonuc:=sayi1*sayi2;
label1.Caption := floattostr (sonuc);
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',',',#8,'+','-','*','/']) then
  begin
    Key:=#0;  //girilen karakter rakam veya backspace  , / * - + ,  degilse null(#0)'a döndür (not ondalık ayıracı sizde . ise kodu düzlettin ben , olarak yazdım
    Beep;       //bip sesi ile kullanycyyy uyar.
  end;
  if (key='*') or (key='/') or (key='+') or (key='-') then
   begin
     islem:=key;
     sira:=2;
   end else begin
   if sira=1 then gecici1:=gecici1+key;
   if sira=2 then gecici2:=gecici2+key;
   end;
End;

procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.text:='';
gecici1:='';
gecici2:='';
sira:=1;
end;

end.
Dosya ekleri
dortislem.rar
(58.78 KiB) 187 kere indirildi
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
bunyamincapar
Üye
Mesajlar: 15
Kayıt: 20 Mar 2015 06:01

Re: delphi 7 ile dört işlem

Mesaj gönderen bunyamincapar »

herkese cok teşekkür ederim

benim istedigim bu ama hata nerde var programda yazdıgımda hata veriyor
ben bir hata goremedim

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
edit1.Text:= edit1.Text + '=' + inttostr(sonuc);
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;
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 »

Kural (1) ne yazdığını ve ne hata aldığını yazmalısın
Kural (2) tüm forumlar için geçerlidir kodlarını CODE bloğuna almalısın
Resim
Resim ....Resim
Cevapla