not ortalaması
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
not ortalaması
bir öğrenci düşünün genel bilgilari var bir de bu öğrenciye ait 10 adet veya daha fazla dersin not girişi ve anında ortalaması. DBeditlerle olamz başa çıkılmaz. nasıl bir form kullanabilirim.
1Yyazılı 2Y 3Y ... ... .. ortlama
ingilizce
türkçe
yok bu olmadı diyelim. bir dersi Dbeditlerle vermek istedim. Dbeditlerin farzedelim 3 tane EDIT1 te anında ortlaması nasılalınır. yalnız dikkat edelim 2 giriş var 1 i boş o zaman hata veriyor. 1 tane varsa 1 e bölecek 2 tane varsa 2 ye böyle gidecek.
teşekkürler
1Yyazılı 2Y 3Y ... ... .. ortlama
ingilizce
türkçe
yok bu olmadı diyelim. bir dersi Dbeditlerle vermek istedim. Dbeditlerin farzedelim 3 tane EDIT1 te anında ortlaması nasılalınır. yalnız dikkat edelim 2 giriş var 1 i boş o zaman hata veriyor. 1 tane varsa 1 e bölecek 2 tane varsa 2 ye böyle gidecek.
teşekkürler
field'ları kullanarakda olur:
Kod: Tümünü seç
Table1Ortalama.value:=(TableYazili1.value+Table1Yazili2.value+Table1Yazili3.value) / 3;
olur ama
dostum ilgin için sağol ama bu kod bende var. buradaki sorun hep üçe bölüyor. ben 7-8 tane field koyacağım bunlardan birini sayı girilidğinde ortalama hanesinde 1 e bölünmüş sayı, iki sayı girilmişse 2 ye bölünmüş sayı olmalı, hepsi her zaman dolu olmayacak. bölen değişken olacak.
bu tip bir kod olsa dahi ben onu sadece tek bir ders ile kullanabiliyorum.
çünkü dbedit i düşünürsek alt alta tüm girişleri (kişileri) gösterecek o yüzden tüm derleri göstemek mümkün değil.
.............1yazılı...2y....3y...............................................ortalama
ing
türkçe
resim
beden
merak ettiğim yapan nasıl yapmış nasıl bir form kullanmış aynı excele benziyor. acaba biri bana kaynak site önerebilirmi, bu konu ile ilgili.
bu tip bir kod olsa dahi ben onu sadece tek bir ders ile kullanabiliyorum.
çünkü dbedit i düşünürsek alt alta tüm girişleri (kişileri) gösterecek o yüzden tüm derleri göstemek mümkün değil.
.............1yazılı...2y....3y...............................................ortalama
ing
türkçe
resim
beden
merak ettiğim yapan nasıl yapmış nasıl bir form kullanmış aynı excele benziyor. acaba biri bana kaynak site önerebilirmi, bu konu ile ilgili.
o zaman dolu olan fieldları tespit et. mesela public vs.'nin altında var yazan yerin altına:
daha sonra hesapla gibi bi butonun olur. tüm fieldların dolu olup olmadığını tespit edip, toplamlarını alırsın.
daha sonra bu kodun altına devamla ederek:
Kod: Tümünü seç
private
{ Private declarations }
public
{ Public declarations }
end;
var
formanamenu: Tformanamenu;
dolu_field_count:integer; {sadece bu kısmı ekleyeceksin. yani bu satırı}
implementation
Kod: Tümünü seç
//Dolu - boş fieldların tespiti:
if (Table1Yazili1.asstring='') then begin //asstring parametresi kafanı karıştırmasın o kontrol için. fieldları numerik veya float tanımla...
dolu_field_count:=dolu_field_count+1;
end;
//diğer fieldlarada aynı şeyi uygularsın...
//daha sonra toplamları alırsın...
Table1Toplam_Not.value:=Table1Yazili1.value+Table1Yazili2.value+Table1Yazili3.value+Table1Yazili4.value+Table1Yazili5.value+ vs.
Kod: Tümünü seç
Table1Ortalama.value:=Table1Toplam_Not.value / dolu_field_count;
deneyeceğim
deneyeceğim
beceremedim galiba...
1) “diğer fieldlarada aynı şeyi uygularsın”
if (Table1Yazili1.asstring='') then begin
dolu_field_count:=dolu_field_count+1;
end;
if (Table1Yazili2.asstring='') then begin
dolu_field_count:=dolu_field_count+1;
end;
….
kastediyorsun. ayrıntıya ihtiyacım var. çok profesyonel değilim de…
2. kodun devamına şunu ekledim
Table1BBS.value:=Table1BBY.value+Table1BIY.value;
Table1BUY.value:=Table1BBS.value/dolu_field_count;
Kod “dolu_field_count” bölümünde takılıyor ve aşağıda şu uyarı mesajı çıkıyor.
[Error] Unit1.pas(72): Incompatible types: 'Integer' and 'Extended'
BBS: birinci dönem birinci sözlü
BBY: birinci dönem birinci yazılı
BUY: birinci dönem üçüncü sözlü
BIY: birinci dönem ikinci yazılı
if (Table1Yazili1.asstring='') then begin
dolu_field_count:=dolu_field_count+1;
end;
if (Table1Yazili2.asstring='') then begin
dolu_field_count:=dolu_field_count+1;
end;
….
kastediyorsun. ayrıntıya ihtiyacım var. çok profesyonel değilim de…
2. kodun devamına şunu ekledim
Table1BBS.value:=Table1BBY.value+Table1BIY.value;
Table1BUY.value:=Table1BBS.value/dolu_field_count;
Kod “dolu_field_count” bölümünde takılıyor ve aşağıda şu uyarı mesajı çıkıyor.
[Error] Unit1.pas(72): Incompatible types: 'Integer' and 'Extended'
BBS: birinci dönem birinci sözlü
BBY: birinci dönem birinci yazılı
BUY: birinci dönem üçüncü sözlü
BIY: birinci dönem ikinci yazılı
bu arada
bu arada okullarda kullanılan programlarda excel tarzı formlar kullanıyorlar. nasıl birşey kullanıyorlar biliyormusun? bu tek ders için yeterli bir kod olacak. ama 1 öğrenci için 11 ders yazmak istediğimde bu field tarzı uygulama yetersiz olacak. önce bunu halledeyimde...
Kendi okul programımda bahsettiğin işlemin bir bölümünü 1250 satır kodla (BCB) yapmışım. Diğer bölümleri 5-10 satırlık kodlardan oluşuyor.
Okuduğum kadarıyla cevabı zaten biliyorsunuz ama kod yazmaya üşeniyorsunuz. Anladığım kestirme bir yol olabilir mi diye arayışınız var.
Tek ders için yeterli dediğiniz işlemi fonksiyonlaştırıp Controls, Sender gibi parent düzeyde işlemlerle ve etkin bir içerik, hata takibi ile sizin istediğiniz yapılabilir.
Benimkinin uzun olmasının sebebi sizinki gibi dinamik (anında) ortalama gösterme kaygısı taşımamamdan kaynaklanıyor.
Okuduğum kadarıyla cevabı zaten biliyorsunuz ama kod yazmaya üşeniyorsunuz. Anladığım kestirme bir yol olabilir mi diye arayışınız var.
Tek ders için yeterli dediğiniz işlemi fonksiyonlaştırıp Controls, Sender gibi parent düzeyde işlemlerle ve etkin bir içerik, hata takibi ile sizin istediğiniz yapılabilir.
Benimkinin uzun olmasının sebebi sizinki gibi dinamik (anında) ortalama gösterme kaygısı taşımamamdan kaynaklanıyor.
... Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!
Mustafa Kemal Atatürk...
Mustafa Kemal Atatürk...
yanılıyorsun
öncelikle ben amatör olarak uğraşıyorum bu işle. öğretmenim ve yakında duymuşsundur düşük taksitle laptop verecekler. ben sınıfımdaki öğrencilerin (tek bir sınıf düşün 20 kişi) tek bir dersini benimki olabilir veya sınıfımdaki öğrencilerin 11 dersini birden takip etmek istiyorum. bunun yanında öğrenci hakkındaki diğer bilgilerde mevcut olacak. amaç öğrencilerin sağlıklı bir şekilde takibini yapmak, bu arada ingilizce öğretmeniyim, programcılık sadece bir merak. üşenmekse bugün pazar evden çıkmadım bununla uğraşıyorum. inşallagh yeterince açık anlatabilmişimdir.
Sevgili meslektaşım,
Bende sınıf öğretmeniyim. Programcı tabiatımı daha öncül görüyorum.
Belki şimdi yazdıklarım daha anlamlı olur.
Yazdığım tüm cevaplardaki en istemediğim tepki alınma yönelimli olanlardır.
Sizi veya bir başkasını incitmek sanal dünyadaki üslubum değildir.
Bende sınıf öğretmeniyim. Programcı tabiatımı daha öncül görüyorum.
Belki şimdi yazdıklarım daha anlamlı olur.
Yazdığım tüm cevaplardaki en istemediğim tepki alınma yönelimli olanlardır.
Sizi veya bir başkasını incitmek sanal dünyadaki üslubum değildir.
... Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!
Mustafa Kemal Atatürk...
Mustafa Kemal Atatürk...