proje ödevi: kendi excel versiyonumuzu oluşturmak..
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- raikkonen21
- Üye
- Mesajlar: 49
- Kayıt: 02 Nis 2007 10:02
- Konum: Konya
hocam çok teşekkur ederım verdıgınız kod calısıyor benım kı de calısıyor..
alttakı kod cok yararlı cok ısımı gordu ..toplama ve carpmada kullandım...
bolme ve cıkarmada yapamadım..o yuzden onun ıcın de ayrı bırsey yapmak gerekıyor fakat edıte saayı degerını atamadım..yani soyle a1 ve b1 e mesela int bir deger girdik..edıtlerden bırıne a1 dıgerıne b1 deyıp toplattırdıgım zaman olmuyor yanı ordakı degerı edıtın ıcıne aktaramadım..başka bır yol var mı hocam?
alttakı kod cok yararlı cok ısımı gordu ..toplama ve carpmada kullandım...
bolme ve cıkarmada yapamadım..o yuzden onun ıcın de ayrı bırsey yapmak gerekıyor fakat edıte saayı degerını atamadım..yani soyle a1 ve b1 e mesela int bir deger girdik..edıtlerden bırıne a1 dıgerıne b1 deyıp toplattırdıgım zaman olmuyor yanı ordakı degerı edıtın ıcıne aktaramadım..başka bır yol var mı hocam?
- raikkonen21
- Üye
- Mesajlar: 49
- Kayıt: 02 Nis 2007 10:02
- Konum: Konya
dediğim gibi verdiğiniz kod işe yaradı..fakat bunun içine veri girmeden tıklandıgında yazdıramadım...selection ozellıgı var ama kullanamadım..
bolme ve cıkarma da kaldı oyle..
bolme ve cıkarma da kaldı oyle..
Kod: Tümünü seç
procedure TForm1.Button5Click(Sender: TObject);
begin
if
stringgrid1.Cells[1,1]<>'' then label1.Caption:='A1'
else if
stringgrid1.Cells[2,1]<>'' then label1.Caption:='B1'
else if
stringgrid1.Cells[3,1]<>'' then label1.Caption:='C1'
else if
stringgrid1.Cells[4,1]<>'' then label1.Caption:='D1'
else if
stringgrid1.Cells[1,2]<>'' then label1.Caption:='A2'
else if
stringgrid1.Cells[2,2]<>'' then label1.Caption:='B2'
else if
stringgrid1.Cells[3,2]<>'' then label1.Caption:='C2'
else if
stringgrid1.Cells[4,2]<>'' then label1.Caption:='D2'
else if
stringgrid1.Cells[1,3]<>'' then label1.Caption:='A3'
else if
stringgrid1.Cells[2,3]<>'' then label1.Caption:='B3'
else if
stringgrid1.Cells[3,3]<>'' then label1.Caption:='C3'
else if
stringgrid1.Cells[4,3]<>'' then label1.Caption:='D3'
else if
stringgrid1.Cells[1,4]<>'' then label1.Caption:='A4'
else if
stringgrid1.Cells[2,4]<>'' then label1.Caption:='B4'
else if
stringgrid1.Cells[3,4]<>'' then label1.Caption:='C4'
else if
stringgrid1.Cells[4,4]<>'' then label1.Caption:='D4'
end;
stringgridte toplama işlemini excel de olduğu gibi A1+A3 yada B1+B3ve benzeri sutunlar arasındaki değerleri toplayıp edite atalım:
form showda stringgrid1 i ayarlayalım:
Edit2 kolon aralığı seçme aralığı olsun --->A1+A3 girilmişse
hesapla butonunda işlem tipini alalım:
her işlem için farklı bir bitbtn kullanalım.örneğin toplama için BitBtn2 olsun.
BitBtn2 de toplama işlemini yapan kod:
A1 den A3'e kadar olan hücreler arasında boş olan hücre varsa programın hata vermemesi if stringgrid1.Cells[kolon_baslangic,i]<>'' kodu kullanıyoruz.
form showda stringgrid1 i ayarlayalım:
Kod: Tümünü seç
procedure TForm1.FormShow(Sender: TObject);
begin
stringgrid1.RowCount:=6;
stringgrid1.ColCount:=6;
stringgrid1.Cells[1,0]:='A';
stringgrid1.Cells[2,0]:='B';
stringgrid1.Cells[3,0]:='C';
stringgrid1.Cells[4,0]:='D';
stringgrid1.Cells[5,0]:='E';
stringgrid1.Cells[6,0]:='F';
stringgrid1.Cells[0,1]:='1';
stringgrid1.Cells[0,2]:='2';
stringgrid1.Cells[0,3]:='3';
stringgrid1.Cells[0,4]:='4';
stringgrid1.Cells[0,5]:='5';
stringgrid1.Cells[0,6]:='6';
Edit1.Text:='';
end;
hesapla butonunda işlem tipini alalım:
Kod: Tümünü seç
procedure TForm1.Button3Click(Sender: TObject);
var
islem_tipi:string;
begin
islem_tipi:= Copy(Edit2.Text,3,1);
if islem_tipi='+' then BitBtn2.Click;
if islem_tipi='-' then BitBtn3.Click;
if islem_tipi='*' then BitBtn4.Click;
if islem_tipi='/' then BitBtn5.Click;
end;
BitBtn2 de toplama işlemini yapan kod:
Kod: Tümünü seç
procedure TForm1.BitBtn2Click(Sender: TObject);
var
i,j:integer;
toplam:integer;
str:string;
str_basla,str_bitis:string;
kolon_baslangic:integer;
begin
toplam:=0;
str_basla:=Copy(Edit2.Text,1,1);
str_bitis:=Copy(Edit2.Text,4,2);
if str_basla='A' then kolon_baslangic:=1;
if str_basla='B' then kolon_baslangic:=2;
if str_basla='C' then kolon_baslangic:=3;
if str_basla='D' then kolon_baslangic:=4;
if str_basla='E' then kolon_baslangic:=5;
if str_basla='F' then kolon_baslangic:=6;
for i:=1 to stringgrid1.RowCount-1 do begin
if stringgrid1.Cells[kolon_baslangic,i]<>'' then begin
toplam:=toplam + strtoint(stringgrid1.Cells[kolon_baslangic,i]);
end;
end;
Edit1.Text:=inttostr(toplam);
end;
- raikkonen21
- Üye
- Mesajlar: 49
- Kayıt: 02 Nis 2007 10:02
- Konum: Konya
hocam oncelıkle tesekkur ederım
bu kodda edıt2 den 3. karakterınden baslayıp bır karakterını aldırmıssınız..sonra ıslem tıppinı belırlemısız galıba..ama ben bunu tam anlayamadım..en usttekı kod copy kodu gereklıı mı hocam ? bız zaten ıslem tıpını elmızle yazmıyormuyuz?
toplaa ıcın yapmıssınız guzel calısıyor ama anlamadım hocam ben anlamaya calıstım 1 saat kadar koda baktım ama tam cozemedım..bıde sadece stunu topluyor galıba.. neyse en bıraz daha anlamaya calısıyım..oncekı verdıgınız kodda satır toplatma da vardı bırlestırıp bırseyler ypmaya calısıyım
Kod: Tümünü seç
procedure TForm1.Button3Click(Sender: TObject);
var
islem_tipi:string;
begin
islem_tipi:= Copy(Edit2.Text,3,1);
if islem_tipi='+' then BitBtn2.Click;
if islem_tipi='-' then BitBtn3.Click;
if islem_tipi='*' then BitBtn4.Click;
if islem_tipi='/' then BitBtn5.Click;
end;
toplaa ıcın yapmıssınız guzel calısıyor ama anlamadım hocam ben anlamaya calıstım 1 saat kadar koda baktım ama tam cozemedım..bıde sadece stunu topluyor galıba..
Kod: Tümünü seç
toplam:=0;
str_basla:=Copy(Edit2.Text,1,1);
str_bitis:=Copy(Edit2.Text,4,2);
if str_basla='A' then kolon_baslangic:=1;
if str_basla='B' then kolon_baslangic:=2;
if str_basla='C' then kolon_baslangic:=3;
if str_basla='D' then kolon_baslangic:=4;
if str_basla='E' then kolon_baslangic:=5;
if str_basla='F' then kolon_baslangic:=6;
for i:=1 to stringgrid1.RowCount-1 do begin
if stringgrid1.Cells[kolon_baslangic,i]<>'' then begin
toplam:=toplam + strtoint(stringgrid1.Cells[kolon_baslangic,i]);
end;
- raikkonen21
- Üye
- Mesajlar: 49
- Kayıt: 02 Nis 2007 10:02
- Konum: Konya
hocam aşağıda yaptığım işlem toplama ve çarpmada cok guzel oldu..ayrıca sızın yazdıklarınızı bıraz uyuduktan sonra anladım..artık ruyalarıma gırdı:)
bu işlem benim tam istediğin nitelikte..tabi sayenizde hocam..her tarafı sızden alıntı..
fakat bolme ve cıkarma olayını daha cozemedım..
kodunu yazdıgımda da malumunuz 1 cevabını verıyor.. aklımda ıkı dongu var ama su an basım cok agrıdı dusun dusun nasıl cıkacagımı bılemedım..yardım hocam lutfen...
Kod: Tümünü seç
var
i,j:integer;
toplam:integer;
str:string;
str_basla,str_bitis:string;
kolon_numarasi,stun_numarasi:integer;
begin
toplam:=0;
str_basla:=Copy(Edit2.Text,1,2); //A1+A3
str_bitis:=Copy(Edit2.Text,4,2);
if str_basla='A1' then kolon_numarasi:=1; stun_numarasi:=1;
if str_basla='A2' then kolon_numarasi:=2; stun_numarasi:=1;
if str_basla='A3' then kolon_numarasi:=3; stun_numarasi:=1;
if str_basla='A3' then kolon_numarasi:=4; stun_numarasi:=1;
if str_basla='A3' then kolon_numarasi:=5; stun_numarasi:=1;
for kolon_numarasi:=1 to stringgrid1.RowCount-1 do begin
for stun_numarasi:=1 to stringgrid1.ColCount-1 do begin
if stringgrid1.Cells[kolon_numarasi,stun_numarasi]<>'' then begin
toplam:=toplam + strtoint(stringgrid1.Cells[kolon_numarasi,stun_numarasi]);
end;
end;
Edit1.Text:=inttostr(toplam);
end;
fakat bolme ve cıkarma olayını daha cozemedım..
Kod: Tümünü seç
bolum:=strtoint(stringgrid1.Cells[kolon_numrasi,stun_numarasi]); / strtoint(stringgrid1.Cells[kolon_numarasi,stun_numarasi]);
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
oncelikle gidis yolunun yanlis oldugunu soyleyebilirim.
yani bu isi stringridle falan ugrasarak cozemezsin. cunku stringgrid bu is icin cokta yeterli degildir. bi noktadan sonra seni yari yolda birakacaktir.
odevi yetistireyim benim baska derdim yok diyorsan stringgridle ugrasmaya devam et. gecer bir not alabilecegin sekilde bir uygulama yazabilirsin % 100 ama ilerisini dusunuyorsan ufkunu biraz daha genisletmen lazim.
excel gibi bir uygulama yapmak istiyorsan aklina gelmesi gereken ilk sey ufacik bir nesnedir. adini da buyuk ihtimal THucre koyarsin. THucrenin iki ozelligi olur.
icerisinde bir deger ya da bir formul barindirir.
bu kadar.
StringGridi de olayin mantigina yerlestirmekten kurtulur onu sadece bu THucreleri kullaniciya gosterecegin bir gorsel bilesen olarak kullanirsin. zaten adi ustunde. VCL. visual component library. senin yazacagin nesnelerle kullanici arasinda gorsel bir katmandir sadece.
senin isini ne kadar gorur bilmiyorum ama asagidaki THucre 4 islemi yapabilmekle birlikte aralik olarak belirtilmis hucreleri de toplayabiliyor. icerisinde formul barindiran bir hucrenin baska bir hucre tarafindan kullanilmasi sonucunda ise formul kullanilmis olan hucrenin formul sonucu meydana cikan degerini ilgili hucreye aktarabiliyor.
THucre nin StringGridde ki kullanici ile etkilesimi bu ornekte cok iyi degil ama o kisimlar da sana kalsin artik
THucre nin kodlari
bu da StringGrid ile hucreler arasi iletisimi saglayan unitin kodlari.
bu da dfm si
bu kodlari projeye ekledikten sonra programi calistir.
A1 hucresine 5 gir
C5 hucresine 7 gir.
sonra E1 hucresine =A1+C5 yaz entera bas.
formul sonucunun hesaplana bilmesi icin baska bir hucreye tikla sonra yeniden E1 e tikla. e1 de 12 yazacaktir.
sonra C2 ye 4 yaz. D4 e ise =E1/C2 yaz. enter a bas. baska bir hucreye gec. sonra tekrar D4 e tikla. formul hesaplanacaktir.
ayni siradaki hucreleri de =A1:A5 seklinde toplatabilirsin.
formul goster kutucugunu isaretlersen formmul iceren satirlarin icindeki formulleri gorebilir ve degistirebilirsin.
THucreyi gelistirmek artik senin isin.
yani bu isi stringridle falan ugrasarak cozemezsin. cunku stringgrid bu is icin cokta yeterli degildir. bi noktadan sonra seni yari yolda birakacaktir.
odevi yetistireyim benim baska derdim yok diyorsan stringgridle ugrasmaya devam et. gecer bir not alabilecegin sekilde bir uygulama yazabilirsin % 100 ama ilerisini dusunuyorsan ufkunu biraz daha genisletmen lazim.
excel gibi bir uygulama yapmak istiyorsan aklina gelmesi gereken ilk sey ufacik bir nesnedir. adini da buyuk ihtimal THucre koyarsin. THucrenin iki ozelligi olur.
icerisinde bir deger ya da bir formul barindirir.
bu kadar.
StringGridi de olayin mantigina yerlestirmekten kurtulur onu sadece bu THucreleri kullaniciya gosterecegin bir gorsel bilesen olarak kullanirsin. zaten adi ustunde. VCL. visual component library. senin yazacagin nesnelerle kullanici arasinda gorsel bir katmandir sadece.
senin isini ne kadar gorur bilmiyorum ama asagidaki THucre 4 islemi yapabilmekle birlikte aralik olarak belirtilmis hucreleri de toplayabiliyor. icerisinde formul barindiran bir hucrenin baska bir hucre tarafindan kullanilmasi sonucunda ise formul kullanilmis olan hucrenin formul sonucu meydana cikan degerini ilgili hucreye aktarabiliyor.
THucre nin StringGridde ki kullanici ile etkilesimi bu ornekte cok iyi degil ama o kisimlar da sana kalsin artik

