Excel deki EĞERSAY Fonksiyonu işlevi gören bir kod

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Tahsinzencir
Üye
Mesajlar: 48
Kayıt: 15 May 2009 12:16

Excel deki EĞERSAY Fonksiyonu işlevi gören bir kod

Mesaj gönderen Tahsinzencir »

Paradox veri tabanında tablodaki yatay veri toplamak yani Excel deki EĞERSAY Fonksiyonu işlevi gören bir koda ihtiyacım var
lütfen yardım.
veri tabanı
C1-C2-C3-C4-C5-C6-C7-C8-C9---D-I-T-R-G
D---T---D---D--R--R--I----D---G--4-1-1-2-1

D ler toplanıp D hücresine yazsın
I ler toplanıp I hücresine yazsın
T ler toplanıp T hücresine yazsın
R ler toplanıp R hücresine yazsın
G ler toplanıp G hücresine yazsın
Gibi
Senat0r
Üye
Mesajlar: 80
Kayıt: 13 Tem 2014 09:30
Konum: Antalya

Re: Excel deki EĞERSAY Fonksiyonu işlevi gören bir kod

Mesaj gönderen Senat0r »

Nerde toplatmak istiyorsun bu verileri gösterirken hangi compenenti kullanıyorsun belirli yerleri mi yoksa hepsini mi toplatmak istiyorsun alanların nasıl açıklayabilir misin ?.
gideceği limanı bilmeyen gemiye hiçbir rüzgar yardım edemez...

Kod: Tümünü seç

Delete from hayat where cins="çıkarcılar"
Tahsinzencir
Üye
Mesajlar: 48
Kayıt: 15 May 2009 12:16

Re: Excel deki EĞERSAY Fonksiyonu işlevi gören bir kod

Mesaj gönderen Tahsinzencir »

C1 de C9 kadar olan alanlardaki
D olan harfleri Toplayıp Kaç tane olduğunu D Alanına Yazacak
I olan harfleri Toplayıp Kaç tane olduğunu I Alanına Yazacak
T olan harfleri Toplayıp Kaç tane olduğunu T Alanına Yazacak
R olan harfleri Toplayıp Kaç tane olduğunu R Alanına Yazacak
G olan harfleri Toplayıp Kaç tane olduğunu G Alanına Yazacak
DBEdit kullanıyorum
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Excel deki EĞERSAY Fonksiyonu işlevi gören bir kod

Mesaj gönderen sabanakman »

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
const _AlanAdedi=9; //C1,C2,...,C9'a kadar alanlar...
var i, p:Integer; S:String;
  C:array[1.._AlanAdedi] of TField;
  Lst:TStringList;
begin
  for i:=1 to _AlanAdedi do
   C[i]:=Table1.FieldByName('C'+IntToStr(i));
  //C1,C2,...,C9'a kadar alanlar dizide değişken olarak elde edilir
  Lst:=TStringList.Create;//sonuçların yazılacağı alanların litesi
  try
    Table1.First;
    while not Table1.Eof do begin
      Table1.Edit;
      for i:=1 to _AlanAdedi do begin
        S:=C[i].AsString;//C?'de yazan değer
        p:=Lst.IndexOf(S);//sonuç hangi alana yazılacak listeden ara

        if p<0 then begin //listede bulamazsa alanı listeye ilk seferinde ekle ve sıfırla
          p:=Lst.AddObject(S, Table1.FieldByName(S));
          TField(Lst.Objects[p]).AsInteger:=1;//ilk değer için 1 yaz
        end else //listede ekli olan alana bir ekleme yap
         with TField(Lst.Objects[p]) do AsInteger:=AsInteger+1;
      end;
      //Table1.Post;
      Table1.Next;
    end;
  except
    on E:Exception do begin
      ShowMessage(E.Message);
    end;
  end;
  Lst.Free;
end;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Tahsinzencir
Üye
Mesajlar: 48
Kayıt: 15 May 2009 12:16

Re: Excel deki EĞERSAY Fonksiyonu işlevi gören bir kod

Mesaj gönderen Tahsinzencir »

Teşekkürler Sabanakman üstat
Cevapla