Dizinin Elemanları...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
KoPilot
Üye
Mesajlar: 185
Kayıt: 05 Eki 2007 08:02

Dizinin Elemanları...

Mesaj gönderen KoPilot »

Herkese merhaba;

Bir sıkıntım var hemen anlatayım...
Random olarak çekiğim 5 adet sayıyı dizinin değerlerine atıyorum. Daha sonra edit1'e girdiğim sayının bu dizide bulunup bulunmadığını kontrol etmek ve bulduğum değeri (aynı değerden başka varsa sadece birini) değiştirmek yada silmek istiyorum ama beceremedim

yaptığım aramalardan bir sonuç çıkmadı yada ben çıkaramadım

Kod: Tümünü seç

if edit1.text in dizi then
dedim olmadı

Kod: Tümünü seç

if pos(edit1.text, dizi)>0 then
dedim olmadı v.s.

(tip çevrimleri yapıldı yukarıda sadece kalıbı göstermek için yazdım kodu)

zaman ayırıp yardımcı olursanız sevinirim.
İyi günler...
Dosyalarınızı kendi bulutunuza yedekleyin. Yandex Disk
Eyvallah..
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Dizinin Elemanları...

Mesaj gönderen CiTiZEN »

merhaba eğer yanlış anlamadıysam şöyle olabilir:

(önceden S isimli array string e 5 adet veriyi yüklediğinizi varsayıyorum içinde 0 var ise şeklinde kontrol ettiriyorum.)

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
i:=0;
repeat
if s[i]='0' then
ShowMessage(s[i]+'  '+IntToStr(i));
i:=i+1;
until i=5;
end;
Kolay Gelsin.
UWESIS CORPORATION
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: Dizinin Elemanları...

Mesaj gönderen orhancc »

Kod: Tümünü seç

function StringInArray(const Value: string; Strings: array of string): Boolean;
var I: Integer;
begin
  Result := True;
  for I := Low(Strings) to High(Strings) do
    if Strings[i] = Value then Exit;
  Result := False;
end;

Kullanıcı avatarı
KoPilot
Üye
Mesajlar: 185
Kayıt: 05 Eki 2007 08:02

Re: Dizinin Elemanları...

Mesaj gönderen KoPilot »

Cevaplarınız için çok teşekkür ederim. Tam çözüm olmadı ama iki cevabıda kullanarak melez bir enteresanlık çıkardım ortaya.

KoPilot yazdı: Random olarak çekiğim 5 adet sayıyı dizinin değerlerine atıyorum. Daha sonra edit1'e girdiğim sayının bu dizide bulunup bulunmadığını kontrol etmek ve bulduğum değeri (aynı değerden başka varsa sadece birini) değiştirmek yada silmek istiyorum
orhancc fonksiyon harika ama bulduğum değeri kontrol edemiyorum bir şekilde müdahale edince ve mesela 2 tane '5' varsa ikisinide etkiliyor.
neyse ben senin fonksiyonla sadece kontrol yaptım. CiTiZEN arkadaşın kodunu ise ufak bir değişiklikle kendime uyarladım

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
  i:=0;
  repeat
  if s[i]=edit1.text then
  begin
    s[i]:='X';
    break;
  end;
  i:=i+1;
  until i=5;
end;
idare ettik işte. Teşekkür ederim.
Dosyalarınızı kendi bulutunuza yedekleyin. Yandex Disk
Eyvallah..
Cevapla