Mega Code Archive

 
Categories / Delphi / Forum
 

Neoturk - reyardım talebi ya bende yada kitapta hata var

" 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 ]