İşlem yaparken progres bar

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
lom
Üye
Mesajlar: 135
Kayıt: 25 Nis 2006 02:37

İşlem yaparken progres bar

Mesaj gönderen lom »

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.
baloglurecep
Üye
Mesajlar: 261
Kayıt: 21 Tem 2006 04:59
İletişim:

Re: İşlem yaparken progres bar

Mesaj gönderen baloglurecep »

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....
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: İşlem yaparken progres bar

Mesaj gönderen Lord_Ares »

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;
Kullanıcı avatarı
lom
Üye
Mesajlar: 135
Kayıt: 25 Nis 2006 02:37

Re: İşlem yaparken progres bar

Mesaj gönderen lom »

öncelikle ilginize tşk ederim. @Lord_Ares arkadaşım dediğin metodu uygulayacam da bi yeri anlayamadım.

Kod: Tümünü seç

hangisatirdaverivar:=uygulama.ActiveWorkbook.worksheets[listboxsayisi].UsedRange; // veri hangi satırlarda var buluyor
burdaki listboxsayisi' ni nasıl kullanacaz. Değişken olarak da tanımlamamışsın ?
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: İşlem yaparken progres bar

Mesaj gönderen conari »

Orda sayfa numarasını belirtiyor.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: İşlem yaparken progres bar

Mesaj gönderen Lord_Ares »

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.
Cevapla