Forum Delphi

"
unit ogrenci;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls;
type
Tfrmogrenci = class(TForm)
btnekle: TButton;
btnsil: TButton;
btncik: TButton;
dtpkayittarihi: TDateTimePicker;
cbobolumu: TComboBox;
edadsoyad: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
lvwogrencilistesi: TListView;
procedure FormCreate(Sender: TObject);
procedure btnekleClick(Sender: TObject);
procedure btnsilClick(Sender: TObject);
procedure btncikClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmogrenci: Tfrmogrenci;
implementation
{$R *.dfm}
procedure Tfrmogrenci.FormCreate(Sender: TObject);
begin
cbobolumu.ItemIndex:=0;
lvwogrencilistesi.ViewStyle:=vsreport;
lvwogrencilistesi.Columns.Add;
lvwogrencilistesi.Columns.Items[0].Caption:='Adı Soyadı';
lvwogrencilistesi.Columns.Items[0].width:=100;
lvwogrencilistesi.Columns.Add;
lvwogrencilistesi.Columns.Items[1].Caption:='Bölümü';
lvwogrencilistesi.Columns.Items[1].width:=100;
lvwogrencilistesi.Columns.Add;
lvwogrencilistesi.Columns.Items[2].Caption:='Kayıt Tarihi';
lvwogrencilistesi.Columns.Items[2].width:=100;
end;
procedure Tfrmogrenci.btnekleClick(Sender: TObject);
const s:integer=0; <*<*<*<*<*<*<*<<*<*<*< (burda hata veriyor program)
if lvwogrencilistesi.Items.count=0 then s:0;
lvwogrencilistesi.Items.Add;
lvwogrencilistesi.Items.Item[s].Caption:=edadsoyad.Text;
lvwogrencilistesi.Items.Item[s].SubItems.Add(cbobolumu);
lvwogrencilistesi.Items.Item[s].SubItems.Add(DateToStr(dtpkayittarihi.Date));
s:=s+1;
end;
procedure Tfrmogrenci.btnsilClick(Sender: TObject);
begin
lvwogrencilistesi.Items.Delete(lvwogrencilistesi.ItemIndex);
end;
procedure Tfrmogrenci.btncikClick(Sender: TObject);
begin
close;
end;
end.
"
merhaba,
1)
formun create bölümündeki ayarlara pek gerek yok
elle manuel olarak listview nesnesine 3 adet kolon oluştur ve captionlarını ayarla.
burası görsellik için..
2)
"
const s:integer=0; <*<*<*<*<*<*<*<<*<*<*< (burda hata veriyor program)
if lvwogrencilistesi.Items.count=0 then s:0;
lvwogrencilistesi.Items.Add;
lvwogrencilistesi.Items.Item[s].Caption:=edadsoyad.Text;
lvwogrencilistesi.Items.Item[s].SubItems.Add(cbobolumu);
lvwogrencilistesi.Items.Item[s].SubItems.Add(DateToStr(dtpkayittarihi.Date));
s:=s+1;
"
var s:integer=0; <*<*<*<*<*<*<*<<*<*<*< (burda hata veriyor program)
if lvwogrencilistesi.Items.count=0 then s:=0;
lvwogrencilistesi.Items.Add();
lvwogrencilistesi.Items.Item[s].Caption:=edadsoyad.Text;
lvwogrencilistesi.Items.Item[s].SubItems.Add(cbobolumu);
lvwogrencilistesi.Items.Item[s].SubItems.Add(DateToStr(dtpkayittarihi.Date));
s:=s+1;
yukarıdaki şekilde değiştirip tekrar gözden geçir.
(const ile yapılmış sabit tanımına tekrar değer aktarılamaz, s=s+1 gibi)
add() çift parantez de ekle,
şayet yukardakilerin hiç biri olmaz ise ( ki sanmıyorum hata çıksın ),
şu şekilde değiştir, ( ekle butonunun cliğine yaz ),
var s:integer;
begin
s:=lvwogrencilistesi.items.count;
if s<0 then s:=0; //her ihtimale karşı sigorta olsun diye yazdım kasıtlı!
lvwogrencilistesi.items.add();
lvwogrencilistesi.Items.Item[s].Caption:=edadsoyad.Text;
lvwogrencilistesi.Items.Item[s].SubItems.Add(cbobolumu);
lvwogrencilistesi.Items.Item[s].SubItems.Add(DateToStr(dtpkayittarihi.Date));
end;
%100 olarak çalışacaktır....
3) silme tuşuna yazdığın kod,
lvwogrencilistesi.Items.Delete(lvwogrencilistesi.ItemIndex);
şeklinde yazmışsın, seçili bir eleman olmaz ise hata raporuyla karşılaşırsın,
bunu da şu şekilde değiştir,
try
lvwogrencilistesi.Items.Delete(lvwogrencilistesi.ItemIndex);
except
showmessage('silinecek elemanı seçin');
end; //try-except
başka bişi yok hatalı görünen,
kolay gelsin....
saygılarımla_
neoturk [ xxnt03@lycos.co.uk ]