Delphi Combobox

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
gunesonline
Üye
Mesajlar: 5
Kayıt: 17 Eki 2014 02:22

Delphi Combobox

Mesaj gönderen gunesonline »

merhaba arkadaşlar 2 adet comboboxum var bunların biri databsedeki ilçeler diğeri ise iller tablosundan veri almaktadır fakat benim yapamadığım olay mesela istanbul seçtğim zman diğer comboboxta sadce istanbulun ilçelerini göstersin sonuç olarak hangi ili secersem o ilin ilçelerini göstersin

yardımcı olan arkadaşalra şimdiden teşekürler :bravo:
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

Re: Delphi Combobox

Mesaj gönderen tayipk »

öncelikle şunu sormak isterim İl ler ve ilçe ler ayrı tablodamı eğer öyle ise işlemin çok basit ilçe tablona bir tane İl_id alanı eklersin daha daha sonrada combobox onclick yada onchange olayına

Kod: Tümünü seç

adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.text:='select * from ilceler where il_id='+inttostr(Adoquery_il.fieldyname('il_id').asinteger)+' ';
adoquery1.open;
diyerek yapabilirsin bu birinci yöntem 2. yöntem şu varsayalım il ve ilçeler aynı tabloda o zaman 2 tane Query ile çalışman gerekecek bir tanesi illeri diğeri ilçeleri tutacak yukarıdaki kodun aynısını kullanabilirsin burda önemli olan tekşey senin ilçeler tablona il_id yada başka bir isimde ortak bir alan oluşturman olacaktır ondan sonrası basit.
Kolay gelsin.
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
gunesonline
Üye
Mesajlar: 5
Kayıt: 17 Eki 2014 02:22

Re: Delphi Combobox

Mesaj gönderen gunesonline »

biri bu konuyu biraz daha açıklarsa sevinirim teşekkürler
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

Re: Delphi Combobox

Mesaj gönderen tayipk »

size sormuş olduğum soruya cevap vermiş olsaydınız belki biraz daha açabilirdik konuyu ama siz açıklayıcı olması açısından soruma cevap vermediğiniz haliyle sorunun çözülmüş olabileceği algısı uyanıyor bu durumda size dah önce yazdığım konuyu bir inceleyin cevabınız orada mevcuttur.
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
gunesonline
Üye
Mesajlar: 5
Kayıt: 17 Eki 2014 02:22

Re: Delphi Combobox

Mesaj gönderen gunesonline »

tayipk yazdı:size sormuş olduğum soruya cevap vermiş olsaydınız belki biraz daha açabilirdik konuyu ama siz açıklayıcı olması açısından soruma cevap vermediğiniz haliyle sorunun çözülmüş olabileceği algısı uyanıyor bu durumda size dah önce yazdığım konuyu bir inceleyin cevabınız orada mevcuttur.
Resim
kulllandığım tablo bu
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Delphi Combobox

Mesaj gönderen thelvaci »

Kod: Tümünü seç

program pTavsiye;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

type
  TConverter = record
  public
    class function IsEqual(const Value1 : TBytes; const Value2 : TBytes) : Boolean; static;
  end;

var
  YourStatus : TBytes;
  YourMessage: String = '';

{ TConverter }

class function TConverter.IsEqual(const Value1 : TBytes; const Value2 : TBytes) : Boolean;
var
  N           : Integer;

  PLen        : PInteger;
  Size        : Integer;
begin
  N := 0;

  PLen := @Value1[0];
  Dec(PLen);
  Size := PLen^;

  while (N < Size) and (TBytes(Value1)[N] = TBytes(Value2)[N]) do Inc(N);

  Result := N = Size;
end;


var
  cStatus,
  cMessage  : TBytes;

  pCurrent,
  pLast     : PByte;
begin

  try
    cStatus := TBytes.Create($41, $43, $45, $4d, $49);
    cMessage:= TBytes.Create($4f, $4e, $43, $45, $20, $4f, $47, $52, $45, $4e, $20, $53, $4f, $4e, $52, $41, $20, $4b, $4f, $44, $4c, $41);

    YourStatus := TEncoding.ASCII.GetBytes('ACEMI');

    if TConverter.IsEqual(YourStatus, cStatus) then
    begin
      pCurrent := @cMessage[Low(cMessage)];
      pLast    := @cMessage[High(cMessage)];

      while pCurrent <= pLast do
      begin
        YourMessage := YourMessage + Chr(pCurrent^);

        Inc(pCurrent);
      end;

      Writeln(YourMessage);
      Readln;
    end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Re: Delphi Combobox

