Delphi Can

Orjinalini görmek için tıklayınız: Döngü eşitlik sağlama
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Bir adet stringgridim var içerisini bir döngü sayesinde dolduruyorum 7000 satır var hepsi doluyor ama şunu yapmak istiyorum 5 adet sütun misal 6 7 8 9 10. sütunlardaki en son değerler birbirine eşit olunca stringgrid satır sayısının o satıra kadar olmasını istiyorum yani 2900 de eşit olursa satır sayısı 2900 olsun. 2. for döngüsü ile denedim ama yapamadım yardımcı olabilecek birisi var mı?
(17-05-2019, Saat: 17:09)metehangumusay Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Bir adet stringgridim var içerisini bir döngü sayesinde dolduruyorum 7000 satır var hepsi doluyor ama şunu yapmak istiyorum 5 adet sütun misal 6 7 8 9 10. sütunlardaki en son değerler birbirine eşit olunca stringgrid satır sayısının o satıra kadar olmasını istiyorum yani 2900 de eşit olursa satır sayısı 2900 olsun. 2. for döngüsü ile denedim ama yapamadım yardımcı olabilecek birisi var mı?

Selamlar Sorunuzu umarım yanlış anlamamışımdır.
Bu kontrolü doldurma sırasında 6,7,8,9,10. sütunlara değeri yazmadan yada yazdıktan sonra karşılaştır ve eşitse döngüden çık (Break)
işini görmez mi
(17-05-2019, Saat: 18:14)adelphiforumz Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(17-05-2019, Saat: 17:09)metehangumusay Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Bir adet stringgridim var içerisini bir döngü sayesinde dolduruyorum 7000 satır var hepsi doluyor ama şunu yapmak istiyorum 5 adet sütun misal 6 7 8 9 10. sütunlardaki en son değerler birbirine eşit olunca stringgrid satır sayısının o satıra kadar olmasını istiyorum yani 2900 de eşit olursa satır sayısı 2900 olsun. 2. for döngüsü ile denedim ama yapamadım yardımcı olabilecek birisi var mı?

Selamlar Sorunuzu umarım yanlış anlamamışımdır.
Bu kontrolü doldurma sırasında 6,7,8,9,10. sütunlara değeri yazmadan yada yazdıktan sonra karşılaştır ve eşitse döngüden çık (Break)
işini görmez mi

hocam döngüyü 2. döngü olarak düşünüyorum yani ilk başta dolduracak 7000 satır sonrasında 2. döngüde tek tek kontrol ettiriyorum eşitlik durumunda stringgrid satır sayısını düşürmek istiyorum döngüden çıkmasını sağlamayı denedim yapamadım 2. seçenek daha makul geldi ama o da işte eşitliğin olduğu satırın kaçıncı satır olduğunu bulmak sıkıntı oluyor
Döngüde seçili olan değerden sonra gelen değer seçili değere eşitse yazmasın gibi birşeymi olucak ?
(17-05-2019, Saat: 17:09)metehangumusay Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Bir adet stringgridim var içerisini bir döngü sayesinde dolduruyorum 7000 satır var hepsi doluyor ama şunu yapmak istiyorum 5 adet sütun misal 6 7 8 9 10. sütunlardaki en son değerler birbirine eşit olunca stringgrid satır sayısının o satıra kadar olmasını istiyorum yani 2900 de eşit olursa satır sayısı 2900 olsun. 2. for döngüsü ile denedim ama yapamadım yardımcı olabilecek birisi var mı?

Kurduğunuz döngü kodunu paylaşır mısınız.
(18-05-2019, Saat: 09:27)esistem Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Döngüde seçili olan değerden sonra gelen değer seçili değere eşitse yazmasın gibi birşeymi olucak ?

hayır hocam şöyle şimdi döngüde belli satırlar eşit olunca eşit olunan satır misal 2000. satırsa stringgrid rowcount 2000 olacak ama eşitliğin sağlandığı satırda olacak yani belli bir sayı yok ortada girilen değerlerle eşitlik 3000. satırda da çıkabilir 200. satırda da.

(18-05-2019, Saat: 10:40)uparlayan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(17-05-2019, Saat: 17:09)metehangumusay Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Bir adet stringgridim var içerisini bir döngü sayesinde dolduruyorum 7000 satır var hepsi doluyor ama şunu yapmak istiyorum 5 adet sütun misal 6 7 8 9 10. sütunlardaki en son değerler birbirine eşit olunca stringgrid satır sayısının o satıra kadar olmasını istiyorum yani 2900 de eşit olursa satır sayısı 2900 olsun. 2. for döngüsü ile denedim ama yapamadım yardımcı olabilecek birisi var mı?

Kurduğunuz döngü kodunu paylaşır mısınız.

for satir:=0 to 5000 do
begin

