Rakam seçmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
rahim_azeri
Üye
Mesajlar: 113
Kayıt: 20 Eyl 2010 07:42

Rakam seçmek

Mesaj gönderen rahim_azeri »

Merhaba arkadashlar.Mesela benim rakamlarim sunlardir (14,12,16,18,2,9) ben istiyorum ki bu rakamlari secim Memo-ya ADD edim,her defe ADD etiyimde rakamla farkli sirayla Memo-ya ADD edilsin, yani bir defa ADD edende mesela su sirayla (2,14,9,16,18,12) 2 ci defa ADD edende mesela su sirayal olsun (16,9,2,18,12),her defasinda farkli sirayla olsun.Umarim ki fikrim sizlere anlata bildim.Onceden tesekkurler.
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Rakam seçmek

Mesaj gönderen SimaWB »

Mevcut rakamlar bir dizide olsun:

Kod: Tümünü seç

const  Rakamlar: array[0..5] of integer = (14,12,16,18,2,9);
Bu rakamlardan rastgele sıralı string elde edelim:

Kod: Tümünü seç

function RastgeleSIRALA: string;
var
  Rastgele: TStringList;
  s: string;
begin
  Randomize;
  Rastgele := TStringList.Create;
  try
    while Rastgele.Count <> 6 do
    begin
      s := IntToStr(Rakamlar[Random(6)]);
      if Rastgele.IndexOf(s) = -1 then
        Rastgele.Add(s);
    end;
    Result := Rastgele.CommaText;
  finally
    Rastgele.Free;
  end;
end;
//Delphi 5'te TStringList.Delimeter yok. CommaText direk işimi gördü. Yeni versiyonlarda farklı olabilir.
Memoya kaç satır eklenecekse ona göre şöyle birşey yapılabilir:

Kod: Tümünü seç

procedure TForm1.AddToMemo(cnt: integer);//cnt = kaç satır eklenmek isteniyorsa
var
 r: string;
begin
  while Memo1.Lines.Count <> cnt do
  begin
    r := RastgeleSIRALA;
    if Memo1.Lines.IndexOf(r) = -1 then
      Memo1.Lines.Add(r);
  end;
end;
There's no place like 127.0.0.1
rahim_azeri
Üye
Mesajlar: 113
Kayıt: 20 Eyl 2010 07:42

Re: Rakam seçmek

Mesaj gönderen rahim_azeri »

Allah razi olsun Kardesh.
Cevapla