View Full Version : نتونستم دیسکتهای بیمه رو ایجاد کنم
maisam57
چهارشنبه 19 مهر 1385, 07:43 صبح
با سلام خدمت دوستان
آقا من متاسفانه نتونستم که این دیسکتهای بیمه رو ایجاد کنم اتفاقا بچه ها واسم دوتا فایلشو گذاشتن ولی نمیدونم چطوری تبدیل به داسشون کنم یعنی فایلهای dbf و روی دسکت بریزمشون
با تشکر از شما
mehdi_mohamadi
چهارشنبه 19 مهر 1385, 07:54 صبح
شما باید از تابعی که اطلاعات را از ویندوز به داس میبره استفاده کنید و با یه مدیریت ساده این کار را انجام بدید
sarvestan
چهارشنبه 19 مهر 1385, 08:08 صبح
ببخشید ولی اینایی که نوشتی یعنی چی؟
میتونی توضیح بدی؟
mehdi_mohamadi
چهارشنبه 19 مهر 1385, 08:44 صبح
من یه تابع داشتم که دقیقا" واسه همین کار ازش در یه برنامه حقوق و دستمزد استفاده کردم و کاملا" جواب داد در اولین فرصت تابع را واستون می فرستم
maisam57
چهارشنبه 19 مهر 1385, 11:54 صبح
آقا من خیلی خیلی عجله دارم و همیشه بچه های سایت بمن لطف داشتم
من فایلاش به اضافه تابعشو دارم ولی نمیدونم چطوری تبدیلش کنم
با تشکر
mehdi_mohamadi
چهارشنبه 19 مهر 1385, 12:11 عصر
خدمت آقا میثم
امیدوارم به دردت بخوره
function WinToDosStr(WinStr:string):string;
var Nflag :boolean;
Ch : Char;
T,N,M,I,J,DosI :integer;
TmpStr,Str1,Str2 :String;
DosSt :String;
begin
DosSt:='';
// M:=length(WinStr);
// for I:=1 to M do
// if ord(winstr[i])=157 then
// WinStr[i]:=' ';
WinStr:=WinStr+' ';
M:=length(WinStr);
for I:=1 to M do
DosSt:=DosSt + #32;
DosI:=M;
Str1:='';
for I:=1 To M do
begin
Nflag:=False;
case WinStr[i] Of
' ' :Begin
Ch:=#32;
end;
'.','0' .. '9'
: begin
Ch:=chr(ord(WinStr[i])+80);
if (WinStr[i])='.' then
ch:=#140;
str1:=str1+ch;
Nflag:=true;
ch:=#0;
end;
'a' .. 'z',
'A' .. 'Z'
: begin
Ch:=WinStr[i];
str1:=str1+ch;
Nflag:=true;
ch:=#0;
end;
'Â' :begin
ch:=#141;
end;
'Æ' :Begin
Ch:=#142;
end;
'Á' :Begin
Ch:=#143;
end;
'Ç' :begin
Ch:=#145;
if((WinStr[i-1]=' ')or
(WinStr[i-1]=#157)or
(WinStr[i-1]='Ç')or
(WinStr[i-1]='æ')or
(WinStr[i-1]='Ï')or
(WinStr[i-1]='Ð')or
(WinStr[i-1]='Ñ')or
(WinStr[i-1]='Ò')or
(WinStr[i-1]='Ž')or
(i=1 )
)
then
ch:=#144;
end;
'È' : begin
Ch:=#147;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
Ch:=#146;
end;
'پ' : begin
Ch:=#149;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
Ch:=#148;
end;
'Ê' :begin
Ch:=#151;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
Ch:=#150;
end;
'Ë' :begin
Ch:=#153;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
ch:=#152
end;
'Ì' :begin
Ch:=#155;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
ch:=#154
end;
'چ' :begin
Ch:=#157;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
ch:=#156;
end;
'Í' :begin
Ch:=#159;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
ch:=#158;
end;
'Î' :begin
Ch:=#161;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
ch:=#160;
end;
'Ï' :begin
Ch:=#162;
end;
'Ð' :begin
Ch:=#163;
end;
'Ñ' :begin
Ch:=#164;
end;
'Ò' :begin
Ch:=#165;
end;
'Ž' :begin
Ch:=#166;
end;
'Ó' :begin
Ch:=#168;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
Ch:=#167;
end;
'Ô' :begin
Ch:=#170;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
ch:=#169;
end;
'Õ' :begin
Ch:=#172;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
ch:=#171;
end;
'Ö' :begin
Ch:=#174;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
ch:=#173;
end;
'Ø' :begin
ch:=#175 ;
end;
'Ù' :begin
ch:=#224
end;
'Ú' :begin
Ch:=#227;
if((WinStr[i-1]=' ')or
(WinStr[i-1]=#157)or
(WinStr[i-1]='Ç')or
(WinStr[i-1]='æ')or
(WinStr[i-1]='Ï')or
(WinStr[i-1]='Ð')or
(WinStr[i-1]='Ñ')or
(WinStr[i-1]='Ò')or
(WinStr[i-1]='Ž')or
(i=1) )
then
ch:=#228;
if ((WinStr[i+1]=' ') or (i=M)) then
if (ch=#228) then
ch:=#225
else
ch:=#226;
end;
'Û' :begin
Ch:=#231;
if((WinStr[i-1]=' ')or
(WinStr[i-1]=#157)or
(WinStr[i-1]='Ç')or
(WinStr[i-1]='æ')or
(WinStr[i-1]='Ï')or
(WinStr[i-1]='Ð')or
(WinStr[i-1]='Ñ')or
(WinStr[i-1]='Ò')or
(WinStr[i-1]='Ž')or
(i=1) )
then
ch:=#232;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
if (ch=#232) then
ch:=#229
else
ch:=#230;
end;
'Ý' :begin
Ch:=#234;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
ch:=#233;
end;
'Þ' :begin
Ch:=#236;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
ch:=#235;
end;
'ß' :begin
Ch:=#238;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
ch:=#237;
end;
'�' :begin
Ch:=#240;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
ch:=#239 ;
end;
'á' :begin
Ch:=#243;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
ch:=#241;
end;
'ã' :begin
Ch:=#245;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ') or (WinStr[i+1]='Â')) then
ch:=#244;
end;
'ä' :begin
Ch:=#247;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
ch:=#246;
end;
'æ' :begin
ch:=#248 ;
end;
'å' :begin
Ch:=#250;
if((WinStr[i-1]=' ')or
(WinStr[i-1]=#157)or
(WinStr[i-1]='Ç')or
(WinStr[i-1]='æ')or
(WinStr[i-1]='Ï')or
(WinStr[i-1]='Ð')or
(WinStr[i-1]='Ñ')or
(WinStr[i-1]='Ò')or
(WinStr[i-1]='Ž')or
(i=1 ))
then
ch:=#251;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
ch:=#249;
end;
'í' :begin
Ch:=#254;
if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
ch:=#252;
if (ord(WinStr[i])=236)then
Ch:=#254;
end;
'Ü' :begin
ch:=#139 ;
end;
else
ch:=WinStr[i];
end;
if (Nflag=false) and(ch<>#0) and (DosI>0 )then
begin
N:=length(str1);
for j:=N downto 1 do
if (WinStr[i]<>#157) then
begin
DosSt[DosI]:=str1[j];
Dec(DosI);
end;
if (WinStr[i]<>#157) then
begin
DosSt[DosI]:=Ch; Dec(DosI);
end;
str1:='';
end;
end;
if (Nflag=True) and(ch=#0) and (DosI>0 )then
begin
N:=length(str1);
for j:=N downto 1 do
begin
DosSt[DosI]:=str1[j];
Dec(DosI);
end;
end;
WinToDosStr:=copy(DosSt,2,length(DosSt));
end;
--------------------
یه مثالم واسه استفادش
dostowinstriran(table1.fieldbyname('dsk_name').ass tring);
--------------------
ببخشید مثال شو اشتباهی فرستادم
table1.fieldvalues['year']:=wintodosstr(edit1.text);
این مثال درسته
javid_rally
دوشنبه 11 بهمن 1389, 19:42 عصر
با عرض سلام و خسته نباشی خدمت دوستان
من با دلفی 7 یک نرم افزار برای مطب نوشتم که حدود 2 ماه وقتمو گرفت ولی موقع تحویل متوجه شدم که دکتر باید اطلاعات بیمه رو به صورت یک فایل txt که اصطلاحا بهش میگن دیسکت بیمه تحویل بده.که اسمشم فکر کنم باید NOS1.txtباشه. من چند تا فایل txt که با نرم افزار های دیگه ساخته شده بود رو دیدم که متن عجیبی داشت منم ازش چیزی نفهمیدم بعد متوجه شدم که اداره بیمه این فایل رو بوسیله یک برنامه تحت dos باز میکنه .حالا من موندم چطوری یک همچین خروجی از برنامه ام بگیرم ؟البته چند تا سئوال دیگه هم دارم.
1. این فایل txt از report برنامه هست یا اطلاعات داخل بانک؟
2. چطور می تونم این فایل txt رو تو دلفی بسازم ؟
3. اطلاعاتی که بیمه میخواد باید بر اسا س فیلد ها و نام فیلد خاصی باشد؟یعنی نام فیلدها توسط بیمه تعریف شده و مشخص شده می باشد؟
4.برای این تبدیل از الگوریت خاصی باید تبعیت کرد؟
5. جریان این فایلها dbf چیه که تو بعضی از این تاپیک ها در بارش بحث میشه؟آخه چندتا نرم افزاری که من دیدم فایلی از این نوع نداشت ؟
در ضمن ممنون میشم اگر دوستان سورس و نمونه برنامه ای دارن بزارن . باتشکر فراوان
راستی اینم یکی از نرم افزارایی که گفتم البته رایگان دانلودش کردم فایل زیری هم فایل txtی که گفتم
http://rapidshare.com/files/445315338/Bimeh_Pardis_2.3.7.zip
ممنون میشم اگه زودتر جواب بدین خیلی وقته که دنبالشم و خیلی جاهارو گشتم ولی جواب مناسبی پیدا نکردم .
MOJTABAATEFEH
دوشنبه 11 بهمن 1389, 22:52 عصر
من یه تابع داشتم که دقیقا" واسه همین کار ازش در یه برنامه حقوق و دستمزد استفاده کردم و کاملا" جواب داد در اولین فرصت تابع را واستون می فرستم
دوست عزیز راجع به این تاپیک می تونید راهنمایی کنید؟
http://barnamenevis.org/showthread.php?269958-Decode-%DA%A9%D8%B1%D8%AF%D9%86-%D9%81%D8%A7%DB%8C%D9%84-%DA%AF%D8%B1%D8%AF%D8%B4-%D9%85%D8%A7%D9%84%DB%8C&highlight=
با تشکر
Alaleh
شنبه 21 اسفند 1389, 00:02 صبح
سلام. من برای کلینیک پرتونگاری برنامه نوشتم که همین کارو انجام میده، خواستین پیام خصوصی بدین به همراه شماره تا براتون توضیح بدم این چیه و باید چیکارش کنین!
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.