checkboxdan sadece seçili satırı okumak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
haymet
Üye
Mesajlar: 18
Kayıt: 25 Şub 2014 03:59

checkboxdan sadece seçili satırı okumak

Mesaj gönderen haymet »

arkadaşlar kısaca durumu şöyle anlatıyım.
aynı dosyayı 2 kere okutmam lazım. 1. cisinde bütün dosyayı okutcam (bunda sıkıntı yok)
2. sinde ekrana 15 tane checkbox geliyor. (1. cisinden okuttuğumdan 15 satır olduğu için)
mesela txt den içeriği böyle olsun

Kod: Tümünü seç

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1. checkbox işaretliyse 1i okusun
2. checkbox işaretli değil ise okumasın
3. işaretliyse dizinin 2. değeri 3 olsun
4. işretliyse dizinin 3. değeri 4 olsun. umarım anlatabilmişimdir. yarımcı olabilecek varsa yaptığım kodu gönderebilirim. ben okuttuğumda kaç tane check box işaretliyse 1 den o kadar sayı kadar satırı okuyor. aradaki değerleri atlamıyor.
haymet
Üye
Mesajlar: 18
Kayıt: 25 Şub 2014 03:59

Re: checkboxdan sadece seçili satırı okumak

Mesaj gönderen haymet »

Yok mu arkadaşlar bi yardımcı olacak :((
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: checkboxdan sadece seçili satırı okumak

Mesaj gönderen greenegitim »

Dosyayı nasıl okutuyorsunuz ?

Kod: Tümünü seç

combobox1.Items.LoadFromFile(ExtractFileDir(Application.ExeName)+'\dosyadi.txt');
burada dosyaadi.txt dosyasının içeriğini comboboxa yükledik

örneğin ben 9.satırdaki bilgiyi edit1 de görmek istiyorsam şayet

Kod: Tümünü seç

edit1.text:=combobox1.items.string[8]; // indis 0 dan başladığı için 8 verdim
diyelim 3.checkbox işaretli değil 4. işaretli ise bulman gereken kendisinden önce kaçtane işaretli yok ise o kadar artırman
Mücadele güzelleştirir!
Kullanıcı avatarı
The_aLiEn
Üye
Mesajlar: 28
Kayıt: 09 Kas 2010 02:35
Konum: Trabzon
İletişim:

Re: checkboxdan sadece seçili satırı okumak

Mesaj gönderen The_aLiEn »

Sorduğunuz soruyu net bir şekilde anlayamadım. Dha açık ifade edebilir misiniz? Yapılmak istenen şey tam olarak nedir?..
haymet
Üye
Mesajlar: 18
Kayıt: 25 Şub 2014 03:59

Re: checkboxdan sadece seçili satırı okumak

Mesaj gönderen haymet »

Kod: Tümünü seç

i:=0;
while not eof(dosya2) do {ölçüler okunuyor.}
          begin
          i:=i+1;
          readln(dosya2,dn[i],bn[i],l[3*i-2],l[3*i-1],l[3*i],aa[1,1],aa[1,1],aa[1,1],aa[1,2],aa[1,3],
          aa[2,2],aa[2,3],aa[3,3]);
          p^[3*i-2,3*i-2]:=ko*aa[1,1];
          p^[3*i-2,3*i-1]:=ko*aa[1,2];
          p^[3*i-2,3*i]:=ko*aa[1,3];
          p^[3*i-1,3*i-1]:=ko*aa[2,2];
          p^[3*i-1,3*i]:=ko*aa[2,3];
          p^[3*i,3*i]:=ko*aa[3,3];
          p^[3*i-1,3*i-2]:=aa[1,2];
          p^[3*i,3*i-2]:=aa[1,3];
          p^[3*i,3*i-1]:=aa[2,3];
          end;
isn:=i;
system.close(dosya2);
orjinal kod bu başkasından aldım. Burda bütün dosyayı okutabiliyoruz.

ekranda 15 tane checkbox var. dosya 15 satırdan oluşuyor. sırasıyla hangi checkboxa click yapıldıysa o satır okunsun istiyorum.

benim yazdığım şu şekilde

Kod: Tümünü seç

hm:=0;
for i:=1 to 15 do
begin
if Tcheckbox(FindComponent('checkbox'+inttostr( i ))).checked then
          begin
          hm:=hm+1;
          readln(dosya2,dn[hm],bn[hm],l[3*hm-2],l[3*hm-1],l[3*hm],aa[1,1],aa[1,1],aa[1,1],aa[1,2],aa[1,3],
          aa[2,2],aa[2,3],aa[3,3]);
          p^[3*hm-2,3*hm-2]:=ko*aa[1,1];
          p^[3*hm-2,3*hm-1]:=ko*aa[1,2];
          p^[3*hm-2,3*hm]:=ko*aa[1,3];
          p^[3*hm-1,3*hm-1]:=ko*aa[2,2];
          p^[3*hm-1,3*hm]:=ko*aa[2,3];
          p^[3*hm,3*hm]:=ko*aa[3,3];
          p^[3*hm-1,3*hm-2]:=aa[1,2];
          p^[3*hm,3*hm-2]:=aa[1,3];
          p^[3*hm,3*hm-1]:=aa[2,3];
          end;
end;
isn:=hm;
system.close(dosya2);
bu şekilde oluşturdum. ama bu şekilde yazınca, atıyorum 1. 2. 5. 10. checkbox işaretliyse 1.2.3.4. satırları okuyor yardımcı olacak arkadaş olursa çok sevincem yarın bitirme projemi teslim etcem. bu gün yardımcı olabilen arkadaş varsa karşılığını okulum bitince verebilirim.
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: checkboxdan sadece seçili satırı okumak

Mesaj gönderen SimaWB »

Dosyada sizin için önemsiz olan satırları kullanılmayan bir değişkene okuyun:

Kod: Tümünü seç

DummyString: string;
if Tcheckbox(FindComponent('checkbox'+inttostr( i ))).checked then
begin
//
end
else
  readln(dosya2, DummyString);
There's no place like 127.0.0.1
haymet
Üye
Mesajlar: 18
Kayıt: 25 Şub 2014 03:59

Re: checkboxdan sadece seçili satırı okumak

Mesaj gönderen haymet »

hocam bu kodu kullanınca düzelir değil mi ? evde netim yok kodu alıp evde deneyecem bir daha nete gelmeyim, kusura bakmayın çok başınızı ağrıtıyorum ama.
Cevapla