arkadaşlar işlerinizde öncelikle kolay gelsin,
Sorunum şu bir tane gruplandırma yaptığım vardiya çalışanlarım var. Tabloda şu şekilde kayıtlar var,
Grup çalışanlar
----- ---------------
1 Deneme1-Deneme2
2 Deneme3-Deneme4
3 Deneme5-Deneme6
die devam eden çalışan grupları var amacım sırayla bu kişileri oluşturulan grup sayısı kadar sonra sırayla vardiyaya sokmak.
Yani sonucun şu olmaı gerekiyor
1. gün deneme1-deneme2
2. gün deneme3-deneme4
3. gün deneme5-deneme6
4. gün deneme1-deneme2
5. gün deneme3-deneme4
gibi devam etmsi gerekiyor ama bir türlü bunu başaramadım belki gülceksiniz ama inanın kafam artık durma noktasına geldi o yüzden sizlerin yardımını bekliyorum arkadaşlar.
şimiden herkese çok tşk ederim...
Listede Döngüyü nasıl kurabilirim...
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Listede Döngüyü nasıl kurabilirim...
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
Re: Listede Döngüyü nasıl kurabilirim...
arkadaşlar halen daha cevabını bulamadım sorumun ama eğer bir gelişme kaydedersem bire bir kodu buraya vericem en azından yarın öbür gün aynı konuda araştırma yapan dostlarımız faydalanabilsin. Sanırım bu konu daha önce sitede geçmemiş 

Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
Re: Listede Döngüyü nasıl kurabilirim...
Burda deneme yerine grup1 gibi bir ifade kullansan daha iyi olurdu neyse... zor olan nedir pek anlamadım, iç içe bir döngü ile yapabilirsin istediğini gün sayısı kadar for döngüsü onun içine de tablondaki grup sayısı kadar da while eof döngüsü yerleştirdinmiydi oldu da bitti maşallah yani...
ayrıca sıraya SQL ile mi sokmaya çalışıyon yoksa bir listbox'a veya stringgrid'e manuel yerleştirmeyi istiyorsun bu detaylarıda belirtmen lazımdı...

Re: Listede Döngüyü nasıl kurabilirim...
hocam for döngüsünde istediğim gün sayısı kadar vardiya günü oluşturabildim ama oluşturduğum gün saysına sırayla 3 yada daha fazla oluşturulan gruptan sırayla kayıtları oluşturduğum günlere aktarmak istiyorum. Yani vt'deki tabloma kayıt ettirmeye çalışıyorum. Münkünse bu olaya ufak bir örnek verebilirmisin kod olarak hocam. İlginize çok tşk ederim.
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
Re: Listede Döngüyü nasıl kurabilirim...
Açagıdaki genel kod işini görür.
Grup grup tablon, vardiyaekle ise gruptaki kaydı vardiya olarak ekler.
Gun e 100 verdim, sen istedigini verirsin. Buradaki tek püf noktası next ten sonra tablo sonuysa first yapıp, tekrar grup başına dönmek.
Grup grup tablon, vardiyaekle ise gruptaki kaydı vardiya olarak ekler.
Gun e 100 verdim, sen istedigini verirsin. Buradaki tek püf noktası next ten sonra tablo sonuysa first yapıp, tekrar grup başına dönmek.
Kod: Tümünü seç
grup.first;
for gun:=1 to 100 do
begin
vardiyaEkle;
grup.Next;
if grup.EOF then grup.First;
end;
Re: Listede Döngüyü nasıl kurabilirim...
Evet hocam aynen dediğiniz gibi kod tam olarak işimi gördü allah razı olsun yhaa şimdi dönüp takıldığım konuya bakınca kendime kendime gülüyorum
bumuydu takıldığım konu die.
Gerçekten çok saolun allah razı olsun...

Gerçekten çok saolun allah razı olsun...
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
Re: Listede Döngüyü nasıl kurabilirim...
mehmetcan hocamın verdiği kodlara ek olarak, aşağıdaki döngüyü de herzaman kullanabilirsin. işine yarayacaktır ve kendi programlama tekniğe göre geliştirebilirsin.
konu ile alakalı değilmiş gibi gözükse de işini görecektir. repeat ... until döngüsüne bir örnek.
Kod: Tümünü seç
if Table2.RecordCount <> Table1.RecordCount then
begin
if MessageDlg('Dijital Arşiv Dosyası''nda değişiklik var ...!'+#10+'Güncelleştirmek ister misiniz ?'+#10+#10+
'Bu işlem 15-30 dakika sürebilir ..'+#10+#10+'Tüm kullanıcıları programdan çıkarınız ve ''&Evet'' düğmesini tıklatınız ..',
mtInformation, [mbYes, mbNo], 0) = mrYes then
begin
Table1.First;
DBGrid1.Fields[3].EditMask:= '!##\/##\/####;0; ';
Table1.IndexFieldNames:= 'SiraNo';
repeat
if Table2.FindKey([DBGrid1.Fields[0].Value]) then
begin
Table2.Edit;
DBGrid2.Refresh;
end
else Table2.Append;
DBGrid1.Fields[3].EditMask:= '!##\/##\/####;0; ';
with Table2 do
begin
FieldByName('SiraNo').AsInteger:= DBGrid1.Fields[0].Value;
FieldByName('MusAd').AsString:= DBGrid1.Fields[1].Value;
FieldByName('MusSoyad').AsString:= DBGrid1.Fields[2].Value;
FieldByName('Tarih').AsString:= DBGrid1.Fields[3].Value;
Post;
end;
Table1.Next;
until Table1.EOF;
end;
Table2.First;
end;