1

Konu: dos foxpro2.6 hakkında yardım.

Arkadaşlar ismim Ahmet  herkese merhaba dos altında çalışan foxpro2.6 programını işçi ücretlerini hesaplamada kullanıyorum. İşlerimi yapmak için amatör sayılacak derecede program yazıyorum.

   .DBF dosyasını  .TXT formatına çeviriyorum ama diyelimki data.txt dosyasını

MODI COMM data.txt açtığımda .txt dosyasının en üst satırında 1 satır boşluk kalıyor. Bilgiler 2 nci satırdan başlıyor. txt dosyasında bu boş satırın oluşmaması için programıma nasıl bir komut ilave etmeliyim. Teşekkür ederim.

şeklinde görünüyor.
________________________________________
boş satır
xxxxxxxxxx xxxx           xxxxxxxxx        xxxxxxxx
xxxxxxxxxx xxxx           xxxxxxxxx        xxxxxxxx
xxxxxxxxxx xxxx           xxxxxxxxx        xxxxxxxx
xxxxxxxxxx xxxx           xxxxxxxxx        xxxxxxxx

2

Re: dos foxpro2.6 hakkında yardım.

ilk kaydın boş heralde. yoksa boş satır oluşmazdı.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

3 Son düzenleyen, SAROS (30.11.2006 13:16:15)

Re: dos foxpro2.6 hakkında yardım.

Metin bey teşekkür ederim. İlk kaydım boş deil. Size incelemeniz için PRG sini gönderebilirim.

4

Re: dos foxpro2.6 hakkında yardım.

Eğer TEXTMERGE kullanarak kayıtları listeliyorsan ilk başladığın satır \ yerine \\ olması gerekiyor.

5

Re: dos foxpro2.6 hakkında yardım.

cetinyasar arkadaşım çok saol ama olmuyor.
SET ALTERNATE TO NORM10.TXT
SET HEADING OFF
SET ALTERNATE ON
komutlarını kullanıyorum.

6

Re: dos foxpro2.6 hakkında yardım.

Alternate foxpro2.xten de eski ve kullanma. Set textmerge ya da copy to kullan.

7

Re: dos foxpro2.6 hakkında yardım.

Çetin arkadaşım çok sağolasın deniyeceğim.

8

Re: dos foxpro2.6 hakkında yardım.

Beceremedim arkadaşlar amatör,acemilik ne derseniz deyin.

9

Re: dos foxpro2.6 hakkında yardım.

Ya tamam biz yardim edelim de tam olarak nasil bir formattan nasil bir formata cevrim gerektigi belli degil. Text dosyasini alacak program ne?

Copy to deneme.txt type sdf

isini goruyor mu mesela?

textmerge kullanirsan:

set ttextmerge to deneme.txt noshow
set textmerge on
scan
\\Kayit No:<<recno()>>
\\<<tablo.FieldAdi1>>
\\ <<tablo.FieldAdi2>>
\\ Buraya duz sabit text de yazabilirsin
\
endscan
set textmerge to
set textmerge off

10

Re: dos foxpro2.6 hakkında yardım.

Bencede sen en iyisi yazdığın VFP kodunu gönder onun üzerinden yardımcı olmaya çalışalım.

11

Re: dos foxpro2.6 hakkında yardım.

Çetin arkadaşım ilgilendiğin için çok sağolasın forumun ilk başında hangi programı kullandığımı ve data uzantılarını yazmıştım. DOS altında çalışan FOXPRO2.6 kullanıyorum
data dostası uzantısı .DBF  Program uzantısı .PRG

şöyle diyeyim  BORDRO.DBF    yi  BORDRO.TXT   formatına nasıl çeviririm bu BORDRO.TXT yi EXCEL de bilgi alması için kullanıyorum.

12

Re: dos foxpro2.6 hakkında yardım.

excel .dbf dosyalarını zaten direk açar ki...

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

13

Re: dos foxpro2.6 hakkında yardım.

Fox26 vs kisimlarini zaten soyledin de EXCEL gerekli bilgiydi:)
Excel Metinin dedigi gibi fox2x dosyasini dogrudan acar ve zaten VFPde bile Excel'e aktarmak icin onerilen yollardan birisi fox2x tipinde dbf saklamak:)
Text yoluyla yapmak istersen (basliklar yok):
copy to data.csv type delimited && csv uzantisi explorerda dogrudan Excel dosyasi gibi gorunup cift klikle acilmasi saglar

