Yorumları: 1
Konuları: 1
Kayıt Tarihi: 05-12-2021
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 0 Başlangıç
05-12-2021, Saat: 00:32
(Son Düzenleme: 05-12-2021, Saat: 00:36, Düzenleyen: iremm.)
merhabalar , delphi 7 kitabında 79 a kadar işledik ve hocamız böle bi kod verdi ve bize bir adet daha buton ekleyip burdan girilen verilerin o butona basınca showmessage ile listelememizi istedi lütfen yardımcı olabilir misiniz ?? elimde olan kod bu diğer butonu nasıl yapıcam
type
musteri=record
adisoyadi:AnsiString;adresi:AnsiString;
urun:AnsiString;fiyati:Currency;
end;
procedure TForm1. Button1Click (Sender: TObject);
var
i:integer;
yeni:Array [0..2] of musteri;
begin
for i:=0 to 2 do
begin
yeni[i]. adisoyadi:=InputBox ('Ad','Musteri','');
yeni[i]. adresi:=InputBox ('Adres','Musteri','');
yeni[i]. urun:=InputBox ('Urün','Musteri','');
yeni[i]. fiyati:=StrToCurr (InputBox ('Fiyat','Musteri',''));
end;
end.
Yorumları: 233
Konuları: 5
Kayıt Tarihi: 22-10-2018
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.2
- Delphi 10.1
- Delphi 7
- Lazarus / FPC
Rep Puanı: 1.801 Programcı
05-12-2021, Saat: 16:30
(Son Düzenleme: 05-12-2021, Saat: 16:31, Düzenleyen: mustafaozpinar.)
Bunun yanıtını biz veririz vermesine de size iyilik etmiş olmayız. Onun yerine burada ne yapılmak istendiğini anlatmaya çalışayım.
Amaç ekrandan kişi bilgilerini alıp topluca işleme tâbi tutmak.
Kişi bilgileri 4 adet, o kişinin Adı ve soyadı, Adresi, Ürün ve Fiyat.
Bu bilgileri biz normalde veri tabanındaki tablolarda tutarız. Fakat öğretmen sizin henüz veri tabanı bilmediğinizi düşünerek bu verileri bellekteki bir dizide tutacak şekilde bir program yazmış.
Bu durumda dizinin 3 adetlik (sıfırıncı, birinci ve ikinci) elemanlarının her birinin içinde musteri adlı yukarıda tanımlanan record (kayıt) tutuluyor. Program çalıştığında girilen bilgiler bu dizide şu şekilde yer alacak.
Kayıt alanları
=============================================================
Dizi indisi adisoyadi adresi urun fiyati
====== ================= ================= ================= =========
0 yeni[0]. adisoyadi yeni[0]. adresi yeni[0]. urun yeni[0]. fiyati
1 yeni[1]. adisoyadi yeni[1]. adresi yeni[1]. urun yeni[1]. fiyati
2 yeni[2]. adisoyadi yeni[2]. adresi yeni[2]. urun yeni[2]. fiyati
Verilen kodlar bu diziyi doldurmak için yazılmış. Amacımız bu diziyi tuşa bastığınızda ShowMessage(s); ile yazdırmak. Peki bunun için ne yapacaksınız. s değişkeninin içine girilen bilgileri sırayla koymanız gerekecek.
Bunun için gerekli kodları oluşturmayı deneyin. Takıldığınız yerde buradan sorabilirsiniz.
Yorumları: 167
Konuları: 15
Kayıt Tarihi: 16-01-2021
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 900 Acemi
06-12-2021, Saat: 10:58
(Son Düzenleme: 06-12-2021, Saat: 11:34, Düzenleyen: COMMANDX.)
procedure TForm1. Button1Click (Sender: TObject);
var
i:integer;
yeni:Array [0..2] of musteri;
begin
for i:=0 to 2 do
begin
yeni[i]. adisoyadi:=InputBox ('Ad','Musteri','');
yeni[i]. adresi:=InputBox ('Adres','Musteri','');
yeni[i]. urun:=InputBox ('Urün','Musteri','');
yeni[i]. fiyati:=StrToCurr (InputBox ('Fiyat','Musteri',''));
end;
// cevap
MEMO1.Clear; // memoyu temizliyoruz
MEMO1.Lines.ADD(' ADISOYADI '+ ' --- ' + ' ADRESI ' +' --- '+ ' URUN'+' --- '+'FİYATI' ); // burası sütun başlık.
for i:=0 to 2 do
begin
MEMO1.Lines.Add(YENI[I].adisoyadi + ' '+ YENI[I].ADRESI + ' ' + YENI[I].URUN + ' '+FLOATTOSTR(YENI[I].FIYATI) ); // bu ksımda hafızadan verileri çağırıp memoya yaz
END;
//--
END;
Sorunuzun cevabı tekrar kodun içinde.
Yorumları: 667
Konuları: 72
Kayıt Tarihi: 24-01-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 906 Acemi
07-12-2021, Saat: 09:25
(Son Düzenleme: 07-12-2021, Saat: 22:09, Düzenleyen: Bay_Y.)
(06-12-2021, Saat: 10:58)COMMANDX Adlı Kullanıcıdan Alıntı:
procedure TForm1. Button1Click (Sender: TObject);
var
i:integer;
yeni:Array [0..2] of musteri;
begin
for i:=0 to 2 do
begin
yeni[i]. adisoyadi:=InputBox ('Ad','Musteri','');
yeni[i]. adresi:=InputBox ('Adres','Musteri','');
yeni[i]. urun:=InputBox ('Urün','Musteri','');
yeni[i]. fiyati:=StrToCurr (InputBox ('Fiyat','Musteri',''));
end;
// cevap
MEMO1.Clear; // memoyu temizliyoruz
MEMO1.Lines.ADD(' ADISOYADI '+ ' --- ' + ' ADRESI ' +' --- '+ ' URUN'+' --- '+'FİYATI' ); // burası sütun başlık.
for i:=0 to 2 do
begin
MEMO1.Lines.Add(YENI[I].adisoyadi + ' '+ YENI[I].ADRESI + ' ' + YENI[I].URUN + ' '+FLOATTOSTR(YENI[I].FIYATI) ); // bu ksımda hafızadan verileri çağırıp memoya yaz
END;
//--
END;
Sorunuzun cevabı tekrar kodun içinde.
"ShowMessage" ile nasıl listeleriz demiş sanki. Eğer yanlış anlamadıysam alternatif olabilir diye yazıyorum.
procedure TForm1. Button1Click (Sender: TObject);
var
i:integer;
mesaj : String ;
yeni:Array [0..2] of musteri;
begin
for i:=0 to 2 do
begin
yeni[i]. adisoyadi:=InputBox ('Ad','Musteri','');
yeni[i]. adresi:=InputBox ('Adres','Musteri','');
yeni[i]. urun:=InputBox ('Urün','Musteri','');
yeni[i]. fiyati:=StrToCurr (InputBox ('Fiyat','Musteri',''));
end;
// cevap
for i:=0 to 2 do
begin
Mesaj := inttoStr(i+1)+'.Ad Soyad : ' + yeni[i].adisoyadi + #13+ inttostr(i+1)+'.Adres : ' + yeni[i].adres + #13 + inttostr(i+1)+'.Ürün : ' + yeni[i].urun + #13 + inttostr(i+1)+'.Fiyat : ' + yeni[i].fiyat + #13 ;
end;
Showmessage(mesaj);
//--
END;
Yorumları: 167
Konuları: 15
Kayıt Tarihi: 16-01-2021
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 900 Acemi
07-12-2021, Saat: 18:32
(Son Düzenleme: 07-12-2021, Saat: 18:38, Düzenleyen: COMMANDX.)
(07-12-2021, Saat: 09:25)Bay_Y Adlı Kullanıcıdan Alıntı: (06-12-2021, Saat: 10:58)COMMANDX Adlı Kullanıcıdan Alıntı:
procedure TForm1. Button1Click (Sender: TObject);
var
i:integer;
yeni:Array [0..2] of musteri;
begin
for i:=0 to 2 do
begin
yeni[i]. adisoyadi:=InputBox ('Ad','Musteri','');
yeni[i]. adresi:=InputBox ('Adres','Musteri','');
yeni[i]. urun:=InputBox ('Urün','Musteri','');
yeni[i]. fiyati:=StrToCurr (InputBox ('Fiyat','Musteri',''));
end;
// cevap
MEMO1.Clear; // memoyu temizliyoruz
MEMO1.Lines.ADD(' ADISOYADI '+ ' --- ' + ' ADRESI ' +' --- '+ ' URUN'+' --- '+'FİYATI' ); // burası sütun başlık.
for i:=0 to 2 do
begin
MEMO1.Lines.Add(YENI[I].adisoyadi + ' '+ YENI[I].ADRESI + ' ' + YENI[I].URUN + ' '+FLOATTOSTR(YENI[I].FIYATI) ); // bu ksımda hafızadan verileri çağırıp memoya yaz
END;
//--
END;
Sorunuzun cevabı tekrar kodun içinde.
"ShowMessage" ile nasıl listeleriz demiş sanki. Eğer yanlış anlamadıysam alternatif olabilir diye yazıyorum.
procedure TForm1. Button1Click (Sender: TObject);
var
i:integer;
mesaj : String ;
yeni:Array [0..2] of musteri;
begin
for i:=0 to 2 do
begin
yeni[i]. adisoyadi:=InputBox ('Ad','Musteri','');
yeni[i]. adresi:=InputBox ('Adres','Musteri','');
yeni[i]. urun:=InputBox ('Urün','Musteri','');
yeni[i]. fiyati:=StrToCurr (InputBox ('Fiyat','Musteri',''));
end;
// cevap
for i:=0 to 2 do
begin
Mesaj := inttoStr(i+1)+'.Ad Soyad : ' + yeni[i].adisoyadi + #13+ inttostr(i+1)+'.Adres : ' + yeni[i].adres + #13 + inttostr(i+1)+'.Ürün : ' + yeni[i].urun + #13 + inttostr(i+1)+'.Fiyat : ' + yeni[i].fiyat + #13 ;
ShowMessage(Mesaj);
END;
//--
END;
Evet, aynen
Ha show messacce, ha Memo1 den versacce.
Ne farkediyye?
showmessage(memo1. text) ; olsa olamaz mı Bilo, Maho aşık olamaz mı, bi çikküfte bile yaptırmiyürsüz, yine de canın sağola.
Her zaman test amaçlı memo kullanırım.
Show message dank dunk dink gibi hede hödö nedeniyle pek kullanışsız
Yorumları: 233
Konuları: 5
Kayıt Tarihi: 22-10-2018
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.2
- Delphi 10.1
- Delphi 7
- Lazarus / FPC
Rep Puanı: 1.801 Programcı
(07-12-2021, Saat: 09:25)Bay_Y Adlı Kullanıcıdan Alıntı: (06-12-2021, Saat: 10:58)COMMANDX Adlı Kullanıcıdan Alıntı:
procedure TForm1. Button1Click (Sender: TObject);
var
i:integer;
yeni:Array [0..2] of musteri;
begin
for i:=0 to 2 do
begin
yeni[i]. adisoyadi:=InputBox ('Ad','Musteri','');
yeni[i]. adresi:=InputBox ('Adres','Musteri','');
yeni[i]. urun:=InputBox ('Urün','Musteri','');
yeni[i]. fiyati:=StrToCurr (InputBox ('Fiyat','Musteri',''));
end;
// cevap
MEMO1.Clear; // memoyu temizliyoruz
MEMO1.Lines.ADD(' ADISOYADI '+ ' --- ' + ' ADRESI ' +' --- '+ ' URUN'+' --- '+'FİYATI' ); // burası sütun başlık.
for i:=0 to 2 do
begin
MEMO1.Lines.Add(YENI[I].adisoyadi + ' '+ YENI[I].ADRESI + ' ' + YENI[I].URUN + ' '+FLOATTOSTR(YENI[I].FIYATI) ); // bu ksımda hafızadan verileri çağırıp memoya yaz
END;
//--
END;
Sorunuzun cevabı tekrar kodun içinde.
"ShowMessage" ile nasıl listeleriz demiş sanki. Eğer yanlış anlamadıysam alternatif olabilir diye yazıyorum.
procedure TForm1. Button1Click (Sender: TObject);
var
i:integer;
mesaj : String ;
yeni:Array [0..2] of musteri;
begin
for i:=0 to 2 do
begin
yeni[i]. adisoyadi:=InputBox ('Ad','Musteri','');
yeni[i]. adresi:=InputBox ('Adres','Musteri','');
yeni[i]. urun:=InputBox ('Urün','Musteri','');
yeni[i]. fiyati:=StrToCurr (InputBox ('Fiyat','Musteri',''));
end;
// cevap
for i:=0 to 2 do
begin
Mesaj := inttoStr(i+1)+'.Ad Soyad : ' + yeni[i].adisoyadi + #13+ inttostr(i+1)+'.Adres : ' + yeni[i].adres + #13 + inttostr(i+1)+'.Ürün : ' + yeni[i].urun + #13 + inttostr(i+1)+'.Fiyat : ' + yeni[i].fiyat + #13 ;
ShowMessage(Mesaj);
END;
//--
END;
Ancak ShowMessage'ın döngü dışında, sonrasında olması gerekiyor.
Yorumları: 667
Konuları: 72
Kayıt Tarihi: 24-01-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 906 Acemi
(07-12-2021, Saat: 21:10)mustafaozpinar Adlı Kullanıcıdan Alıntı: (07-12-2021, Saat: 09:25)Bay_Y Adlı Kullanıcıdan Alıntı: "ShowMessage" ile nasıl listeleriz demiş sanki. Eğer yanlış anlamadıysam alternatif olabilir diye yazıyorum.
procedure TForm1. Button1Click (Sender: TObject);
var
i:integer;
mesaj : String ;
yeni:Array [0..2] of musteri;
begin
for i:=0 to 2 do
begin
yeni[i]. adisoyadi:=InputBox ('Ad','Musteri','');
yeni[i]. adresi:=InputBox ('Adres','Musteri','');
yeni[i]. urun:=InputBox ('Urün','Musteri','');
yeni[i]. fiyati:=StrToCurr (InputBox ('Fiyat','Musteri',''));
end;
// cevap
for i:=0 to 2 do
begin
Mesaj := inttoStr(i+1)+'.Ad Soyad : ' + yeni[i].adisoyadi + #13+ inttostr(i+1)+'.Adres : ' + yeni[i].adres + #13 + inttostr(i+1)+'.Ürün : ' + yeni[i].urun + #13 + inttostr(i+1)+'.Fiyat : ' + yeni[i].fiyat + #13 ;
ShowMessage(Mesaj);
END;
//--
END;
Ancak ShowMessage'ın döngü dışında, sonrasında olması gerekiyor.
Doğru söylüyorsunuz. Teşekkürler
|