StringGrid1.Cells[2,satir+2]:=FloatToStr(k*(((strtofloat(StringGrid1.Cells[7,satir+1])-strtofloat(StringGrid1.Cells[6,satir+1]))/abs(dx))*((strtofloat(StringGrid1.Cells[7,satir+1])+strtofloat(StringGrid1.Cells[6,satir+1])))/2));
StringGrid1.Cells[3,satir+2]:=FloatToStr(k*(((strtofloat(StringGrid1.Cells[8,satir+1])-strtofloat(StringGrid1.Cells[6,satir+1]))/abs(dx))*((strtofloat(StringGrid1.Cells[8,satir+1])+strtofloat(StringGrid1.Cells[6,satir+1])))/2));
StringGrid1.Cells[4,satir+2]:=FloatToStr(k*(((strtofloat(StringGrid1.Cells[6,satir+1])-strtofloat(StringGrid1.Cells[9,satir+1]))/abs(dx))*((strtofloat(StringGrid1.Cells[6,satir+1])+strtofloat(StringGrid1.Cells[9,satir+1])))/2));
StringGrid1.Cells[5,satir+2]:=FloatToStr(k*(((strtofloat(StringGrid1.Cells[6,satir+1])-strtofloat(StringGrid1.Cells[10,satir+1]))/abs(dx))*((strtofloat(StringGrid1.Cells[6,satir+1])+strtofloat(StringGrid1.Cells[10,satir+1])))/2));

StringGrid1.Cells[6,satir+2]:=FloatToStrF(strtofloat(StringGrid1.Cells[6,satir+1])+strtofloat(StringGrid1.Cells[1,satir+2])/(dx*dx*sy)*(strtofloat(StringGrid1.Cells[2,satir+2])+strtofloat(StringGrid1.Cells[3,satir+2])-strtofloat(StringGrid1.Cells[4,satir+2])-strtofloat(StringGrid1.Cells[5,satir+2])),ffGeneral,8,6);
StringGrid1.Cells[7,satir+2]:=FloatToStrF(strtofloat(StringGrid1.Cells[7,satir+1])-strtofloat(StringGrid1.Cells[1,satir+2])/(dx*dx*sy)*(strtofloat(StringGrid1.Cells[2,satir+2])),ffGeneral,8,6);
StringGrid1.Cells[8,satir+2]:=FloatToStrF(strtofloat(StringGrid1.Cells[8,satir+1])-strtofloat(StringGrid1.Cells[1,satir+2])/(dx*dx*sy)*(strtofloat(StringGrid1.Cells[3,satir+2])),ffGeneral,8,6);
StringGrid1.Cells[9,satir+2]:=FloatToStrF(strtofloat(StringGrid1.Cells[9,satir+1])-strtofloat(StringGrid1.Cells[1,satir+2])/(dx*dx*sy)*(-strtofloat(StringGrid1.Cells[4,satir+2])),ffGeneral,8,6);
StringGrid1.Cells[10,satir+2]:=FloatToStrF(strtofloat(StringGrid1.Cells[10,satir+1])-strtofloat(StringGrid1.Cells[1,satir+2])/(dx*dx*sy)*(-strtofloat(StringGrid1.Cells[5,satir+2])),ffGeneral,8,6);

end;

bu döngü satırları dolduran döngü.

(17-05-2019, Saat: 18:14)adelphiforumz Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(17-05-2019, Saat: 17:09)metehangumusay Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Bir adet stringgridim var içerisini bir döngü sayesinde dolduruyorum 7000 satır var hepsi doluyor ama şunu yapmak istiyorum 5 adet sütun misal 6 7 8 9 10. sütunlardaki en son değerler birbirine eşit olunca stringgrid satır sayısının o satıra kadar olmasını istiyorum yani 2900 de eşit olursa satır sayısı 2900 olsun. 2. for döngüsü ile denedim ama yapamadım yardımcı olabilecek birisi var mı?

Selamlar Sorunuzu umarım yanlış anlamamışımdır.
Bu kontrolü doldurma sırasında 6,7,8,9,10. sütunlara değeri yazmadan yada yazdıktan sonra karşılaştır ve eşitse döngüden çık (Break)
işini görmez mi

dediğiniz gibi yaptım break komutu sayesinde eşitlik sağlandı direk döngüden çıktı şimdi tek yapmak istediğim bu döngünün durduğu satır numarasını satır sayısı yapmak yani 200. satırda durduysa satır sayısı 200 olacak
Break öncesinde stringgrid row count = satır değişkeni
(18-05-2019, Saat: 15:44)3ddark Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Break öncesinde stringgrid row count = satır değişkeni

hocam sorunu çözdüm iterasyon değişkenine göre satır sayısını hesaplattım ve satır sayısını eşitlik durumunda iterasyon değerine atadım yani 2907. iterasyonda satır sayısını 2907 yaptırdım.

Yardımlarınız için çok teşekkür ederim