Mesaj gönderen G.Arkas »

thelvaci yazdı:

Kod: Tümünü seç

program pTavsiye;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

type
  TConverter = record
  public
    class function IsEqual(const Value1 : TBytes; const Value2 : TBytes) : Boolean; static;
  end;

var
  YourStatus : TBytes;
  YourMessage: String = '';

{ TConverter }

class function TConverter.IsEqual(const Value1 : TBytes; const Value2 : TBytes) : Boolean;
var
  N           : Integer;

  PLen        : PInteger;
  Size        : Integer;
begin
  N := 0;

  PLen := @Value1[0];
  Dec(PLen);
  Size := PLen^;

  while (N < Size) and (TBytes(Value1)[N] = TBytes(Value2)[N]) do Inc(N);

  Result := N = Size;
end;


var
  cStatus,
  cMessage  : TBytes;

  pCurrent,
  pLast     : PByte;
begin

  try
    cStatus := TBytes.Create($41, $43, $45, $4d, $49);
    cMessage:= TBytes.Create($4f, $4e, $43, $45, $20, $4f, $47, $52, $45, $4e, $20, $53, $4f, $4e, $52, $41, $20, $4b, $4f, $44, $4c, $41);

    YourStatus := TEncoding.ASCII.GetBytes('ACEMI');

    if TConverter.IsEqual(YourStatus, cStatus) then
    begin
      pCurrent := @cMessage[Low(cMessage)];
      pLast    := @cMessage[High(cMessage)];

      while pCurrent <= pLast do
      begin
        YourMessage := YourMessage + Chr(pCurrent^);

        Inc(pCurrent);
      end;

      Writeln(YourMessage);
      Readln;
    end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
+1000. Tuğrul hocam çok zekice inceden Subliminal açıktan da net bir mesaj vermiş. Ama verdiğiniz kodu derleyecekler mi emin değilim hocam.:lol:
Resim
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Delphi Combobox

Mesaj gönderen thelvaci »

G.Arkas yazdı:
thelvaci yazdı:

Kod: Tümünü seç

program pTavsiye;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

type
  TConverter = record
  public
    class function IsEqual(const Value1 : TBytes; const Value2 : TBytes) : Boolean; static;
  end;

var
  YourStatus : TBytes;
  YourMessage: String = '';

{ TConverter }

class function TConverter.IsEqual(const Value1 : TBytes; const Value2 : TBytes) : Boolean;
var
  N           : Integer;

  PLen        : PInteger;
  Size        : Integer;
begin
  N := 0;

  PLen := @Value1[0];
  Dec(PLen);
  Size := PLen^;

  while (N < Size) and (TBytes(Value1)[N] = TBytes(Value2)[N]) do Inc(N);

  Result := N = Size;
end;


var
  cStatus,
  cMessage  : TBytes;

  pCurrent,
  pLast     : PByte;
begin

  try
    cStatus := TBytes.Create($41, $43, $45, $4d, $49);
    cMessage:= TBytes.Create($4f, $4e, $43, $45, $20, $4f, $47, $52, $45, $4e, $20, $53, $4f, $4e, $52, $41, $20, $4b, $4f, $44, $4c, $41);

    YourStatus := TEncoding.ASCII.GetBytes('ACEMI');

    if TConverter.IsEqual(YourStatus, cStatus) then
    begin
      pCurrent := @cMessage[Low(cMessage)];
      pLast    := @cMessage[High(cMessage)];

      while pCurrent <= pLast do
      begin
        YourMessage := YourMessage + Chr(pCurrent^);

        Inc(pCurrent);
      end;

      Writeln(YourMessage);
      Readln;
    end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
+1000. Tuğrul hocam çok zekice inceden Subliminal açıktan da net bir mesaj vermiş. Ama verdiğiniz kodu derleyecekler mi emin değilim hocam.:lol:
Ben XE5 ile yazdım kodu; evet eski Delphi versiyonlarında derleyemezler. Lâkin yine de bakıp da çözebilirler sanıyorum ;)
gunesonline
Üye
Mesajlar: 5
Kayıt: 17 Eki 2014 02:22

Re: Delphi Combobox

Mesaj gönderen gunesonline »

bu kodla bu konu ne alaka ?
Cevapla