İşlem yaparken progres bar
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
İşlem yaparken progres bar
kolay gelsin arkadaşlar. forumda biraz araştırarak exeldeki verileri database'e aktarma işlemi yapıyorum. Şöle bişe yapmam mümkünmü acaba : Mesela programda exel dosyasını seçip tamam dedikten sora database kayıt etme işlemi gerçekleşiyo. Kayıt bitene kadar progres bar gösterebilirmiyim ? Ancak değerlerini el ile değil de işlemim bitene kadar otomotik olarak gösterip gizleme işlemi .. İyi çalışmalar.
-
- Üye
- Mesajlar: 261
- Kayıt: 21 Tem 2006 04:59
- İletişim:
Re: İşlem yaparken progres bar
selamlar....
bu konu çok konuşuldu soruldu açıklandı ancak tam olarak tatminkar yanıt oluşmadı. herkes kendince yöntemler buldu. vwindows apileriyle çözenlerde var kendi projelerinegör çözenlerde. ben kendi yöntemimi oluşturdum.
eğer bir tablo yada herhangi bir kaynaktan bilgi alacaksam( veri tanabı, exel, xml gibi) önce alınan kaynak tablodaki veriler kayıt sayıları sayılmalı. record caunt ile alınan değer senin progres barın max değeri. sen bu dğeri istediğin gibi kullanabilirsin . bir döngü kurup kodları 150 kayıt olduğunda yüzde 10 artır, 250 olduğunda yüzde 5 artır gibi....
sanırım anlatabilidimmm
kolay gelsin....
bu konu çok konuşuldu soruldu açıklandı ancak tam olarak tatminkar yanıt oluşmadı. herkes kendince yöntemler buldu. vwindows apileriyle çözenlerde var kendi projelerinegör çözenlerde. ben kendi yöntemimi oluşturdum.
eğer bir tablo yada herhangi bir kaynaktan bilgi alacaksam( veri tanabı, exel, xml gibi) önce alınan kaynak tablodaki veriler kayıt sayıları sayılmalı. record caunt ile alınan değer senin progres barın max değeri. sen bu dğeri istediğin gibi kullanabilirsin . bir döngü kurup kodları 150 kayıt olduğunda yüzde 10 artır, 250 olduğunda yüzde 5 artır gibi....
sanırım anlatabilidimmm
kolay gelsin....
Re: İşlem yaparken progres bar
hocam yapabilirsin. ilkbaşta exceldeki veri sayısını bul.toplam kaç kayıt varsa bunu progresbarın min ve max değerlerine yazarak yapabilirsin.
örnek excelde 100 satır kayıt var. o zaman progresbarın min :=1 max:=100 gibi yapabilir sonunda da istedeğin kodu işletebilirsin. Yalnız sana bir önerim var.
ben excelden dataya veri alırken şunu yaşadım. sabit bir excel dosyan olsun. bu excel dosyasından bu gün verileri çektin. yarın bu excel dosyasını güncel kayıtlar ile yeniledin. sıra geldi yeni exceli dataya aktarmaya. yeni excelin içindeki veriler ile datandakiler arasında aynı kayıt olup olmadığını nasıl kontrol etmelisin.Dikkat etmessen benim yaptığım gibi ne oluyoo yaff diye bakınırsın
exceldeki kayıt sayısını öğrenmek için ben şu kodu kullanmıştım.
uses satırına comobj eklemeyi unutma.
uygulama adında variant tipinde değişken tanımladım sonra bunu create edip açmak istediğim excel dosyasını open dialog penceresinden seçtirdim.
____________
button1.click te olan kodlar
spSkinOpenDialog1.Title:='Açılacak Excel Dosyası Seç';
if spSkinOpenDialog1.Execute then
begin
uygulama:=CreateOleObject('excel.application');
uygulama.Visible:=true;
uygulama.workbooks.open[spSkinOpenDialog1.FileName];
end;
________________
Button2.clik kod exceldeki kayıt sayısını alıyorum
procedure exceldebilgisayisi;
var
hangisatirdaverivar:variant;
kacsatirbilgi,kacsutunbilgi:integer;
begin
try
kacsatirbilgi:=0;
kacsutunbilgi:=0;
hangisatirdaverivar:=uygulama.ActiveWorkbook.worksheets[listboxsayisi].UsedRange; // veri hangi satırlarda var buluyor
kacsatirbilgi:= hangisatirdaverivar.rows.Count;
kacsutunbilgi:=hangisatirdaverivar.columns.Count;
except
end;
end;
örnek excelde 100 satır kayıt var. o zaman progresbarın min :=1 max:=100 gibi yapabilir sonunda da istedeğin kodu işletebilirsin. Yalnız sana bir önerim var.
ben excelden dataya veri alırken şunu yaşadım. sabit bir excel dosyan olsun. bu excel dosyasından bu gün verileri çektin. yarın bu excel dosyasını güncel kayıtlar ile yeniledin. sıra geldi yeni exceli dataya aktarmaya. yeni excelin içindeki veriler ile datandakiler arasında aynı kayıt olup olmadığını nasıl kontrol etmelisin.Dikkat etmessen benim yaptığım gibi ne oluyoo yaff diye bakınırsın

