Word belgesinin istenilen satırına bilgi yazmak.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Word belgesinin istenilen satırına bilgi yazmak.
Arkadaşlar;
Bir programda şöyle bir özellik gördüm ama nasıl yapılacağı hakkında bir fikrim yok.
Tarif etmeye çalışayım.Program kamu kurumları için hazırlanmış bir satın alma programı.
Konu ile ilgilenen arkadaşlar varsa bilirler.kamu ihalelerinde hazırlanan idari şartnameler vardır.
.
Bu idari şartnameler Kamu İhale Kurumunun hazırladığı Tip İdari Şartnameye göre düzenlenir.Bu tip idari şartname Aşağıdaki linkten indirilebilir.
http://www.kik.gov.tr/mevzuat23062004/y ... al/Ek2.doc
Kamu kurumları ihalenin durumuna göre bu idari şartnamenin belli başlı yerlerini kendileri değiştirirler.Örnek Ödeme Durumu maddesini, Kurumun ad adresi vb., geçici teminat durumu, ihaleye katılabilmek için gerekli şartlar v.b. gibi bölümleri.Yani 30-40 sayfalık word belgesinin belli başlı yerlerini kendi isteklerine göre değiştiririler.
Program bu aşamada şu olayı yapıyor.Aynen bir adres defteri gibi bazı bilgileri veritabanında ki fieldlere yazdırıyor.Yani kendi arayüzü var.
İşte
İdarenin Adı
Tel:
Adresi:
İstenen belgeler 1:
İstenen belgeler 2:
İstenen belgeler 3:
İstenen belgeler 4:
…..
….
….
Ödeme Yeri ve Zamanı:
…..
….
Bilimum değiştirilecek bölümler.
Sonra kullanıcı idari şartnameyi oluştur butona tıklayınca program kendi arayüzü içerisinde bu tip idari şartnameyi açıyor.Ve kullanıcının girdiği bilgiler o word sayfasında hangi sayfada hangi satıra yazılacaksa hepsi yerli yerine yazılmış oluyor.Kullanıcı bu idari şartnameyi program içinde düzenlyor.Wordun tüm menüleri buraya geliyor.Gerçi olayın bu aşaması çok ta önemli değil.yani MS Word aracılığı ile düzenlense de olur.Olay asıl generate aşamasında yani.
Acaba bu olayı hangi kontrolle yapabiliriz.
Bu acaba bir componentlemi yapılıyor.Yoksa XML ile falanmı yapılıyor.
Component ile ise component tavsiye edebilirmisiniz.?[/url]
Bir programda şöyle bir özellik gördüm ama nasıl yapılacağı hakkında bir fikrim yok.
Tarif etmeye çalışayım.Program kamu kurumları için hazırlanmış bir satın alma programı.
Konu ile ilgilenen arkadaşlar varsa bilirler.kamu ihalelerinde hazırlanan idari şartnameler vardır.
.
Bu idari şartnameler Kamu İhale Kurumunun hazırladığı Tip İdari Şartnameye göre düzenlenir.Bu tip idari şartname Aşağıdaki linkten indirilebilir.
http://www.kik.gov.tr/mevzuat23062004/y ... al/Ek2.doc
Kamu kurumları ihalenin durumuna göre bu idari şartnamenin belli başlı yerlerini kendileri değiştirirler.Örnek Ödeme Durumu maddesini, Kurumun ad adresi vb., geçici teminat durumu, ihaleye katılabilmek için gerekli şartlar v.b. gibi bölümleri.Yani 30-40 sayfalık word belgesinin belli başlı yerlerini kendi isteklerine göre değiştiririler.
Program bu aşamada şu olayı yapıyor.Aynen bir adres defteri gibi bazı bilgileri veritabanında ki fieldlere yazdırıyor.Yani kendi arayüzü var.
İşte
İdarenin Adı
Tel:
Adresi:
İstenen belgeler 1:
İstenen belgeler 2:
İstenen belgeler 3:
İstenen belgeler 4:
…..
….
….
Ödeme Yeri ve Zamanı:
…..
….
Bilimum değiştirilecek bölümler.
Sonra kullanıcı idari şartnameyi oluştur butona tıklayınca program kendi arayüzü içerisinde bu tip idari şartnameyi açıyor.Ve kullanıcının girdiği bilgiler o word sayfasında hangi sayfada hangi satıra yazılacaksa hepsi yerli yerine yazılmış oluyor.Kullanıcı bu idari şartnameyi program içinde düzenlyor.Wordun tüm menüleri buraya geliyor.Gerçi olayın bu aşaması çok ta önemli değil.yani MS Word aracılığı ile düzenlense de olur.Olay asıl generate aşamasında yani.
Acaba bu olayı hangi kontrolle yapabiliriz.
Bu acaba bir componentlemi yapılıyor.Yoksa XML ile falanmı yapılıyor.
Component ile ise component tavsiye edebilirmisiniz.?[/url]
Merhaba...
- Bu işlem için birden fazla metod mevcut. Ben size en rantable bulduğum çözümü önericem.
- MSWord dökümanlarında "Ekle" menüsü altındaki "Yer İmleri" seçeneğiyle gelen ekrandan akılda kalıcı başlıklar kullanarak, Metin üzerinde yer belirleyici gizli işaretler oluşturabilir, Delphi'den de direkt bu işaret edilen yere atlayıp gereken bilgiyi yazabilirsiniz. Ben TeklifSunulacakYer şeklinde isimlendirdim.
- Bahsi geçen WORD dökümanını açın, sonra da nokta nokta olan ilk yere mesela
- Diğer alan başlıklarını da benzer şekilde imledikten sonra bu belgeyi delphi projenizden ulaşabileceğiniz şekilde kaydedip kapatın. Örneğimizde proje dizininde Teklif.DOC diyelim
- Projenizden aşağıdaki kod benzeri bir kurgu ile "TeklifSunulacakYer" imine konumlanıp bir şey yazılmasını sağlamak mümkündür.
Hepsi bu bakar. Diğer türlü arama bulma değiştirme vs. işlemleri daha sancılı bir işlemdir.
Başarılar...
- Bu işlem için birden fazla metod mevcut. Ben size en rantable bulduğum çözümü önericem.
- MSWord dökümanlarında "Ekle" menüsü altındaki "Yer İmleri" seçeneğiyle gelen ekrandan akılda kalıcı başlıklar kullanarak, Metin üzerinde yer belirleyici gizli işaretler oluşturabilir, Delphi'den de direkt bu işaret edilen yere atlayıp gereken bilgiyi yazabilirsiniz. Ben TeklifSunulacakYer şeklinde isimlendirdim.
- Bahsi geçen WORD dökümanını açın, sonra da nokta nokta olan ilk yere mesela
satırında iki nokta üst üste olan yerden sonra Delphi ile otomatik yazı ekleyeceğiniz yere gelin ve MSWord ana menüden "Ekle" / "Yer İşareti" seçince gelen ekrandan hatırlatıcı bir isim verin. Resimde görüleceği gibi bir işaret gelir. (Bu işaret görünmüyorsa Araçlar / Seçenekler menüsünden gelinden formdan GENEL sayfasındaki YER İŞARETLERİ onay kutusunu işaretlerseniz görünür.)a) Tekliflerin sunulacağı yer: .....................................................................................................
- Diğer alan başlıklarını da benzer şekilde imledikten sonra bu belgeyi delphi projenizden ulaşabileceğiniz şekilde kaydedip kapatın. Örneğimizde proje dizininde Teklif.DOC diyelim
- Projenizden aşağıdaki kod benzeri bir kurgu ile "TeklifSunulacakYer" imine konumlanıp bir şey yazılmasını sağlamak mümkündür.
Kod: Tümünü seç
Uses ComObj;
procedure TForm1.Button1Click(Sender: TObject);
Var
R,
YerimiAdi,
Word,
Doc : OleVariant;
Sayac : Integer;
begin
Word := CreateOleObject('Word.Application');
Word.Documents.Open(ExtractFilePath(Application.ExeName)+'teklif.doc');
Doc := Word.ActiveDocument;
YerimiAdi := 'TeklifSunulacakYer';
if Doc.Bookmarks.Exists( YerimiAdi ) then
begin
R := Doc.Bookmarks.Item(YerimiAdi).Range;
R.InsertAfter( 'Delphi Türkiye Forum' );
R.Font.Color := clBlue;
end;
Word.Visible := True;
Word := UnAssigned;
end;
Başarılar...
mrmarman arkadaş,
söylediğiniz şekilde uygulama çok pratik. Ancak yer imi olarak işaretlediğimiz yerde .... şeklindeki harfleri de kaldırmak gerekecek. Bu .... ların üzerine yazdırma imkanı varmı acaba. Birde comobj kütüphanesinin diğer properties ve eventlarını nasıl inceleyebilirim. comobj libde r.insertafter diye bir procedure bulamadım.
iyi çalışmalar.
söylediğiniz şekilde uygulama çok pratik. Ancak yer imi olarak işaretlediğimiz yerde .... şeklindeki harfleri de kaldırmak gerekecek. Bu .... ların üzerine yazdırma imkanı varmı acaba. Birde comobj kütüphanesinin diğer properties ve eventlarını nasıl inceleyebilirim. comobj libde r.insertafter diye bir procedure bulamadım.
iyi çalışmalar.
Noktalara ihtiyacın olduğunu düşünüyorsan, yani yazacak veri varsa aktarılsın yoksa boşluk değil nokta nokta olsun diyorsan noktaları kaldır ama Delphi Projenden veri yoksa sonradan ekle.
ComObj harici bir kütüphanedir. Sorduğun soru OleAutomation ile ilgili. ComObj ile bağlantı kurulan Word.Application'a ait.
Bu soruyu bana yöneltmekteki gayeni OleVariant tipinde atanmış R değişkeninin yanına nokta koyduğunda neden insertafter çıkmıyor şeklinde değerlendirdim. Kodu deneseydin hata olmaksızın sonuç aldığını görürdün.
Hemen komşu bir diğer başlıkta dediğim gibi burada da yineleyim. Yapmak istediğin her ne ise onu MSWord macro olarak kaydederek Macro Basic kodlarını elde et. Bu kodları rahatlıkla Delphi'ye dönüştürebilirsin.
ComObj harici bir kütüphanedir. Sorduğun soru OleAutomation ile ilgili. ComObj ile bağlantı kurulan Word.Application'a ait.
Bu soruyu bana yöneltmekteki gayeni OleVariant tipinde atanmış R değişkeninin yanına nokta koyduğunda neden insertafter çıkmıyor şeklinde değerlendirdim. Kodu deneseydin hata olmaksızın sonuç aldığını görürdün.
Hemen komşu bir diğer başlıkta dediğim gibi burada da yineleyim. Yapmak istediğin her ne ise onu MSWord macro olarak kaydederek Macro Basic kodlarını elde et. Bu kodları rahatlıkla Delphi'ye dönüştürebilirsin.
fast report içindeki richeditle bunu dahada zahmetsiz çözmeniz mümkün. sadece ilgili yerlere vt den gelen alanları koyarsınız.
Öte yandan bunu kullanmak istemezseniz eğer mrmarmanın üstadın önerisi biçilmiş kaftandır.
Öte yandan bunu kullanmak istemezseniz eğer mrmarmanın üstadın önerisi biçilmiş kaftandır.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
mrmarman arkadaş değiniz doğru.
yapmak istedğim şu idi.
Kurum adı: ............... şeklinde bir cümleye
Kurum adı: merkez bankası yazdırmak istiyorum diyelim. Ama merkez bankasını yazdırınca ..... ların kaybolması gerekecek. Aksi halde kullanıcı her defasında bu .... ları kaldırmak için uğraşacak
Yani bu .... ların üzerine yazdırabilirmiyiz.
yapmak istedğim şu idi.
Kurum adı: ............... şeklinde bir cümleye
Kurum adı: merkez bankası yazdırmak istiyorum diyelim. Ama merkez bankasını yazdırınca ..... ların kaybolması gerekecek. Aksi halde kullanıcı her defasında bu .... ları kaldırmak için uğraşacak
Yani bu .... ların üzerine yazdırabilirmiyiz.
Word'de bunu elle nasıl yapardınız ? cevaba oradan başlamak lazım.
Ben olsam noktaları bildiğimiz noktalama işareti ile değil de TAB ayarlarından boşlukları otomatik nokta olarak doldurmak şeklide ayarlardım.
Şimdi MSWord kullanıcısı olarak bilginizi sınamak istemiyorum ama bilmeyenler vardır diye yazıyorum; yatay cetvel üzerinde mouse ile tıklamak suretiyle TAB boşlukları oluşturulabilmektedir. Daha sonra bu tablardan herhangi birisi üzerinde çift mouse tıklaması yapıldığında bu ayarların elle metrik rakamlar olarak görüntülendiği veya elle değişiklik yapılabildiği bir form karşınıza gelir. Bu her bir rakam bir TAB adımıdır ki, seçtiğiniz tab ile bir önceki arasında otomatik noktalarla doldurma özelliği verilebilmektedir.
Bu ayarlama index vb. yapımında konu başlıkları ile sayfa numaraları arasında gözle takip edilebilir bir hat oluşturmak için kullanılan bir özellik olmasının yanında burada yazı ile yazılan alanlardaki noktalar kendiliğinden yok olacak, geriye kalan yerler noktalı kalacaktır.
Bu tarif ettiğim özellik hakkında bilginiz yoksa araştırın olmadı yine resimlerle yardımcı olurum.
Ben olsam noktaları bildiğimiz noktalama işareti ile değil de TAB ayarlarından boşlukları otomatik nokta olarak doldurmak şeklide ayarlardım.
Şimdi MSWord kullanıcısı olarak bilginizi sınamak istemiyorum ama bilmeyenler vardır diye yazıyorum; yatay cetvel üzerinde mouse ile tıklamak suretiyle TAB boşlukları oluşturulabilmektedir. Daha sonra bu tablardan herhangi birisi üzerinde çift mouse tıklaması yapıldığında bu ayarların elle metrik rakamlar olarak görüntülendiği veya elle değişiklik yapılabildiği bir form karşınıza gelir. Bu her bir rakam bir TAB adımıdır ki, seçtiğiniz tab ile bir önceki arasında otomatik noktalarla doldurma özelliği verilebilmektedir.
Bu ayarlama index vb. yapımında konu başlıkları ile sayfa numaraları arasında gözle takip edilebilir bir hat oluşturmak için kullanılan bir özellik olmasının yanında burada yazı ile yazılan alanlardaki noktalar kendiliğinden yok olacak, geriye kalan yerler noktalı kalacaktır.
Bu tarif ettiğim özellik hakkında bilginiz yoksa araştırın olmadı yine resimlerle yardımcı olurum.
Re: Word belgesinin istenilen satırına bilgi yazmak.
konuya buradan devam edeceğim;
hocam yönteminiz için çok teşekkür ederim çok mantıklı. Allah'tan bi aksilik olmassa deneyeceğim.
yanlız merak ettiğim birşey daha var. ekte gönderdiğim word belgesini piyasada kullanılan bir ticari programdan aldım. içinde gri renkte işaretlenmiş bazı alanlar var. bunlar acaba ne ve acaba buralara nasıl veri gönderiliyor.
hocam yönteminiz için çok teşekkür ederim çok mantıklı. Allah'tan bi aksilik olmassa deneyeceğim.
yanlız merak ettiğim birşey daha var. ekte gönderdiğim word belgesini piyasada kullanılan bir ticari programdan aldım. içinde gri renkte işaretlenmiş bazı alanlar var. bunlar acaba ne ve acaba buralara nasıl veri gönderiliyor.
- Dosya ekleri
-
- 319.zip
- (24.84 KiB) 111 kere indirildi
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Re: Word belgesinin istenilen satırına bilgi yazmak.
Verdiğin dökümanı inceledim. Orada da aynı verdiğim örnekteki gibi "YER İMLERİ" olarak isimlendirilmiş alanlar var.
Bu alanlara veri girmene bir engel yok, sadece başlıklar ve tablo şekillerine müdahale etmeden önce engel kilidini açman lazım.
Sana bir trük vereyim, WORD ile açtığın bu belgeyi SaveAs (Farklı Kaydet) ile XML dosyası formatında kaydet. Sonra bu XML içerisinden ffData olan başlıkları incele. Bunlar YER İMİ başlıkları.
Ek Bilgi : Kilidi açmak için "enforcement" olan yerde "1" yazar bunu "0" yazıp kaydedersen ve WORD ile bu XML dosyasını açarsan edit edilebilir şekilde kilidi çözülmüş olacaktır.
Gönderdiğin dosyanın yer imlerinin isimlerini inceledim, Text1'den Text111'e kadar sıralı gidiyor.
Şimdi sıra sende deneyip sonucu buradan yorumla.
başarılar.
Bu alanlara veri girmene bir engel yok, sadece başlıklar ve tablo şekillerine müdahale etmeden önce engel kilidini açman lazım.
Sana bir trük vereyim, WORD ile açtığın bu belgeyi SaveAs (Farklı Kaydet) ile XML dosyası formatında kaydet. Sonra bu XML içerisinden ffData olan başlıkları incele. Bunlar YER İMİ başlıkları.
Ek Bilgi : Kilidi açmak için "enforcement" olan yerde "1" yazar bunu "0" yazıp kaydedersen ve WORD ile bu XML dosyasını açarsan edit edilebilir şekilde kilidi çözülmüş olacaktır.
Gönderdiğin dosyanın yer imlerinin isimlerini inceledim, Text1'den Text111'e kadar sıralı gidiyor.
Şimdi sıra sende deneyip sonucu buradan yorumla.
başarılar.
Re: Word belgesinin istenilen satırına bilgi yazmak.
hocam ilginize çok teşekkür ediyorum. denemelerime bu akşam başlayacağım. ve mutlaka tecrubelerimi buradan paylaşacağım.mrmarman yazdı: Şimdi sıra sende deneyip sonucu buradan yorumla.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Re: Word belgesinin istenilen satırına bilgi yazmak.
bunla ilgili kucuk bir örnek hazırladım. gerçekten çok teşekkür ediyorum.
projeyi xe7 ile test ettim. sıkıntısız çalışıyor. şimdi bunu projeme ekliyorum
projeyi xe7 ile test ettim. sıkıntısız çalışıyor. şimdi bunu projeme ekliyorum
- Dosya ekleri
-
- WORD TEST.rar
- (72.13 KiB) 132 kere indirildi
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Re: Word belgesinin istenilen satırına bilgi yazmak.
hocam şöyle bişey yapabilirmiyiz.
word dokumanını delphide açıp sürükle bırak yöntemi ile alan seçsek sonra oralara kesme oluşturabilirmiyiz.
word dokumanını delphide açıp sürükle bırak yöntemi ile alan seçsek sonra oralara kesme oluşturabilirmiyiz.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Re: Word belgesinin istenilen satırına bilgi yazmak.
Clipboard operasyonlarını araştırabilirsin.
Re: Word belgesinin istenilen satırına bilgi yazmak.
Yer imleri hazırlanmış Word Formunu/Belgesini doldurma örneği
procedure TFrmKisiler.SatinAlma(Sender: TObject);
var
Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8,Y9,Y10,Y11,Y12,Y13,Y14,Y15,Y16,Y17,Y18,Y19,Y20, R,Word, Doc:OleVariant;
begin
Word := CreateOleObject('Word.Application');
Word.Documents.Add(GetCurrentDir+'\SAB.DOC'); //Yeni kopya oluşturur.
//Word.Documents.Open(GetCurrentDir+'\SAB.DOC'); Var olan belgeyi açar
Doc := Word.ActiveDocument;
Y0:='KAYITNO';
Y1:='ADISOYADI';
Y2:='TCKIMLIK';
Y3:='ADI';
Y4:='SOYADI';
Y5:='BABAADI';
Y6:='MESLEK';
Y7:='DYERI';
Y8:='DTARIHI';
Y9:='ADRES';
Y10:='ILI';
Y11:='ILCESI';
Y12:='KOYMAH';
Y13:='CILT';
Y14:='ASN';
Y15:='BSN';
Y16:='RTARIH';
Y17:='RSAYI';
Y18:='KAYMAKAM';
Y19:='MEMUR';
Y20:='AMIR';
if Doc.Bookmarks.Exists(Y0) then
begin
R := Doc.Bookmarks.Item(Y0).Range;
R.Text:=(tbRuhsatlarDSIRA.AsString);
end;
if Doc.Bookmarks.Exists(Y1) then
begin
R := Doc.Bookmarks.Item(Y1).Range;
R.Text:=(tbKimliklerADI.AsString+' '+tbKimliklerSOYADI.AsString);
end;
if Doc.Bookmarks.Exists(Y2) then
begin
R := Doc.Bookmarks.Item(Y2).Range;
R.Text:=(tbKimliklerTCKIMLIK.AsString);
end;
if Doc.Bookmarks.Exists(Y3) then
begin
R := Doc.Bookmarks.Item(Y3).Range;
R.Text:=(tbKimliklerADI.AsString);
end;
if Doc.Bookmarks.Exists(Y4) then
begin
R := Doc.Bookmarks.Item(Y4).Range;
R.Text:=(tbKimliklerSOYADI.AsString);
end;
if Doc.Bookmarks.Exists(Y5) then
begin
R := Doc.Bookmarks.Item(Y5).Range;
R.Text:=(tbKimliklerBABAADI.AsString);
end;
if Doc.Bookmarks.Exists(Y6) then
begin
R := Doc.Bookmarks.Item(Y6).Range;
R.Text:=(tbKimliklerMESLEK.AsString);
end;
if Doc.Bookmarks.Exists(Y7) then
begin
R := Doc.Bookmarks.Item(Y7).Range;
R.Text:=(tbKimliklerDYERI.AsString);
end;
if Doc.Bookmarks.Exists(Y8) then
begin
R := Doc.Bookmarks.Item(Y8).Range;
R.Text:=(tbKimliklerDTARIHI.AsString);
end;
if Doc.Bookmarks.Exists(Y9) then
begin
R := Doc.Bookmarks.Item(Y9).Range;
R.Text:=(Trim(tbKimliklerADRES.AsString));
end;
if Doc.Bookmarks.Exists(Y10) then
begin
R := Doc.Bookmarks.Item(Y10).Range;
R.Text:=(tbKimliklerILI.AsString);
end;
if Doc.Bookmarks.Exists(Y11) then
begin
R := Doc.Bookmarks.Item(Y11).Range;
R.Text:=(tbKimliklerILCESI.AsString);
end;
if Doc.Bookmarks.Exists(Y12) then
begin
R := Doc.Bookmarks.Item(Y12).Range;
R.Text:=(tbKimliklerKOYMAH.AsString);
end;
if Doc.Bookmarks.Exists(Y13) then
begin
R := Doc.Bookmarks.Item(Y13).Range;
R.Text:=(tbKimliklerCILT.AsString);
end;
if Doc.Bookmarks.Exists(Y14) then
begin
R := Doc.Bookmarks.Item(Y14).Range;
R.Text:=(tbKimliklerASN.AsString);
end;
if Doc.Bookmarks.Exists(Y15) then
begin
R := Doc.Bookmarks.Item(Y15).Range;
R.Text:=(tbKimliklerBSN.AsString);
end;
if Doc.Bookmarks.Exists(Y16) then
begin
R := Doc.Bookmarks.Item(Y16).Range;
R.Text:=(tbRuhsatlarVERTARIH.Text);
end;
if Doc.Bookmarks.Exists(Y17) then
begin
R := Doc.Bookmarks.Item(Y17).Range;
R.Text:=(tbRuhsatlarBELGENO.Text);
end;
if Doc.Bookmarks.Exists(Y18) then
begin
R := Doc.Bookmarks.Item(Y18).Range;
R.Text:=(Merkez.tbSabitlerMULKIAMIR.Text);
end;
if Doc.Bookmarks.Exists(Y19) then
begin
R := Doc.Bookmarks.Item(Y19).Range;
R.Text:=(Merkez.tbSabitlerMEMURPARAF.Text);
end;
if Doc.Bookmarks.Exists(Y20) then
begin
R := Doc.Bookmarks.Item(Y20).Range;
R.Text:=(Merkez.tbSabitlerAMIRPARAF.Text);
end;
Word.Visible := True;
Word := UnAssigned;
end;
procedure TFrmKisiler.SatinAlma(Sender: TObject);
var
Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8,Y9,Y10,Y11,Y12,Y13,Y14,Y15,Y16,Y17,Y18,Y19,Y20, R,Word, Doc:OleVariant;
begin
Word := CreateOleObject('Word.Application');
Word.Documents.Add(GetCurrentDir+'\SAB.DOC'); //Yeni kopya oluşturur.
//Word.Documents.Open(GetCurrentDir+'\SAB.DOC'); Var olan belgeyi açar
Doc := Word.ActiveDocument;
Y0:='KAYITNO';
Y1:='ADISOYADI';
Y2:='TCKIMLIK';
Y3:='ADI';
Y4:='SOYADI';
Y5:='BABAADI';
Y6:='MESLEK';
Y7:='DYERI';
Y8:='DTARIHI';
Y9:='ADRES';
Y10:='ILI';
Y11:='ILCESI';
Y12:='KOYMAH';
Y13:='CILT';
Y14:='ASN';
Y15:='BSN';
Y16:='RTARIH';
Y17:='RSAYI';
Y18:='KAYMAKAM';
Y19:='MEMUR';
Y20:='AMIR';
if Doc.Bookmarks.Exists(Y0) then
begin
R := Doc.Bookmarks.Item(Y0).Range;
R.Text:=(tbRuhsatlarDSIRA.AsString);
end;
if Doc.Bookmarks.Exists(Y1) then
begin
R := Doc.Bookmarks.Item(Y1).Range;
R.Text:=(tbKimliklerADI.AsString+' '+tbKimliklerSOYADI.AsString);
end;
if Doc.Bookmarks.Exists(Y2) then
begin
R := Doc.Bookmarks.Item(Y2).Range;
R.Text:=(tbKimliklerTCKIMLIK.AsString);
end;
if Doc.Bookmarks.Exists(Y3) then
begin
R := Doc.Bookmarks.Item(Y3).Range;
R.Text:=(tbKimliklerADI.AsString);
end;
if Doc.Bookmarks.Exists(Y4) then
begin
R := Doc.Bookmarks.Item(Y4).Range;
R.Text:=(tbKimliklerSOYADI.AsString);
end;
if Doc.Bookmarks.Exists(Y5) then
begin
R := Doc.Bookmarks.Item(Y5).Range;
R.Text:=(tbKimliklerBABAADI.AsString);
end;
if Doc.Bookmarks.Exists(Y6) then
begin
R := Doc.Bookmarks.Item(Y6).Range;
R.Text:=(tbKimliklerMESLEK.AsString);
end;
if Doc.Bookmarks.Exists(Y7) then
begin
R := Doc.Bookmarks.Item(Y7).Range;
R.Text:=(tbKimliklerDYERI.AsString);
end;
if Doc.Bookmarks.Exists(Y8) then
begin
R := Doc.Bookmarks.Item(Y8).Range;
R.Text:=(tbKimliklerDTARIHI.AsString);
end;
if Doc.Bookmarks.Exists(Y9) then
begin
R := Doc.Bookmarks.Item(Y9).Range;
R.Text:=(Trim(tbKimliklerADRES.AsString));
end;
if Doc.Bookmarks.Exists(Y10) then
begin
R := Doc.Bookmarks.Item(Y10).Range;
R.Text:=(tbKimliklerILI.AsString);
end;
if Doc.Bookmarks.Exists(Y11) then
begin
R := Doc.Bookmarks.Item(Y11).Range;
R.Text:=(tbKimliklerILCESI.AsString);
end;
if Doc.Bookmarks.Exists(Y12) then
begin
R := Doc.Bookmarks.Item(Y12).Range;
R.Text:=(tbKimliklerKOYMAH.AsString);
end;
if Doc.Bookmarks.Exists(Y13) then
begin
R := Doc.Bookmarks.Item(Y13).Range;
R.Text:=(tbKimliklerCILT.AsString);
end;
if Doc.Bookmarks.Exists(Y14) then
begin
R := Doc.Bookmarks.Item(Y14).Range;
R.Text:=(tbKimliklerASN.AsString);
end;
if Doc.Bookmarks.Exists(Y15) then
begin
R := Doc.Bookmarks.Item(Y15).Range;
R.Text:=(tbKimliklerBSN.AsString);
end;
if Doc.Bookmarks.Exists(Y16) then
begin
R := Doc.Bookmarks.Item(Y16).Range;
R.Text:=(tbRuhsatlarVERTARIH.Text);
end;
if Doc.Bookmarks.Exists(Y17) then
begin
R := Doc.Bookmarks.Item(Y17).Range;
R.Text:=(tbRuhsatlarBELGENO.Text);
end;
if Doc.Bookmarks.Exists(Y18) then
begin
R := Doc.Bookmarks.Item(Y18).Range;
R.Text:=(Merkez.tbSabitlerMULKIAMIR.Text);
end;
if Doc.Bookmarks.Exists(Y19) then
begin
R := Doc.Bookmarks.Item(Y19).Range;
R.Text:=(Merkez.tbSabitlerMEMURPARAF.Text);
end;
if Doc.Bookmarks.Exists(Y20) then
begin
R := Doc.Bookmarks.Item(Y20).Range;
R.Text:=(Merkez.tbSabitlerAMIRPARAF.Text);
end;
Word.Visible := True;
Word := UnAssigned;
end;