PDA

View Full Version : راهنمایی در مورد اصلاح رشته ها



Delphi7_love
جمعه 29 فروردین 1393, 13:41 عصر
با سلام خدمت دوستان
من میخوام داخل برنامه ام بعد از ثبت فاکتور یه اسمس به خریدار ارسال شه
البته قبل از ثبت فاکتور کاربر میاد متن ارسالی اسمس رو یکبار داخل برنامه مشخص میکنه

مثلا میزنه :

آقای FieldName فاکتور شما با مبلغ Fieldname2 ثبت شد
که فیلد هارو از لیست فیلد ها انتخاب میکنه

حالا این داخل جدول تنظیمات ثبت شده و بعد از ثبت فاکتور باید بره با این فرمت یک اسمس به خریدار ارسال کنه
چطور میتونم مقادیر فیلدهارو از جدول فاکتور از روی این رشته بردارم
نکته : ممکنه 1 فیلد ، یا بیشتر یا کمتر انتخاب شده باشه
با تشکر

یوسف زالی
جمعه 29 فروردین 1393, 15:35 عصر
سلام.
با یک حلقه ساده.
روی فیلد های دیتاستتون حلقه می زنید، اسم هاشون رو در متن جستجو می کنید، به جاش مقدار فیلد رو می گذارید.

Delphi7_love
جمعه 29 فروردین 1393, 16:06 عصر
از پاسخ شما سپاسگزارم
تا اینجا پیش رفته بودم
یعنی اسم فیلدهارو از رشته در آوردم و با توجه به اونا سلکت کردم حالا شما فرض کنید من خروجی رو در یک رکورد گرفتم
- حالا چطور با توجه به فیلدهای موجود در رشته ، بیام هر مقدار رو داخل یک کتغیر بریزم و ازش استفاده کنم؟

یوسف زالی
جمعه 29 فروردین 1393, 16:08 عصر
متوجه منظور من نشدید پس. در متنتون مقادیر رو جایگزین اسامی کنید. همین!

Delphi7_love
جمعه 29 فروردین 1393, 16:14 عصر
خوب همین مقادیر رو از کجا باید بیارم ؟ من که نمیدونم کاربر کدوم فیلدهارو میخواد داخل متن بیاره

Delphi7_love
جمعه 29 فروردین 1393, 16:17 عصر
این هم کدی که نوشتم
---سلام فاکتور شما با شماره @sh_Fact| در تاریخ @Date_Fact| ثبت شد
declare @n nvarchar(250) , @i int , @i2 int, @f nvarchar(50)
, @FieldName nvarchar(100)
select @n= noe from tbl_psmsParametr where id=1

set @i=1
set @f=''
set @FieldName=''
while (@i<=len(@n))
begin
if (SUBSTRING(@n,@i,1)='@')
begin
set @i2=@i
while (@i2<=len(@n))
begin
if (SUBSTRING(@n,@i2,1)<>'@' and SUBSTRING(@n,@i2,1)<>'|' )
set @f=@f+ SUBSTRING(@n,@i2,1)

set @i2=@i2+1
if (SUBSTRING(@n,@i2,1)='|') break
end
if @FieldName<>'' set @FieldName=@FieldName+', '
set @FieldName=@FieldName+@f
set @f=''

end

set @i=@i+1
end

print @FieldName

Delphi7_love
جمعه 29 فروردین 1393, 21:14 عصر
کسی نیست کمکم کنه؟