14

Re: dos foxpro2.6 hakkında yardım.

Uzun bir yol ama bir incele istersen

myhandle = FCreate("Bordro.Txt")
If myHandle < 0
   WAIT WIND "Txt dosyası yaratılamadı."
   CANCEL
EndIF
CRLF = Chr(13)+Chr(10)
myDelimeter = " "
Select Bordro
Go Top
Do While !Eof()
   = FWrite(myHandle,Bordro.Alan1+myDelimeter)                               && Char alan
   = FWrite(myHandle,Tran(Bordro.Alan2,"###,###")+myDelimeter)    && Num alan
   = FWrite(myHandle,DToC(Bordro.Alan3)+myDelimeter)                     && Tarih alanı
*/.....
   SKIP
EndDo
= FClose(myHandle)

Burada myDelimeter = " " yerine TAB yani myDelimeter = Chr(9) dersen bu kez TAB DELIMETED olarak excele alabilirsin.
Umarım işine yarar. Kolay gelsin.

15

Re: dos foxpro2.6 hakkında yardım.

ÖZÜR deminki kod içinde


   SKIP
EndDo


yerine lütfen şu satırı da ekle.

   = FWrite(myHandle,CRLF)
   SKIP
EndDo

Bu satır atlamasını sağlar.

16

Re: dos foxpro2.6 hakkında yardım.

Cevap yazan arkadaşlara çok teşekkür ederim. cetinbasoz arkadaşımın texmerge komutu bu sorunumu çözdü. Çetin arkadaşım field alanlar arasında 1 boşluk nasıl bırakabilirim. Bunu içinde bir komut yazabilirmisin.

17

Re: dos foxpro2.6 hakkında yardım.

cetinbasöz arkadaşım aşağıdaki komut işimi gördü sizcede uygundur.

\\ <<" ">>

Foruma katılıp cevap veren arkadaşlara sonsuz teşekkür  ederim.

18

Re: dos foxpro2.6 hakkında yardım.

river arkadaşımada çok teşekkür ederim.Bir işin birçok yolu olduğunu öğrendim. Programınızı kendime uyarladım ve işimi yaptım.
------------------------------------------------------------------------------
clea
myhandle=FCreate("norm10.txt")
If myHandle < 0
    WAIT WIND "Text dosyas  yarat lamad ."
    CANCEL
EndIF
CRLF= Chr (13)+Chr(10)
myDelimeter=" "
USE ISYERI
= FWrite (myHandle,IS_SICIL+myDelimeter)
= FWrite (myHandle,KONT_NO+myDelimeter)
= FWrite (myHandle,ARAC_NO+myDelimeter)
= FWrite (myHandle,UNVAN+myDelimeter)
= FWrite (myHandle,ADRES+myDelimeter)
= FWrite (myHandle,VERGI_NO+myDelimeter)
= FWrite (myHandle,DON_YIL+myDelimeter)
= FWrite (myHandle,DON_AY+myDelimeter)
= FWrite (myHandle,MAHIYET+myDelimeter)
= FWrite (myHandle,CRLF)
USE PERSONEL
Go Top
Do While !Eof()
= FWrite (myHandle,BELGE_TUR+myDelimeter)
= FWrite (myHandle,KANUN_NO+myDelimeter)
= FWrite (myHandle,STR(S_SICIL,13)+myDelimeter)
= FWrite (myHandle,STR(TCK_NO,11)+myDelimeter)
= FWrite (myHandle,AD+myDelimeter)
= FWrite (myHandle,SOYAD+myDelimeter)
= FWrite (myHandle,ILK_SOY+myDelimeter)
= FWrite (myHandle,STR(PEK,18,2)+myDelimeter)
= FWrite (myHandle,STR(GUN,2)+myDelimeter)
= FWrite (myHandle,G_GUN+myDelimeter)
= FWrite (myHandle,C_GUN+myDelimeter)
= FWrite (myHandle,STR(UIG,2)+myDelimeter)
= FWrite (myHandle,STR(UIPEK,11,2)+myDelimeter)
= FWrite (myHandle,EGN+myDelimeter)
= FWrite (myHandle,ICN+myDelimeter)
= FWrite (myHandle,CRLF)
SKIP
EndDo
= FClose(myHandle)     
CloseAll
-----------------------------------------------------------------------------------

