1

Konu: memo field

adet  Cins  Bir.fiyat     toplamtl
-----  ----   ----------    ----------     
2      yağ     10              20
3       su       5               15

şeklinde fieldleri olan bir DBF deki kayıtları başka bir DBF nin  Memo alanına

sele urunler
do while !eof()
sele musteri
replace açıklama with urunler.adet+"adet"+urunler.cins+urunler.toplamtl+"tl den"+;
"toplam"+urunler.toplamtl+chr(13)
sele urunler
skip
enddo
sele urunler
zap

şeklinde yazdırıyorum. 

Sözkonusu memo alanda
2 adet yağ 10 TL den toplam 20 Tl
3 adet su  5 TL den toplam 15 tl

şeklinde görünüyor. Sorum şu. memo alana kaydettiğim bu bilgileri tekrar urunler
DBF'e nasıl kaydedebilirim(önceki işlemin tam tersi). Yada memo alandaki bilgiyi yine satırlar halinde CSV formatında kaydedebilirmiyim?

Teşekkürler

2

Re: memo field

Visual Fox Pro
SELE musteri

SCAN
*adet  Cins  Bir.fiyat     toplamtl
*-----  ----   ----------    ----------     
*2      yağ     10              20
*2 adet yağ 10 TL den toplam 20 Tl
*açıklama yerine aklama yaptım, ı harfi iyi olmuyor
*SUBS içerisindeki rakamlar düzeltilir
*urunler ZAPlı yani 1- exclusive açılmış, 2-boş ve eklenmeye hazır.
INSERT INTO urunler VALUES ( VAL(LEFT(musteri.aklama ,2)), ;
                                              SUBS(musteri.aklama ,7,4),;
                                              VAL(SUBS(musteri.aklama ,11,2)),;
                                              VAL(SUBS(musteri.aklama ,28,2)) )
ENDSCAN
VFP9 SP2

3

Re: memo field

Konuka,
SUBSTR olmaz, çünkü sürekliliği yoktur. Yani herbir satırdaki kayıtların uzunlukları farklı olabilecektir.
Teşekkürler

4

Re: memo field

Her ikiside aynı işlevi görüyor. Anlayamadığım STRTRAN ile CHRTRAN arasında bir fark olup olmadığı ?

5

Re: memo field

Kullanmak istediğin bilgiler zaten Table da mevcut, neden bir daha ters çevirme işlemi yapıyorsun ki?

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

6

Re: memo field

hhasan55 yazdı:

Konuka,
SUBSTR olmaz, çünkü sürekliliği yoktur. Yani herbir satırdaki kayıtların uzunlukları farklı olabilecektir.
Teşekkürler


SUBSTR olur. kayıt uzunlukları aynı. farklı gibi görünmesinin sebebi windows fontunun sabit uzunluklu olmaması. yani bir i harfi ile o harfi ekranda aynı yeri kaplamıyor.

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

7

Re: memo field

hhasan55 yazdı:

Konuka,
SUBSTR olmaz, çünkü sürekliliği yoktur. Yani herbir satırdaki kayıtların uzunlukları farklı olabilecektir.
Teşekkürler


olur, memo field yazarken örneğin ALLTRIM(STR(999)) yazmayacaksın, STR(999,3,0) şeklinde belli format dahilinde yazacaksın.

diğer sorun dene bul:
?"2 adet yağ 10 TL den toplam 20 Tl"
?CHRTRAN("2 adet yağ 10 TL den toplam 20 Tl","adet","")
?STRTRAN("2 adet yağ 10 TL den toplam 20 Tl","adet","")

STRTRAN senin soruna çözüm oluyor.

VFP9 SP2

8

Re: memo field

ugurlu2001 yazdı:

Kullanmak istediğin bilgiler zaten Table da mevcut, neden bir daha ters çevirme işlemi yapıyorsun ki?


Hislerime tercuman oldun:)

9

Re: memo field

İlginize teşekkürler. Uğurlu2001 ve Çetin bey haklılar. Neden öyle yaptığıma gelince:
a.dbf, b.dbf   var. A'da müşteri bilgilerini (ad,adres,telefon vs) tutuyorum. B'de bu müşterilere yapılan satışları(kimin sattığı,satış zamanı,neden satış gerektiği vs) tutuyorum. Herbir müşteriye ortalama 10 parça mal satıldığını varsayarsak bunları ayrı ayrı rec'lere kaydetmem gerekiyor. Ben bunun yerine satılan malları textboxlar aracılığı ile önce bir cursor'a kaydedip, oradan B.dbf deki memo alana yazdırıyorum. Doğrudan memo'ya kaydetmememin sebebi ise birtakım hesaplamalardan geçmesi gerektiğidir.(KDV,iskonto , adet*fiyat, vs). Umarım anlatabilmişimdir. Siz olsanız nasıl yaparsınız ? Teşekkürler.

10

Re: memo field

Kisi basina 10 parcadan 10000 musterinin 100000 detay satirina ihtiyaci olur. Aynisini 10000 memo ile halletmeye calisiyorsun. Belki, o da belki, tek kazancin yer olur. Kayiplarini ise tahmin etmek guc, yapma derim. Bosu bosuna ileri geri cevrimlerde cabasi. Sadece saklayan, sonradan arama, hesap vs yapmayan bir sistemde belki olur.

Customer - A
Employee - Orders B
OrderDetails B memo?

gibi anladim.

Illaki yapicam dersen (ki ben o hatayi bir kere yaptim) o  zaman soyle yap:

CursorToXML() ile XML olarak al, sakla.
Goruntuleme, rapor vs yerlerde arada calisan bir metod olsun ve onu istedigin yaziya cevirsin (10 parca demissin, 100 bile olsa kisi basina milisaniyeler bazinda yapar o isi ve sonucta insan algilamasindan hizli gerektigi zaman yaziya cevrilir) - ben XSL yazmistim bir tane XML dogrudan XSL ile acilinca yazi cikiyor ama gercekte yazi kalibi ve data (xsl/xml) ayri.

11

Re: memo field

Çetin bey öneriniz üzerinde çalışacağım. Teşekkürler

12

Re: memo field

Öncelikle şunu belirteyim. XML hakkında hiç bilgim yok.

FTP lerde fazlaca sorun çıkmaya başladı. O nedenle Çetin'in önerdiği XML dosya ile
çalışma yapmak adına öğrenmek istediklerim ;

1- Texbox'daki bir değeri doğrudan XML'e yazabilirmiyim ?  yoksa önce dbf'ye yazıp sonramı XML'e (CursorToXML) yazmak gerekiyor.
2- XML'den belli bir veriyi alabilirmiyim ? Yoksa XML den cursor'a aktarıp mutlaka bu cursor üzerinden mi çalışmam gerekiyor.
Bir örnek verirseniz daha da memnun olurum tabiki !!

Teşekkürler