exceldeki kayıt sayısını öğrenmek için ben şu kodu kullanmıştım.
uses satırına comobj eklemeyi unutma.
uygulama adında variant tipinde değişken tanımladım sonra bunu create edip açmak istediğim excel dosyasını open dialog penceresinden seçtirdim.
____________
button1.click te olan kodlar
spSkinOpenDialog1.Title:='Açılacak Excel Dosyası Seç';
if spSkinOpenDialog1.Execute then
begin
uygulama:=CreateOleObject('excel.application');
uygulama.Visible:=true;
uygulama.workbooks.open[spSkinOpenDialog1.FileName];
end;
________________
Button2.clik kod exceldeki kayıt sayısını alıyorum
procedure exceldebilgisayisi;
var
hangisatirdaverivar:variant;
kacsatirbilgi,kacsutunbilgi:integer;
begin
try
kacsatirbilgi:=0;
kacsutunbilgi:=0;
hangisatirdaverivar:=uygulama.ActiveWorkbook.worksheets[listboxsayisi].UsedRange; // veri hangi satırlarda var buluyor
kacsatirbilgi:= hangisatirdaverivar.rows.Count;
kacsutunbilgi:=hangisatirdaverivar.columns.Count;
except
end;
end;
Re: İşlem yaparken progres bar
öncelikle ilginize tşk ederim. @Lord_Ares arkadaşım dediğin metodu uygulayacam da bi yeri anlayamadım.
burdaki listboxsayisi' ni nasıl kullanacaz. Değişken olarak da tanımlamamışsın ?
Kod: Tümünü seç
hangisatirdaverivar:=uygulama.ActiveWorkbook.worksheets[listboxsayisi].UsedRange; // veri hangi satırlarda var buluyor
Re: İşlem yaparken progres bar
Orda sayfa numarasını belirtiyor.
Bir kelimenin anlamını öğretsen bile yeter..



Re: İşlem yaparken progres bar
hangisatirdaverivar:=uygulama.ActiveWorkbook.worksheets[listboxsayisi].UsedRange;
hocam buradaki listboxsayisi dedim şey , excelde , birinci sayfadamı yoksa ikinci sayfadamı bunu seçmek için kullanmıştım
yani şöyle olması lazım. diyelim ki senin excelinde 3 sayfa var sen birinci sayfadaki verilerin kaç tane olduğunu bilmek istiyorsun. o zaman şöyle yapman lazım
hangisatirdaverivar:=uygulama.ActiveWorkbook.worksheets[1].UsedRange;
istersen sana vermiş olduğum kodun proje halini vereyim. inceler daha rahat anlarsın belki yeni bir şeyler bulursun.
hocam buradaki listboxsayisi dedim şey , excelde , birinci sayfadamı yoksa ikinci sayfadamı bunu seçmek için kullanmıştım
yani şöyle olması lazım. diyelim ki senin excelinde 3 sayfa var sen birinci sayfadaki verilerin kaç tane olduğunu bilmek istiyorsun. o zaman şöyle yapman lazım
hangisatirdaverivar:=uygulama.ActiveWorkbook.worksheets[1].UsedRange;
istersen sana vermiş olduğum kodun proje halini vereyim. inceler daha rahat anlarsın belki yeni bir şeyler bulursun.