THucre nin kodlari
Kod: Tümünü seç
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids;
const cntMin=1;
const cntMax=6;
type
THucre = class
private
fText:String;
function AralikHesapla(aSutun:Char;aStart,aEnd:Integer):Integer;
function FormuluHesapla:Integer;
function isFormul:Boolean;
function getDeger: String;
function getFormul: String;
procedure setDeger(const Value: String);
protected
public
property Formul:String read getFormul;
property Deger:String read getDeger write setDeger;
end;
var
Hucreler:array [cntMin..cntMax,cntMin..cntMax] of THucre;
implementation
//////////// diğer fonksiyonlar //////////////////////
function ConvertStringGridToArray(aIndis:String):THucre;
var
aCol,aRow:Integer;
begin
aRow := StrToInt(aIndis[2]);
case aIndis[1] of
'A': aCol := 1;
'B': aCol := 2;
'C': aCol := 3;
'D': aCol := 4;
'E': aCol := 5;
'F': aCol := 6;
end;
Result := Hucreler[Acol,aRow];
end;
///////////////////////////////////////////////////////////////////
{ THucre }
function THucre.AralikHesapla(aSutun: Char; aStart,
aEnd: Integer): Integer;
var
i:Integer;
begin
Result :=0;
for i:=aStart to aEnd do
Result:= Result + StrToInt(ConvertStringGridToArray(aSutun+InttoStr(i)).Deger);
end;
function THucre.FormuluHesapla: Integer;
var
strHucre1,strHucre2:String;
strOperator:string;
objHucre1,objHucre2:THucre;
begin
strHucre1 := Copy(fText,2,2);
strHucre2 := Copy(fText,5,2);
strOperator := Copy(fText,4,1);
objHucre1 := ConvertStringGridToArray(strHucre1);
objHucre2 := ConvertStringGridToArray(strHucre2);
Case strOperator[1] of
'+': Result :=StrToInt(objHucre1.Deger) + StrToInt(objHucre2.Deger);
'-': Result :=StrToInt(objHucre1.Deger) - StrToInt(objHucre2.Deger);
'*': Result :=StrToInt(objHucre1.Deger) * StrToInt(objHucre2.Deger);
'/': Result :=StrToInt(objHucre1.Deger) div StrToInt(objHucre2.Deger);
':': Result :=AralikHesapla(strhucre1[1],StrToInt(strHucre1[2]),StrToInt(strHucre2[2]));
end;
end;
function THucre.getDeger: String;
begin
if isFormul then
Result := IntToStr(FormuluHesapla)
else
Result := fText;
end;
function THucre.getFormul: String;
begin
if isFormul Then
Result := fText
else
Result := getDeger;
end;
function THucre.isFormul: Boolean;
begin
Result := Copy(fText,1,1)='=';
end;
procedure THucre.setDeger(const Value: String);
begin
fText := Trim(Value);
end;
end.
bu da StringGrid ile hucreler arasi iletisimi saglayan unitin kodlari.
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls;
type
TForm1 = class(TForm)
stringgrid1: TStringGrid;
chk1: TCheckBox;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure stringgrid1SetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
procedure stringgrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
i,j:Integer;
begin
stringgrid1.RowCount:=cntMax;
stringgrid1.ColCount:=cntMax;
stringgrid1.Cells[1,0]:='A';
stringgrid1.Cells[2,0]:='B';
stringgrid1.Cells[3,0]:='C';
stringgrid1.Cells[4,0]:='D';
stringgrid1.Cells[5,0]:='E';
stringgrid1.Cells[6,0]:='F';
stringgrid1.Cells[0,1]:='1';
stringgrid1.Cells[0,2]:='2';
stringgrid1.Cells[0,3]:='3';
stringgrid1.Cells[0,4]:='4';
stringgrid1.Cells[0,5]:='5';
stringgrid1.Cells[0,6]:='6';
for i:=cntMin to cntMax do
for j:=cntMin to cntMax do
Hucreler[i,j]:=THucre.Create;
end;
procedure TForm1.FormDestroy(Sender: TObject);
var
i,j:Integer;
begin
for i:=cntMin to cntMax do
for j:=cntMin to cntMax do
FreeAndNil(Hucreler[i,j]);
end;
procedure TForm1.stringgrid1SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
begin
if trim(Value) = '' then exit;
Hucreler[Acol,ARow].Deger:=Value;
end;
procedure TForm1.stringgrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
if trim(stringgrid1.Cells[Acol,Arow]) = '' then exit;
if chk1.Checked then
stringgrid1.Cells[Acol,Arow] := Hucreler[Acol,ARow].Formul
else
stringgrid1.Cells[Acol,Arow] := Hucreler[Acol,ARow].Deger
end;
end.
bu da dfm si
Kod: Tümünü seç
object Form1: TForm1
Left = 171
Top = 194
Width = 696
Height = 480
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
OnDestroy = FormDestroy
PixelsPerInch = 96
TextHeight = 13
object stringgrid1: TStringGrid
Left = 8
Top = 16
Width = 521
Height = 281
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goEditing]
ParentFont = False
TabOrder = 0
OnSelectCell = stringgrid1SelectCell
OnSetEditText = stringgrid1SetEditText
end
object chk1: TCheckBox
Left = 8
Top = 304
Width = 97
Height = 17
Caption = 'Formul Goster'
TabOrder = 1
end
end
A1 hucresine 5 gir
C5 hucresine 7 gir.
sonra E1 hucresine =A1+C5 yaz entera bas.
formul sonucunun hesaplana bilmesi icin baska bir hucreye tikla sonra yeniden E1 e tikla. e1 de 12 yazacaktir.
sonra C2 ye 4 yaz. D4 e ise =E1/C2 yaz. enter a bas. baska bir hucreye gec. sonra tekrar D4 e tikla. formul hesaplanacaktir.
ayni siradaki hucreleri de =A1:A5 seklinde toplatabilirsin.
formul goster kutucugunu isaretlersen formmul iceren satirlarin icindeki formulleri gorebilir ve degistirebilirsin.
THucreyi gelistirmek artik senin isin.
- raikkonen21
- Üye
- Mesajlar: 49
- Kayıt: 02 Nis 2007 10:02
- Konum: Konya
- raikkonen21
- Üye
- Mesajlar: 49
- Kayıt: 02 Nis 2007 10:02
- Konum: Konya
hocam iyi guzel dusunmussunuz de beni ezmeyin bu kadar ..ben daha t hucrenin nerde oldugunu bilmiyorum..ayrica kullandiginiz degimlerin cogunu biz gormedik..anlamaya calisiyorum ama bi turllu cikamadim isin icinden..thucre ile stringgrite baglanti yapmissiniz..bunu benim yapmadigim ap acik ortada olacak..Programcı kısıtlanmaz ama bizden string grid ile yapmamız ıstendı..yanı bu benım tercıhım degill..hem delphide f1book var..excel ile aynı cogu seyii.onu alırdım.. mic. excele baglantı yapan kodlar var onlarda var...fakat bizden istenen bu degil hocam....Ayrica ben daha programcı sıfatına layık gormuyorum kendımı:)
Yinede yardımlarınız için teşekkur ederım emegınıze elınıze saglık sadettin hocam...
Yinede yardımlarınız için teşekkur ederım emegınıze elınıze saglık sadettin hocam...
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
bu isi illa stringgridle cozeceksiniz dayatmasi yapan hocalariniz ne yaptiginin cokta farkinda olmayan insanlar sanirim. bu tip bir egitim anlayisinin iyi yonde degil kotu yonde etkisi olacagi suphesizdir. cunku nasil baslarsan oyle gidiyor malesef. string gridi excel haline getirmeye calismak sana cok seyler ogretecektir muhakkak ama ilerisi icin gittigin yolun yanlis oldugunu fark edeceksindir. iste o zaman dogru yonteme donmek cok zor oluyor. mesela kendimi ornek gosterebilirim bu konuda. amacim bizim dustugumuz hatalara sizler dusmeyin.raikkonen21 yazdı:ben anlamaya calıstım 1 saat kadar koda baktım ama tam cozemedım..
yukaridaki ornegi hocaniz kabul etmemesi icin ben bir neden goremiyorum. sonucta f1 book gibi hazir bir nesne kullanmiyorsun. ortada kendi yaptigin THucre adinda bir nesne var ve islemleri onunla hallediyorsun. ayrica THucreyi anlamak belirttigin kadar zor da degil. yukaridaki kodlari anlayan birisi THucreyi de cok kolay bir sekilde anlayabilir cunku yukaridakinden cok fazla farki yok. ustelik dikkat edersen kodlarin bir cogu dynamo arkadasimizin kodlarina cok benzer. cunku ondan asirdim

