ผู้เขียน หัวข้อ: Function YindeeReplaceStr  (อ่าน 9755 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ naj

  • Hero Member
  • *****
  • กระทู้: 2,449
  • Respect: +9
    • ดูรายละเอียด
    • http://www.luangphopern-hospital.com
Function YindeeReplaceStr
« เมื่อ: กุมภาพันธ์ 17, 2009, 12:18:04 PM »
0
สำหรับท่านใดที่เคยใช้ function GetSQLSubQueryData(sql) ข้อมูลที่ได้จะเป็น 'xxxx','yyyy','zzzzz'  ซึ่งบางครั้งผู้ใช้อยากให้เครื่องหมาย ' ' หายไป โดยให้แสดงเป็น xxx,yyyy,zzzzz
จากที่เคยเรียนรู้เรื่องการสร้าง Function ขึ้นใช้เองใน Report Designer วันนี้มารู้จัก Function YindeeReplaceStr
Str คือ ข้อความ
o คือ เครื่องหมายหรือสิ่งที่อยู่ในข้อความเดิมที่ต้องการแทนที่
n คือ เครื่องหมายหรือสิ่งที่อยู่ในข้อความใหม่ที่ต้องการแทนที่แทนของเดิม
ยกตัวอย่าง เช่น  ผมต้องการแทนที่ 1 ด้วย a
ข้อมความ  str='123451';
YindeeReplaceStr(str,'1','a');
จะได้ str='a2345a'
โค๊ด: Pascal
  1. Function YindeeReplaceStr(Str,o,n:string):string;
  2. var
  3. np,nl:integer;
  4. begin
  5. np:=pos(o,Str);
  6. nl:=length(o);
  7. while (np >0) do
  8. begin
  9. delete(Str,np,nl);
  10. insert(n,Str,np);
  11. np:=pos(o,Str);
  12. end;
  13. Result:=Str;
  14. end;
ตัวอย่างตามรูปที่แนบมาครับ
« แก้ไขครั้งสุดท้าย: กุมภาพันธ์ 17, 2009, 12:38:15 PM โดย naj »
Yindee And Tan

ออฟไลน์ SrWooD

  • Hero Member
  • *****
  • กระทู้: 1,024
  • Respect: +1
    • ดูรายละเอียด
Re: Function YindeeReplaceStr
« ตอบกลับ #1 เมื่อ: กุมภาพันธ์ 17, 2009, 12:45:59 PM »
0
ขอบคุณครับ

สุดยอดเลยครับ

 ;D ;D ;D
โรงพยาบาลโพธิ์ทอง จังหวัดอ่างทอง

doramon

  • บุคคลทั่วไป
Re: Function YindeeReplaceStr
« ตอบกลับ #2 เมื่อ: กุมภาพันธ์ 17, 2009, 17:30:16 PM »
0
สำหรับท่านใดที่เคยใช้ function GetSQLSubQueryData(sql) ข้อมูลที่ได้จะเป็น 'xxxx','yyyy','zzzzz'  ซึ่งบางครั้งผู้ใช้อยากให้เครื่องหมาย ' ' หายไป โดยให้แสดงเป็น xxx,yyyy,zzzzz
จากที่เคยเรียนรู้เรื่องการสร้าง Function ขึ้นใช้เองใน Report Designer วันนี้มารู้จัก Function YindeeReplaceStr
Str คือ ข้อความ
o คือ เครื่องหมายหรือสิ่งที่อยู่ในข้อความเดิมที่ต้องการแทนที่
n คือ เครื่องหมายหรือสิ่งที่อยู่ในข้อความใหม่ที่ต้องการแทนที่แทนของเดิม
ยกตัวอย่าง เช่น  ผมต้องการแทนที่ 1 ด้วย a
ข้อมความ  str='123451';
YindeeReplaceStr(str,'1','a');
จะได้ str='a2345a'
โค๊ด: Pascal
  1. Function YindeeReplaceStr(Str,o,n:string):string;
  2. var
  3. np,nl:integer;
  4. begin
  5. np:=pos(o,Str);
  6. nl:=length(o);
  7. while (np >0) do
  8. begin
  9. delete(Str,np,nl);
  10. insert(n,Str,np);
  11. np:=pos(o,Str);
  12. end;
  13. Result:=Str;
  14. end;
ตัวอย่างตามรูปที่แนบมาครับ


มาอีกแล้ว

ออฟไลน์ thannawe

  • Hero Member
  • *****
  • กระทู้: 2,904
  • Respect: +8
    • ดูรายละเอียด
Re: Function YindeeReplaceStr
« ตอบกลับ #3 เมื่อ: กุมภาพันธ์ 17, 2009, 17:42:27 PM »
0
มาอีกแล้ว ท่านเทพในตำนาน
กิจจา ชาญธัญกรรม
นักวิชาการคอมพิวเตอร์ชำนาญการ รพ.โพธาราม จ.ราชบุรี
็HOSxP XE

doramon

  • บุคคลทั่วไป
Re: Function YindeeReplaceStr
« ตอบกลับ #4 เมื่อ: กุมภาพันธ์ 17, 2009, 17:43:19 PM »
0
มาอีกแล้ว ท่านเทพในตำนาน

อ. นาจ ไม่ชอบ ตำนาน 

เพราะว่า  ?????

ออฟไลน์ thannawe

  • Hero Member
  • *****
  • กระทู้: 2,904
  • Respect: +8
    • ดูรายละเอียด
Re: Function YindeeReplaceStr
« ตอบกลับ #5 เมื่อ: กุมภาพันธ์ 17, 2009, 17:51:14 PM »
0
อ.นาจ ไม่ชอบตำนาน  แสดงว่า ชอบตำแป๊ปเดียว!! :D ;D :D ;D :D
กิจจา ชาญธัญกรรม
นักวิชาการคอมพิวเตอร์ชำนาญการ รพ.โพธาราม จ.ราชบุรี
็HOSxP XE

doramon

  • บุคคลทั่วไป
Re: Function YindeeReplaceStr
« ตอบกลับ #6 เมื่อ: กุมภาพันธ์ 17, 2009, 17:52:10 PM »
0
ส่วนใหญ่  คนที่เป็นตำนาน จะไม่อยู่แล้ว   :'(