ورود

View Full Version : راهنمایی در خصوص فایل با پسوند cds



jalalniknam
جمعه 29 دی 1385, 21:52 عصر
با سلام خدمت اساتید و دوستان
اگه ممکنه توضیحی کوتاه در خصوص فایل با پسوند cds و چگونگی ساخت و ویرایش اینگونه فایل ها در fox تحت داس مرقوم بفرمایین .............
و ضمنا" این مطلب رو هم اضافه کنم که هدف از این سوال اینه که اطلاعات شماره حساب و مبلغ چند نفر رو از طریق فاکس تحت داس در یه تیبل ذخیره کردیم .. حالا میخوایم خروجی این اطلاعات بصورت یکجا در یه فایل با پسوند cds باشه ............ پیشاپیش ممنون از جواب شما

rezaTavak
شنبه 30 دی 1385, 07:28 صبح
این پسوند چه برنامه ای است؟

arshia_
شنبه 30 دی 1385, 07:41 صبح
من جستجو کردم دیدم این پسوند ممکنه یکی از موارد زیر باشه:
ChemDraw Stationery Document (http://www.cambridgesoft.com/)
Delphi TClientDataset Data (http://www.borland.com/delphi/)
United States Postal Service Computerized Delivery Sequence (http://ribbs.usps.gov/)
گمون نکنم ربطی به فاکس پرو داشته باشه

rezakhj
شنبه 30 دی 1385, 07:48 صبح
copy to filename.cds SDF
اگر خروجی فایل تحت داس مورد نظر باشد با دستور بالا مشکل حل میشود

jalalniknam
شنبه 30 دی 1385, 14:26 عصر
با سلام و تشکر از پاسخ دوستان
بذار من خودم یه خورده بیشتر توضیح بدم که این برنامه و این فایل رو کجا دیدم:
ما یه برنامه با فاکس تحت داس داریم که خروجی این برنامه برا اون قسمتی که مربوط به پرداخت و واریز یه سری حقوق و مزایای افراد برا واریز به حساب بانک هست رو توسط فایلی با پسوندی که گفتم (cds) میده و این فایل رو هم که وقتی تو edit داس و یا notepad ویندوز باز میکنیم مثل یه فایل متنی هست به این شکل:
10001289000120000
10001395000130000
10001999000150000
که در حقیقت بعد از بعد از اون چند تا صفر اولی شماره حساب فرده و اون آخری ها بعد از صفرها نیز مبلغ مورد نظره.........
من هدفم از سوال اینه که چطور میشه با فاکس تحت داس این فایل رو ویرایش کرد و یا ساخت و یا اونکه درون فایل ساخته شده رکوردی رو حذف و یا ویرایش کرد.......................
مرسی از توجه و محبت شما

mehran_337
شنبه 30 دی 1385, 15:22 عصر
احتمالااین فقط فایل متنی که خود برنامه تولید می کنه و پسوندشو تعریف می کنه.
و شما می تونید از توابع سطح پایین برای باز کردن و ویرایش اینها استفاده کنید.

javad_hosseiny
شنبه 30 دی 1385, 18:17 عصر
احتمالااین فقط فایل متنی که خود برنامه تولید می کنه و پسوندشو تعریف می کنه.
دقیقا البته بسته به نرم افزار مربوطه (که معمولا در بانکها و مؤسسات مالی است) که می خواهد این فایل را بخواند فورمت محتوی و پسوند آن را مشخص می کند ولی در حقیقت یک فایل متنی بیش نیست.
و معمولا در برنامه های حقوق و دستمزد که می خواهند خروجی دیسکت بانک تهیه شود از این امکان باید بهره مند باشد
(که به راحتی توسط توابع سطح پایین فایل (fcreate , fputs, fclose) می تونید اون رو مدیریت کنید)
من چندین نمونه برای بانکهای مختلف (صادرات، تجارت و ...) در خروجی برنامه ام داشته ام معمولا هر کدام به فرومت خاصی که البته اعلام می کنند فایل موردنظر را می خواهند:
به طور نمونه جهت ایجاد دیسکت بانک برای بانک صادرات:
خط اول: 10 رقم صفر + تعداد ردیفهای فایل 5رقم+ مبلغ کل فایل 15رقم+ تاریخ6رقم+سری فایل ارسالی 4 رقم+ کد دسته 4 رقم+ کد شعبه 4 رقم
خط دوم به بعد:
15رقم صفر + مبلغ 15 رقم+ شماره حساب 13 رقم+ ردیف 5 رقم
و البته نام فایل که می باید کد دسته + کد شعبه باشد با پسوند شماره سری ارسالی
و همچنین در مورد سایر بانکها و ....

jalalniknam
شنبه 30 دی 1385, 22:00 عصر
با سلام و تشکر
ممنونم از توضیحاتی که ارائه فرمودین....................
اگه بخوام از این توابع شما(که به راحتی توسط توابع سطح پایین فایل (fcreate , fputs, fclose) می تونید اون رو مدیریت کنید)
استفاده کنم ..... آخه من بیشتر با اکسس کار کردم نه با فاکس... توضیحات چگونگی عملکرد و استفاده از این توابع و ویرایش این فایل مورد نظر من توی فاکس تحت داس هست یا نه ؟

jalalniknam
شنبه 30 دی 1385, 22:21 عصر
و ضمنا" اگه براتون امکان داشت و تنبلی به حساب نیاد خواستم بگم .. فرض کنید من الان یه جدول dbf با فاکس تحت داس دارم که کلیه موارد مورد نیاز برای هر رکورد رو در اون ذخیره کردم و یک فایل با پسوند cds هم در برنامه دارم که میخوام چند تا کار انجام بدم :
1- فایل cdsرو مشاهده کنم که چه محتویاتی داره
2- محتویات قلی رو پاک کنم
3- اطلاعات جدید در اون dbf رو در اون ذخیره کنم
اگه................ و اگه .............. براتون امکان داشت (خصوصا" جناب آقای جواد حسینی ) چگونگی استفاده از توابع مورد اشاره رو در خط برنامه مرقوم بفرماین... اگه هم درخواست اضافی کردم .. معذرت میخوام

mehran_337
یک شنبه 01 بهمن 1385, 08:08 صبح
این کد را ببین یک فایل را بهش بده برات باز می کنه


*
creat cursor temp (a1 c(254))
OLD = FOPEN(GETFILE()) && ÈÇÒ˜ÑÏä í˜ ÝÇíá ÊæÓØ ÊæÇÈÚ ÓØÍ Çííä
DO WHILE .NOT. FEOF(OLD)
REC = CHRTRAN(FGETS(OLD), CHR(12), CHR(32))
APPEND BLANK
REPLACE a1 WITH REC
ENDDO

IF RECC() = 0
SELE 10
USE
RETU
ENDI

= FCLOSE(OLD) && ÈÓÊä í˜ ÝÇíá ÊæÓØ ÊæÇÈÚ ÓØÍ Çííä

brow

javad_hosseiny
یک شنبه 01 بهمن 1385, 08:48 صبح
1- فایل cdsرو مشاهده کنم که چه محتویاتی دارهاز نمونه کد ارائه شده توسط آقا مهران می تونید استفاده کنید و یا اینکه از دستور

modi file "filename"
می تونید استفاده کنید تا فایل موردنظر را در محیط متنی ملاحظه کنید

2- محتویات قبلی رو پاک کنماین فایل یک فایل دیتابیسی یا ... نیست که بخواهید یکسری رکورد خاص را حذف کنید کافی است تا فایل موردنظر را حذف کنید

erase "filename"

- اطلاعات جدید در اون dbf رو در اون ذخیره کنبرای اینکار باید یه حداقل آشنایی با دستورات و توابع فاکس باید داشته باشید برای نمونه بنده یه نمونه کد که برای تهیه خروجی دیسکت بانک برای یکی از برنامه های قدیمی ام بود را اینجا قرار می دهم


PROCEDURE disk_bank
_rec = RECNO()
GOTO TOP

nfile = '17010616.001' && 1701 code shobeh , 0616 code dasteh
fl1 = FCREATE(nfile)
WAIT WINDOW NOWAIT 'سیستم در حال تهیه دیسکت بانک لطفا برای لحظاتی صبر کنید'
iz = 1
_jamprice = 0
do while !eof()
_jamprice = _jamprice + A38 && a38 filed for jamhogogh of personal
iz = iz + 1
skip
enddo
_ctx = iz -1
_dat = chrt(right(m2sh(date()),8),' /','0')
satr1 = '170106160001'+ _dat+ chrt(s_p(_jamprice,15),' ','0') + chrt(s_p(_ctx,5),' ','0')+'0000000000'
=fputs(fl1,satr1)
GO TOP
iz = 1
DO WHILE .NOT. EOF()
&& a03 number of hsab banki
&& a38 price for hoghogh personel
satr = chrt(s_p(iz,5),' ','0') + a03 +CHRTRAN(s_p(a38,15), ' ', '0') + '000000000000000'
= FPUTS(fl1, satr)
iz = iz + 1
SKIP
ENDDO
= FCLOSE(fl1)
GOTO _rec
WAIT CLEAR