Arkadaslar Merhaba
Dizilerle hic calismadigimi belirtmeliyim. Gelebilecek itirazlarida önlemis olayim.
Ben takriben 50 tane karakter icerebilecek olan bir dizi tanimlamak istiyorum: Örnek: 'a' '(' '25' 'F' 'ÿ' '€' vs.. Karakterler bir küme gibi ardarda gelen karakterler degil.
Bu karakterleride, Örnek: if edit1.Text='a' then
Showmessage ('Merhaba'); gibi kontrol etmek istiyorum. Yardimci olursaniz sevinirim.
Hosca kalin
Dizi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Dizi
şu şekildemi bi kontrol edin
var a,b,c... : variant;
begin
if edit1.text = 'a' then
begin
showmessage('Merhaba');
end
else
begin
if edit1.text = 'b' then
begin
showmessage('Güle Güle');
end
else
showmessage('Hoşgeldiniz');
end;
end;
bu mu size lazım olan
var a,b,c... : variant;
begin
if edit1.text = 'a' then
begin
showmessage('Merhaba');
end
else
begin
if edit1.text = 'b' then
begin
showmessage('Güle Güle');
end
else
showmessage('Hoşgeldiniz');
end;
end;
bu mu size lazım olan
Re: Dizi
Merhabalar
Cok özür dilerim, soruyu yanlis ve hatali sordum.
Ben Editte görüntülenecek olan her karaktare ayri ayri kod yazmaktansa, 50 karakterlik bir dizi tanimlayip, bu dizinin herhangi bir karakteri görüntülendiginde onu kontrol etmek istiyordum
yani dizi, dizinin harhangi bir karakteri görütülendiginde kontrol etmek.
Sorunum diziyi olusturup, dizideki karakterleri kontrol.
Hosca kalin
Cok özür dilerim, soruyu yanlis ve hatali sordum.
Ben Editte görüntülenecek olan her karaktare ayri ayri kod yazmaktansa, 50 karakterlik bir dizi tanimlayip, bu dizinin herhangi bir karakteri görüntülendiginde onu kontrol etmek istiyordum
yani dizi, dizinin harhangi bir karakteri görütülendiginde kontrol etmek.
Sorunum diziyi olusturup, dizideki karakterleri kontrol.
Hosca kalin
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
- adelphiforumz
- Üye
- Mesajlar: 602
- Kayıt: 01 Nis 2008 05:38
- Konum: İstanbul
Re: Dizi
S.A.
eğer dizilerle daha önceden çalışmadıysan aklıma gelen bir kaç farklı yol
1. istediğin değerleri bir listbox içerisine at sonra indexof komutu ile içinde ara varsa index numarası yoksa -1 döner
2. yine istediğin değerleri bir string içine at Pos komutu ile ara varsa bulunduğu yer yoksa 0 döner.
3. illa dizi ile yapacaksan ve değerler sabit ise Const Array tanım yap yok dinamik ise
type
DiziRec=Record
Kod:Integer;
Tanim:String;
end;
var
Dizi: array of DiziRec;
I, DiziBoyu:Integer;
proc dizi doldur.....
begin
DiziBoyu := 5;
SetLength(Dizi, DiziBoyu); // dizi boyutunu dinamik olarak belirle
Dizi[0].Kod := 1;
Dizi[0].Kod := 1;
end
proc dizide varmı...
begin
for i := 0 to (DiziBoyu - 1) do
begin
if Dizi.Kod = 1234 Then
..........
end;
end;
eğer dizilerle daha önceden çalışmadıysan aklıma gelen bir kaç farklı yol
1. istediğin değerleri bir listbox içerisine at sonra indexof komutu ile içinde ara varsa index numarası yoksa -1 döner
2. yine istediğin değerleri bir string içine at Pos komutu ile ara varsa bulunduğu yer yoksa 0 döner.
3. illa dizi ile yapacaksan ve değerler sabit ise Const Array tanım yap yok dinamik ise
type
DiziRec=Record
Kod:Integer;
Tanim:String;
end;
var
Dizi: array of DiziRec;
I, DiziBoyu:Integer;
proc dizi doldur.....
begin
DiziBoyu := 5;
SetLength(Dizi, DiziBoyu); // dizi boyutunu dinamik olarak belirle
Dizi[0].Kod := 1;
Dizi[0].Kod := 1;
end
proc dizide varmı...
begin
for i := 0 to (DiziBoyu - 1) do
begin
if Dizi.Kod = 1234 Then
..........
end;
end;
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Re: Dizi+listbox
Merhabalar
Sorunu büyük oranda cözdüm. Bir noktaya takildim.
procedure TForm1.Edit1Change(Sender: TObject);
begin
if listbox1.Items.indexof(Edit1.Text)>=0 then
listbox1.itemindex:=Listbox1.items.indexof(edit1.text);
if listbox2.Items.indexof(Edit1.Text)>=0 then
listbox2.itemindex:=Listbox2.items.indexof(edit1.text);
end;
end.
Edit1'den girdigim metni, listbox1 ve listbox2'ye ait olan Edit2 ve Edit3'te nasil gösterebilirim. Yani heriki listbox'a mesaj edit1'den gitmeli.
Hosca kalin
Selamlar
Sorunu büyük oranda cözdüm. Bir noktaya takildim.
procedure TForm1.Edit1Change(Sender: TObject);
begin
if listbox1.Items.indexof(Edit1.Text)>=0 then
listbox1.itemindex:=Listbox1.items.indexof(edit1.text);
if listbox2.Items.indexof(Edit1.Text)>=0 then
listbox2.itemindex:=Listbox2.items.indexof(edit1.text);
end;
end.
Edit1'den girdigim metni, listbox1 ve listbox2'ye ait olan Edit2 ve Edit3'te nasil gösterebilirim. Yani heriki listbox'a mesaj edit1'den gitmeli.
Hosca kalin
Selamlar
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
Re: Dizi
Merhabalar
Sorumun cevabini ugrasmalarim neticesinde su sekilde cözdüm. Kodu calistirdim hatasiz calisiyor. umarim faydalim olur. Tavsiyelerinizi acigim.
Hosca kalin
Not(aslangeri):kodlarımızı code tagı içerisine alırsak daha okunaklı olur.
Sorumun cevabini ugrasmalarim neticesinde su sekilde cözdüm. Kodu calistirdim hatasiz calisiyor. umarim faydalim olur. Tavsiyelerinizi acigim.
Hosca kalin
Kod: Tümünü seç
procedure TForm1.Edit1Change(Sender: TObject);
var a,b: Integer;
begin
for a := 0 to (ListBox1.Items.Count - 1) do
for b := 0 to (ListBox2.Items.Count - 1) do
begin
if Edit1.text=ListBox1.Items.Strings[a] then
Edit2.text:=edit1.text;
if Edit1.text=ListBox2.Items.Strings[b] then
Edit3.text:=edit1.text;
if listbox1.Items.indexof(Edit1.Text)>=0 then
listbox1.itemindex:=Listbox1.items.indexof(edit1.text);
if listbox2.Items.indexof(Edit1.Text)>=0 then
listbox2.itemindex:=Listbox2.items.indexof(edit1.text);
end;
end;
end.
Hayat tüm olumsuzluklara rağmen yaşamaya değer.