bu meslege yeni adim atiyorsun ve yanlis bir mantikla adim atmani istemedigimden bu cevaplari yazdim. kulagini tersten gostermeye calisiyorsun. zorla guzellik yapmaya calisiyorsun. bu yolda gidersen bir gun bir yerde duvara tosladigin zaman bu yazdiklarimi hatirlarsin. bende duvara toslamadan sana bunlari anlatmaya calisiyorum. cunku biz zamaninda cok tosladik

- raikkonen21
- Üye
- Mesajlar: 49
- Kayıt: 02 Nis 2007 10:02
- Konum: Konya
raikkonen21 sen yanlış düşünüyorsun bence Sadettin in kodu işine yarar ve hiç bir şekilde hocan buna kılıf uyduramaz çünkü mantıklısı bu arka planda ne yaptığını bile inceleceğini zannetmiyorum sen StringGrid i kullanmış olacaksın zaten
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
- raikkonen21
- Üye
- Mesajlar: 49
- Kayıt: 02 Nis 2007 10:02
- Konum: Konya
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
nesneye yonelik bir dilde ogretilmesi gereken ilk sey buton, edit, stringgrid tarzi bilesenler degil nesnenin kendisidir. bunun icine en temel konular olan cok bicimlilik, kalitim ve sarmalama girer. bunlari ogrenmeden stringgridle birak excel yapmayi autocad yapsan bi anlami olmaz.
THucre bizim kendi olusturdugumuz bir sinif ve unit2.pas dosyasinin icerisinde tanimli. ornek uygulamayi asagidan indirebilirsin.
bunun yaninda eger bu ise ilgi ve alakan varsa nesneye yonelik programlama nin ne oldugunu internet uzerinden arastir ve ogren mutlaka. yoksa fazla ileriye gidemez bir yerde tikanirsin. sitede ve googel da oop, nyp, nesneye yonelik programlama gibi kelimelerle arama yaparsan bir cok sonuca ulasirsin.
http://www.dosyaupload.net/download.php?file=750191
THucre bizim kendi olusturdugumuz bir sinif ve unit2.pas dosyasinin icerisinde tanimli. ornek uygulamayi asagidan indirebilirsin.
bunun yaninda eger bu ise ilgi ve alakan varsa nesneye yonelik programlama nin ne oldugunu internet uzerinden arastir ve ogren mutlaka. yoksa fazla ileriye gidemez bir yerde tikanirsin. sitede ve googel da oop, nyp, nesneye yonelik programlama gibi kelimelerle arama yaparsan bir cok sonuca ulasirsin.
http://www.dosyaupload.net/download.php?file=750191
- raikkonen21
- Üye
- Mesajlar: 49
- Kayıt: 02 Nis 2007 10:02
- Konum: Konya