CLEA
SET TALK OFF
SET ECHO OFF
SELE 1
USE ISYERI
SELE 2
USE PERSONEL
SET TEXTMERGE TO NORM10.TXT NOSHOW
   SELE 1
SET TEXTMERGE ON
\\<<IS_SICIL>>
\\<<" ">>
\\<<KONT_NO>>
\\<<" ">>
\\<<ARAC_NO>>
\\<<" ">>
\\<<UNVAN>>
\\<<" ">>
\\<<ADRES>>
\\<<" ">>
\\<<VERGI_NO>>
\\<<" ">>
\\<<DON_YIL>>
\\<<" ">>
\\<<DON_AY>>
\\<<" ">>
\\<<MAHIYET>>
\
SELE 2
SCAN
\\<<BELGE_TUR>>
\\<<" ">>
\\<<KANUN_NO>>
\\<<" ">>
\\<<STR(S_SICIL,13)>>
\\<<" ">>
\\<<STR(TCK_NO,11)>>
\\<<" ">>
\\<<AD>>
\\<<" ">>
\\<<SOYAD>>
\\<<" ">>
\\<<ILK_SOY>>
\\<<" ">>
\\<<STR(PEK,18,2)>>
\\<<" ">>
\\<<STR(GUN,2)>>
\\<<" ">>
\\<<G_GUN>>
\\<<" ">>
\\<<C_GUN>>
\\<<" ">>
\\<<STR(UIG,2)>>
\\<<" ">>
\\<<STR(UIPEK,11,2)>>
\\<<" ">>
\\<<EGN>>
\\<<" ">>
\\<<ICN>>
\
ENDSCAN
SET TEXTMERGE TO
SET TEXTMERGE OFF
CLOSE ALL
CLEA

19

Re: dos foxpro2.6 hakkında yardım.

işinizi gördüğüne sevindim.
Kolay gelsin

20

Re: dos foxpro2.6 hakkında yardım.

SAROS yazdı:

Cevap yazan arkadaşlara çok teşekkür ederim. cetinbasoz arkadaşımın texmerge komutu bu sorunumu çözdü. Çetin arkadaşım field alanlar arasında 1 boşluk nasıl bırakabilirim. Bunu içinde bir komut yazabilirmisin.


Textmerge'un guzelligi bosluk ve sabit texti istedigin gibi kullanabilmen.

? yerine \
?? yerine \\
kullaniyorsun. << >> arasinda olmayan hersey (bosluklar dahil) senin yazdigin gibi). Ornek:

\Tarih: <<date()>> saat <<time()>>.
\Dosyadaki kayit sayisi reccount() komutuyla bulunur. Su anda acik olan dosyada <<reccount()>>
\\ sayida kayit var.

gibi.

21

Re: dos foxpro2.6 hakkında yardım.

USE PERSONEL
SET TEXTMERGE TO NORM10.TXT NOSHOW
   SELE 1
SET TEXTMERGE ON
\\<<IS_SICIL>>
\\<<" ">>
\\<<KONT_NO>>
\\<<" ">>
\\<<ARAC_NO>>
\\<<" ">>
\\<<UNVAN>>
\\<<" ">>
\\<<ADRES>>
\\<<" ">>
\\<<VERGI_NO>>
\\<<" ">>
\\<<DON_YIL>>
\\<<" ">>
\\<<DON_AY>>
\\<<" ">>
\\<<MAHIYET>>
\

Yerine:
USE PERSONEL
SET TEXTMERGE TO NORM10.TXT NOSHOW
   SELE 1
SET TEXTMERGE ON
\\<<IS_SICIL>> <<KONT_NO>> <<ARAC_NO>> <<UNVAN>> <<ADRES>> <<VERGI_NO>>
\\ <<DON_YIL>> <<DON_AY>> <<MAHIYET>>
\

Daha kisa.

22

Re: dos foxpro2.6 hakkında yardım.

Bu arada select 1, select 2 komutlar kullanma. Onun yerine acikca dosya aliaslarini yaz:

select Personel
select Bordro

gibi.

23

Re: dos foxpro2.6 hakkında yardım.

Cetin arkadaşım gerekli kısaltmaları yaptım tabiki daha şık oldu çok sağolasın.