แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - farmonline

หน้า: 1 ... 5 6 [7] 8
301
ลองเอาตัวนี้ไปใช้ ชั่วคราวก่อน

302
การรวมกลุ่มกันได้เป็นสิ่งที่ดีครับ.. ;D ;D ;D
..แต่ก็อย่าไปเครียส มากครับ คิดมากก็ยิ่งกลุ้ม ทำในสิงที่ชอบและสบายใจก็มีความสุขครับ....
รักในสิ่งที่ทำ ทำในสิ่งที่รัก ก็มีความสุข ....

...เหอๆ  ;D ;D  จะว่าไปผมก็ไม่ได้จบ สาสุขฯ หรือ IT มาโดยตรงหรอกครับ.....
...จะมีตำแหน่งหรือไม่มีตำแหน่ง ส่วนตัวแล้วก็ไม่ได้ให้ความสำคัญเท่าไหร่ ....
ทุกวันนี้ก็พอใจแล้ว(หนีจาก กทม. มาอยู่บ้านเรา มาอยู่กับครอบครัว ทำในสิ่งที่ชอบ มีส่วนพัฒนาบ้านเกิดชีวิตนี้ก็มีความสุขแล้วครับ)  ;D ;D ;D

ไม่เครียด ครับ พี่นัด ไม่ใช่ เครียส.. อิอิ
ผมก็เป็นอีกคนที่ตัดสินใจหนีความวุ่นวายมาจาก กทม ครับ เงินเดือนเยอะ สวัสดิการดี ได้รับการยอมรับ มีเกียรติมีสังคมดี  รายได้พิเศษเยอะ
แต่ความกดดันสูง ความรับผิดชอบสูง แข่งขันสูง เวลาส่วนตัวน้อย โดนตามตัวบ่อย หากเกิดข้อผิดพลาดแม้เพียงเล็กน้อย
อาจโดนตำหนิอย่างรุนแรง เนื่องจากทุกๆอย่างเกี่ยวข้องกับผลประโยชน์ของบริษัทล้วน โบนัสอาจไม่ได้ หากทำตัวสบายๆ ไม่ active
อาจโดนบีบออกทุกวิถีทาง หากพูดภาษาอังกฤษไม่ได้ อาจโดนจ้างออก อาจไม่ได้เลื่อนตำแหน่ง


ที่ผมเลือกที่จะกลับมาอยู่บ้าน สาเหตุหลักๆคืออยากอยู่กับครอบครัวและมีเวลาให้กัน ทุกวันนี้อยากเจอพ่อกับแม่ก็ขับรถ 15 นาทีถึง ได้อยู่กับลูก
ได้ทำงานที่เดียวกับน้องชายและภรรยา มีบ้านพักใน รพ. เช้ามาก็ปั่นจักรยานมาทำงาน ชีวิตมีเวลาเหลือเยอะขึ้น แถมยังคงได้ทำงานที่ตัวเองรัก
นั่นคือไอที ได้มีหัวหน้าที่ดีมีความสามารถ ทำให้เราอยากทำงานด้วย อยากเรียนรู้ด้วย งานไม่เครียด ไม่กดดัน มีเงินเหลือเก็บ ผมว่ามันก็โอเคนะครับ

เรื่องความก้าวหน้า ผมก็เห็นด้วยครับที่ว่า สายนี้เรื่องบุคลากรด้านไอทีเขาไม่สนับสนุน ออกแนวเพิกเฉยด้วยซ้ำ และไม่ได้รับการตอบรับเท่าที่ควรแต่
ก็อย่างที่พี่นัดเขาว่าแหละครับ คิดมากก็ยิ่งกลุ้ม ทำในสิงที่ชอบและสบายใจก็มีความสุขครับ



303
ปัญหาเกิดตอน กด ค้นหา หมายเลข refer ครับ นอกนั้นการแสดงผลก็ปกติดีครับ

305
ขออนุญาติแจ้งปัญหาเกี่ยวกับการแสดงข้อมูลของระบบ Refer คนไข้ครับ ครับ ปัจจุบันผมใช้ v.3.53.5.4 ครับ

ในทะเบียน refer สำหรับผู้ป่วยที่ Admit VN ที่ถูกบันทึกใน Transection จะเปลี่ยนมาใช้ AN แทนเลข VN ของ OPD ดังนั้น เมื่อ join Table referout เข้ากับ ovst ทำให้ ไม่พบข้อมูลในส่วนของ ovst เช่น Vsdate,vsttime หรือ Table Pttype เนื่องจาก join เข้ากับ Table ovst เช่น pttype_name เป็นต้น ทำให้ข้อมูลไม่ครบครับ รบกวนอาจารย์ช่วยพิจราณาด้วยครับ


306
อ.แก้ให้แล้ว ใน V. 3.53.5.4  ขอบคุณมากเลยครับ   ;D

307
Development / Re: ขอเพิ่มนิดหนึ่ง
« เมื่อ: เมษายน 28, 2010, 19:43:24 PM »
ระบบผู้ป่วยนอก-->ระบบยืม/คืน แฟ้มเวชระเบียน-->ระบบยืม/คืน แฟ้มเวชระเบียน ผู้ป่วยใน ครับ  :)

308
Development / Re: ขอเพิ่มนิดหนึ่ง
« เมื่อ: เมษายน 28, 2010, 17:27:45 PM »
ลองใช้ระบบยืมแฟ้มผู้ป่วยในแทนนะครับ มันมีแบบค้น AN ได้ด้วย

309
เวลา click แล้ว เชื้อชาติ กับ สัญชาติไม่ขึ้นให้อัตโนมัติเหมือนเมื่อก่อนครับ ต้องใส่ 99 เอง รบกวนอาจารย์ MN ช่วยตรวจสอบให้หน่อยครับ ผมลองกับ Version 4.25 ก็เป็นครับ

310
ล่าสุดคุณบรรจบได้ออกตัวแก้ไขมาแล้วครับ

โดยแก้ที่ไฟล์ upload.php และ upload2.php ครับ เท่าที่ตรวจสอบแล้ว ก็โอเคครับ

http://203.157.181.13/hosxp_board/view.php?category=depression&wb_id=202
หรือ http://203.157.181.13/hosxp_board/db_hosxpwb/imagefiles/depression202.zip

โดยให้แตกไฟล์แล้วนำไปวางไว้ที่ folder tools ของ web depress ที่ สสจ ครับ

311
ข้อมูลเพิ่มเติมครับ 
-  สำหรับ  Depress online v.2.12.17 ที่ส่งออกข้อมูลไม่ได้แล้วขึ้นว่า Unknown column 'export' in 'where clause'  (สำหรับ สสจ.)
วิธีแก้ดังนี้ครับ http://wichianhos.thaiddns.com/whboard/index.php?topic=552.0
 - สำหรับผู้ที่ Upload Depress online ด้วย v2.12.17 แล้วยอดที่แสดงผลออกมาให้ register ไม่เท่ากับยอดที่ได้จากแบบคัดกรอง
 วิธีแก้ดังนี้ครับ http://wichianhos.thaiddns.com/whboard/index.php?topic=553.0
      (UE และ Report สามารถใช้ตัวเดิมได้ครับ แต่ต้องแก้ที่ code ของ depressonline และ upgrade db)

312
ถูกต้องแล้วครับ ขอบคุณครับ ผม .. ;D

313
กระทู้ตกเร็วมากครับ ผมขออนุญาติดันนะครับ

314
ปัจจุบันระบบนี้มีประโยชน์กับทางเวชระเบียนมากครับ ในการตาม chart คืนจาก ward และห้องพักแพทย์ ทำให้ทำงานง่ายขึ้นมาก ทางเวชระเบียนเขาขอให้ข่วยปรับให้ สามารถแก้ไขข้อมูลการยืมได้ครับ เนื่องจากปัจจุบัน ไม่สามารถ แก้ไขข้อมูลเรื่องวันที่ยืมได้ครับ และในส่วนของการแสดงผลนั้นอยากให้ช่วยเพิ่มสาเหตุการยืมด้วยนะครับ

ส่วนในหน้า ลงรับ chart จาก ward นั้นก็ไม่สามารถแก้ไขข้อมูลเช่น วันที่/เวลาที่รับ ได้นะครับ

315
เสริมอีก นี่เป็นอีกวิธีหนึ่งครับ

select * from vn_stat v
left outer join opitemrece
where v.vstdate = '2010-03-31' and opitemrece.icode in ('a','b')

ลองดูครับ

316
นอกเรื่อง / Re: เปิดทดสอบ openmeetings
« เมื่อ: มีนาคม 24, 2010, 09:06:02 AM »
ยังเข้าไม่ได้ครับ  :)

317
อาจจะต้องหา Component ที่ใช้ให้ครบก่อนนะครับ

318
ได้โปรด ครับ ช่วยหน่อย .. ดันๆ

319
Limit Appointment

- สามารถกำหนดวันที่เราต้องการนัดได้ เช่น จ. - ศ.
- สำมารถกำหนดคลินิคที่เราต้องการนัดได้
- สามารถเลือกเดือนที่ต้องการนัดได้

Source
โค๊ด: [Select]

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls, Spin, WideStrings, DB, SqlExpr,
  DBXMySql, FMTBcd, XPMan, DBClient, DBXMsSQL,DateUtils,jvjclutils;

type
  Tfrmmain = class(TForm)
    Panel1: TPanel;
    Label3: TLabel;
    BtnOk: TButton;
    BtnCancel: TButton;
    Label4: TLabel;
    Label6: TLabel;
    CboClinic: TComboBox;
    DTPStart: TDateTimePicker;
    Label1: TLabel;
    txttotalAppointment: TEdit;
    GroupBox1: TGroupBox;
    chkMon: TCheckBox;
    chkTue: TCheckBox;
    ChkThr: TCheckBox;
    ChkWen: TCheckBox;
    ChkFri: TCheckBox;
    ChkSat: TCheckBox;
    ChkSun: TCheckBox;
    GroupBox2: TGroupBox;
    cds: TClientDataSet;
    ds: TDataSource;
    procedure BtnCancelClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BtnOkClick(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure BtnRefreshClick(Sender: TObject);
    function GetListFromTable(sql:string):TStringList;
    function UpdateLimit(StrDate:string):boolean;
  private
    { Private declarations }
  public
    { Public declarations }

  end;

var
  frmmain: Tfrmmain;
implementation

{$R *.dfm}

procedure Tfrmmain.BtnCancelClick(Sender: TObject);
begin
  // Show a confirmation dialog at 20,100

   if MessageDlg('¤Ø³µéͧ¡ÒáàÅÔ¡¡ÒÃãªé§Ò¹ã¹Êèǹ¹ÕéãªèËÃ×ÍäÁè', mtConfirmation, [mbYes, mbNo], 0) = mrYes then  close;

end;
procedure Tfrmmain.BtnOkClick(Sender: TObject);
Var
        MyMonthID:string;
        MyYear:string;
        MyTHyear:string;
        MyIntYear:integer;
        MyIntMonth:integer;
        MyDep:string;
        MyDashPos:Integer;
        MyLastDayCurrMon:string;
        MyLastDayCurrMonth:word;
        intStartLoop:integer;
        CurrDateSet:tdatetime;
        MyCurrDateSet:string;
        MyCustomDate:string;
        DaysInMonth: array[1..12]of Integer ;
        tcd:tclientdataset;
        strsql:string;
        ChkDate:boolean;
        BolShowDebug:boolean;
begin

  if MessageDlg('¤Ø³µéͧ¡Òúѹ·Ö¡¢éÍÁÙÅ¡ÒùѴËÁÒÂãªèËÃ×ÍäÁè', mtConfirmation, [mbYes, mbNo], 0) = mrNo then
    begin
        exit;
    End;

                      ChkDate:=false;

                    if chkMon.State = cbchecked then
                    begin
                       ChkDate:=true;
                    end;

                    if chkTue.State = cbchecked then
                    begin
                       ChkDate:=true;
                    end;

                    if chkWen.state = cbchecked then
                    begin
                       ChkDate:=true;
                    end;

                    if ChkThr.State = cbchecked then
                    begin
                       ChkDate:=true;
                    end;

                    if ChkFri.State = cbchecked then
                    begin
                       ChkDate:=true;
                    end;

                    if ChkSat.State = cbchecked then
                    begin
                       ChkDate:=true;
                    end;

                    if ChkSun.State = cbchecked then
                    begin
                       ChkDate:=true;
                    end;

                    if ChkDate=false then
                    begin
                         MessageDlg('¡ÃسÒàÅ×Í¡ÇѹÍÂèÒ§¹éÍ 1 Çѹ ', mtWarning, [mbOK], 0) ;
                         exit;
                    end;

  if CboClinic.Text='' then
      MessageDlg('¡ÃسÒàÅ×Í¡¤ÅÔ¹Ô¤¡è͹', mtWarning, [mbOK], 0) ;

    if txttotalAppointment.text= '' then
        begin
           MessageDlg('¡ÃسÒãÊè¨Ó¹Ç¹¤¹·Õèµéͧ¡Òáè͹', mtWarning, [mbOK], 0) ;
           exit;
        end;
    if StrToInt(txttotalAppointment.text) <= 0 then
      begin
        MessageDlg('&uml;&Oacute;&sup1;&Ccedil;&sup1;&curren;&sup1;&micro;&eacute;&Iacute;&sect;&Aacute;&Ograve;&iexcl;&iexcl;&Ccedil;&egrave;&Ograve; 1 ', mtWarning, [mbOK], 0) ;
        exit;
      end;


        if ChkShowDBug.State = cbChecked then
        begin
             BolShowDebug:=true;
        end;
        if ChkShowDBug.State = cbUnChecked then
        begin
             BolShowDebug:=false;
        end;

       MyMonthID:=formatDateTime('MM',DTPStart.Date);
       MyYear:=formatDateTime('yyyy',DTPStart.Date);
       MyTHyear:=MyYear;
       MyIntYear:=StrToInt(MyYear)-543;
       MyYear:=inttostr(MyIntYear);
       MyIntMonth:= StrToInt(MyMonthID);
       MyDashPos:= Pos('-',CboClinic.Text);
       MyDep:= Copy(CboClinic.Text,0,MyDashPos-1);


        DaysInMonth[1]:=(31);
        DaysInMonth[2]:=(28);
        DaysInMonth[3]:=(31);
        DaysInMonth[4]:=(30);
        DaysInMonth[5]:=(31);
        DaysInMonth[6]:=(30);
        DaysInMonth[7]:=(31);
        DaysInMonth[8]:=(31);
        DaysInMonth[9]:=(30);
        DaysInMonth[10]:=(31);
        DaysInMonth[11]:=(30);
        DaysInMonth[12]:=(31);

       //MyLastDayCurrMonth:=DaysInMonth(DTPStart.Date);
       MyLastDayCurrMonth:=DaysInMonth[MyIntMonth];
      //ntStartLoop:= 1;

       for intStartLoop:=1 to Integer(MyLastDayCurrMonth) do
        begin

              if Length(IntToStr(intStartLoop)) = 1 then
              begin
              MyCustomDate:= '0'+ IntToStr(intStartLoop) ;
              end;
              if Length(IntToStr(intStartLoop)) > 1 then
              begin
              MyCustomDate:= IntToStr(intStartLoop) ;
              end;


             CurrDateSet:=StrToDate(MyCustomDate+'/'+MyMonthID+'/'+MyTHyear);
             MyCurrDateSet:= Inttostr(DayOfWeek(CurrDateSet));
            // showdebugtext('MyCurrDateSet = '+MyCurrDateSet);

               case StrToInt(MyCurrDateSet) of
                    2:
                        if chkMon.State = cbChecked then
                        begin
                        //MessageDlg(('Clinic '+ MyDep +' &uml;&Ntilde;&sup1;&middot;&Atilde;&igrave;&middot;&Otilde;&egrave; '+MyCustomDate+'/'+MyMonthID+'/'+MyTHyear+'&uml;&Oacute;&sup1;&Ccedil;&sup1; '+ txttotalAppointment.Text)  ,mtWarning, [mbOK], 0) ;
                        UpdateLimit(MyTHyear+'/'+MyMonthID+'/'+ MyCustomDate,MyCustomDate+'/'+MyMonthID+'/'+MyYear,MyDep,txttotalAppointment.Text,BolShowDebug);
                        end;
                    3:
                        if chkTue.State = cbChecked then
                        //MessageDlg(('Clinic '+ MyDep +' &Iacute;&Ntilde;&sect;&curren;&Ograve;&Atilde;&middot;&Otilde;&egrave; '+MyCustomDate+'/'+MyMonthID+'/'+MyTHyear+'&uml;&Oacute;&sup1;&Ccedil;&sup1; '+ txttotalAppointment.Text)  ,mtWarning, [mbOK], 0) ;
                        UpdateLimit(MyTHyear+'/'+MyMonthID+'/'+ MyCustomDate,MyCustomDate+'/'+MyMonthID+'/'+MyYear,MyDep,txttotalAppointment.Text,BolShowDebug);
                    4:
                        if ChkWen.state = cbChecked then
                        //MessageDlg(('Clinic '+ MyDep +' &frac34;&Oslash;&cedil;&middot;&Otilde;&egrave; '+MyCustomDate+'/'+MyMonthID+'/'+MyTHyear+'&uml;&Oacute;&sup1;&Ccedil;&sup1; '+ txttotalAppointment.Text)  ,mtWarning, [mbOK], 0) ;
                        UpdateLimit(MyTHyear+'/'+MyMonthID+'/'+ MyCustomDate,MyCustomDate+'/'+MyMonthID+'/'+MyYear,MyDep,txttotalAppointment.Text,BolShowDebug);
                    5:
                        if ChkThr.State = cbChecked then
                        //MessageDlg(('Clinic '+ MyDep +' &frac34;&Auml;&Euml;&Ntilde;&Ecirc;&ordm;&acute;&Otilde;&middot;&Otilde;&egrave; ' +MyCustomDate+'/'+MyMonthID+'/'+MyTHyear+'&uml;&Oacute;&sup1;&Ccedil;&sup1; '+ txttotalAppointment.Text) ,mtWarning, [mbOK], 0) ;
                        UpdateLimit(MyTHyear+'/'+MyMonthID+'/'+ MyCustomDate,MyCustomDate+'/'+MyMonthID+'/'+MyYear,MyDep,txttotalAppointment.Text,BolShowDebug);
                    6:
                        if ChkFri.State = cbChecked then
                        //MessageDlg(('Clinic '+ MyDep +' &Egrave;&Oslash;&iexcl;&Atilde;&igrave;&middot;&Otilde;&egrave; ' +MyCustomDate+'/'+MyMonthID+'/'+MyTHyear+'&uml;&Oacute;&sup1;&Ccedil;&sup1; '+ txttotalAppointment.Text) ,mtWarning, [mbOK], 0) ;
                        UpdateLimit(MyTHyear+'/'+MyMonthID+'/'+ MyCustomDate,MyCustomDate+'/'+MyMonthID+'/'+MyYear,MyDep,txttotalAppointment.Text,BolShowDebug);

                    7:
                        if ChkSat.State = cbChecked then
                        //MessageDlg(('Clinic '+ MyDep +' &agrave;&Ecirc;&Ograve;&Atilde;&igrave;&middot;&Otilde;&egrave; '+MyCustomDate+'/'+MyMonthID+'/'+MyTHyear+'&uml;&Oacute;&sup1;&Ccedil;&sup1; '+ txttotalAppointment.Text)  ,mtWarning, [mbOK], 0) ;
                        UpdateLimit(MyTHyear+'/'+MyMonthID+'/'+ MyCustomDate,MyCustomDate+'/'+MyMonthID+'/'+MyYear,MyDep,txttotalAppointment.Text,BolShowDebug);
                    1:
                        if ChkSun.State = cbChecked then
                        //MessageDlg(('Clinic '+ MyDep +' &Iacute;&Ograve;&middot;&Ocirc;&micro;&Acirc;&igrave;&middot;&Otilde;&egrave; ' +MyCustomDate+'/'+MyMonthID+'/'+MyTHyear+'&uml;&Oacute;&sup1;&Ccedil;&sup1; '+ txttotalAppointment.Text) ,mtWarning, [mbOK], 0) ;
                        UpdateLimit(MyTHyear+'/'+MyMonthID+'/'+ MyCustomDate,MyCustomDate+'/'+MyMonthID+'/'+MyYear,MyDep,txttotalAppointment.Text,BolShowDebug);

               end;


         end;
           cds.data := hosxp_getdataset('select * from oapp_limit');
           MessageDlg('Done', mtInformation, [mbOK], 0) ;

end;
procedure Tfrmmain.BtnRefreshClick(Sender: TObject);
var
        MyMonthID:string;
        MyIntMonth:integer;
        MyYear:string;
        MyTHyear:string;
        MyIntYear:integer;
begin

        MyMonthID:=formatDateTime('MM',DTPStart.Date);
        MyIntMonth:= StrToInt(MyMonthID);
        MyYear:=formatDateTime('yyyy',DTPStart.Date);
        MyTHyear:=MyYear;
        MyIntYear:=StrToInt(MyYear)-543;
        MyYear:=inttostr(MyIntYear);

    cds.data := hosxp_getdataset('select * from oapp_limit where month(oapp_date) = "' +MyMonthID + '"' );
end;
procedure Tfrmmain.FormCreate(Sender: TObject);
var
        MyMonthID:string;
        MyIntMonth:integer;
        MyYear:string;
        MyTHyear:string;
        MyIntYear:integer;


begin
    DTPStart.Date := Now;
    { GetList from Hosxp  }
    CboClinic.items.assign(GetListFromTable('select concat(clinic,"-",name) from clinic order by clinic'));

        MyMonthID:=formatDateTime('MM',DTPStart.Date);
        MyIntMonth:= StrToInt(MyMonthID);
        MyYear:=formatDateTime('yyyy',DTPStart.Date);
        MyTHyear:=MyYear;
        MyIntYear:=StrToInt(MyYear)-543;
        MyYear:=inttostr(MyIntYear);

    cds.data := hosxp_getdataset('select * from oapp_limit where month(oapp_date) = "' +MyMonthID + '"' );
end;

procedure Tfrmmain.FormKeyPress(Sender: TObject; var Key: Char);
begin

       if Key ='' then
       begin
            if MessageDlg('&curren;&Oslash;&sup3;&micro;&eacute;&Iacute;&sect;&iexcl;&Ograve;&Atilde;&Acirc;&iexcl;&agrave;&Aring;&Ocirc;&iexcl;&iexcl;&Ograve;&Atilde;&atilde;&ordf;&eacute;&sect;&Ograve;&sup1;&atilde;&sup1;&Ecirc;&egrave;&Ccedil;&sup1;&sup1;&Otilde;&eacute;&atilde;&ordf;&egrave;&Euml;&Atilde;&times;&Iacute;&auml;&Aacute;&egrave;', mtConfirmation, [mbYes, mbNo], 0) = mrYes then  close;
       end;
end;

{   Pas addition Code    }

function GetListFromTable(sql:string):TStringList;
var tc:tclientdataset;
begin
  result:=TStringList.create;
  tc:=tclientdataset.create(nil);
  tc.data:=HOSxP_Getdataset(sql);
  while not tc.eof do
  begin
    result.add(tc.fields[0].asstring);
    tc.next;
  end;

  tc.free;

end;
function UpdateLimit(StrTHDate,StrENDate,StrClinic :string;IntLimit:integer;showDBug:boolean):boolean;
var tc,tc2:tclientdataset;NextSerialId:integer;

begin
  result:=false;
  tc:=tclientdataset.create(nil);

  tc.data:=HOSxP_Getdataset('select * from oapp_limit where oapp_date = "'+StrTHDate+'" and oapp_clinic = "'+StrClinic+'"');
  if showDBug = true then
  begin
      showdebugtext('select * from oapp_limit where oapp_date = "'+StrTHDate+'" and oapp_clinic = "'+StrClinic+'"');
  end;
  if tc.recordcount > 0 then
  begin
    tc.edit;
    tc.fieldbyname('oapp_limit').asstring := IntLimit;
    tc.post;
  if tc.changecount > 0 then
    begin
      HOSxP_UpdateDelta(tc.delta,'select * from oapp_limit where oapp_date ="'+StrTHDate+'" and oapp_clinic = "'+StrClinic+'"');
        if showDBug = true then
          begin
          showdebugtext('Found 1 Record : Update Field (limit) = '+IntLimit);
          showdebugtext('Update Complete');
        end;

    end;

  end;

  if tc.recordcount = 0 then
  begin
    tc2:=tclientdataset.create(nil);
    tc2.data:=HOSxP_Getdataset('select * from serial where name = "oapp_limit_id"');
    if tc2.recordcount > 0 then
       begin
          NextSerialId := tc2.fieldbyname('serial_no').asstring+1;
          //showdebugtext(NextSerialId);
          tc2.edit;
          tc2.fieldbyname('serial_no').asstring := NextSerialId;
          tc2.post;
       end;

    tc.Insert;
    tc.fieldbyname('oapp_limit_id').asstring := NextSerialId;
    tc.fieldbyname('oapp_limit').asstring := IntLimit;
    tc.fieldbyname('oapp_clinic').asstring := StrClinic;
    tc.fieldbyname('oapp_date').asstring := StrToDate(StrENDate);
    tc.post;
  if tc.changecount > 0 then
    HOSxP_UpdateDelta(tc.delta,'select * from oapp_limit where oapp_date = "'+StrTHDate+'" and oapp_clinic = "'+StrClinic+'"');
    HOSxP_UpdateDelta(tc2.delta,'select * from serial where name = "oapp_limit_id"');

        if showDBug = true then
          begin
          showdebugtext('Record not found : Insert New Record');
          showdebugtext('oapp_limit_id = '+InttoStr(NextSerialId));
          showdebugtext('oapp_limit = '+IntLimit);
          showdebugtext('oapp_clinic = '+StrClinic);
          showdebugtext('oapp_date = '+StrENDate);
          showdebugtext('Insert Complete');
        end;
  end;


       tc.free;
    result:=true;

end;

end.


DFM
โค๊ด: [Select]
object frmmain: Tfrmmain
  Left = 0
  Top = 0
  BorderStyle = bsDialog
  Caption = #3619#3632#3610#3610#3585#3635#3627#3609#3604#3592#3635#3609#3623#3609#3609#3633#3604#3627#3617#3634#3618#3626#3635#3627#3619#3633#3610#3588#3621#3636#3609#3636#3588#3605#3656#3634#3591#3654
  ClientHeight = 536
  ClientWidth = 416
  Color = clCream
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  KeyPreview = True
  OldCreateOrder = False
  Position = poScreenCenter
  OnCreate = FormCreate
  OnKeyPress = FormKeyPress
  PixelsPerInch = 96
  TextHeight = 13
  object Label3: TLabel
    Left = 257
    Top = 199
    Width = 40
    Height = 16
    Caption = #3592#3635#3609#3623#3609
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -13
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
  end
  object Label4: TLabel
    Left = 345
    Top = 199
    Width = 18
    Height = 16
    Caption = #3588#3609
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -13
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
  end
  object Label6: TLabel
    Left = 27
    Top = 70
    Width = 64
    Height = 16
    Caption = #3648#3621#3639#3629#3585#3588#3621#3636#3609#3636#3588
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -13
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
  end
  object Label1: TLabel
    Left = 26
    Top = 199
    Width = 115
    Height = 16
    Caption = #3648#3621#3639#3629#3585#3648#3604#3639#3629#3609#3607#3637#3656#3605#3657#3629#3591#3585#3634#3619
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -13
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
  end
  object GroupBox2: TGroupBox
    Left = 8
    Top = 55
    Width = 401
    Height = 226
    TabOrder = 7
  end
  object GroupBox1: TGroupBox
    Left = 20
    Top = 104
    Width = 373
    Height = 78
    Caption = #3609#3633#3604#3648#3593#3614#3634#3632#3623#3633#3609
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
    TabOrder = 6
    object chkMon: TCheckBox
      Left = 12
      Top = 24
      Width = 61
      Height = 17
      Caption = #3623#3633#3609#3592#3633#3609#3607#3619#3660
      TabOrder = 0
    end
    object chkTue: TCheckBox
      Left = 87
      Top = 24
      Width = 61
      Height = 17
      Caption = #3623#3633#3609#3629#3633#3591#3588#3634#3619
      TabOrder = 1
    end
    object ChkThr: TCheckBox
      Left = 258
      Top = 24
      Width = 77
      Height = 17
      Caption = #3623#3633#3609#3614#3620#3627#3633#3626#3610#3604#3637
      TabOrder = 2
    end
    object ChkWen: TCheckBox
      Left = 171
      Top = 24
      Width = 61
      Height = 17
      Caption = #3623#3633#3609#3614#3640#3608
      TabOrder = 3
    end
    object ChkFri: TCheckBox
      Left = 12
      Top = 47
      Width = 61
      Height = 17
      Caption = #3623#3633#3609#3624#3640#3585#3619#3660
      TabOrder = 4
    end
    object ChkSat: TCheckBox
      Left = 87
      Top = 47
      Width = 61
      Height = 17
      Caption = #3623#3633#3609#3648#3626#3634#3619#3660
      TabOrder = 5
    end
    object ChkSun: TCheckBox
      Left = 171
      Top = 47
      Width = 73
      Height = 17
      Caption = #3623#3633#3609#3629#3634#3607#3636#3605#3618#3660
      TabOrder = 6
    end
  end
  object Panel1: TPanel
    Left = 6
    Top = 8
    Width = 403
    Height = 41
    Caption = #3619#3632#3610#3610#3585#3635#3627#3609#3604#3592#3635#3609#3623#3609#3609#3633#3604#3627#3617#3634#3618#3626#3635#3627#3619#3633#3610#3588#3621#3636#3609#3636#3588#3605#3656#3634#3591#3654
    Color = clMoneyGreen
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -16
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentBackground = False
    ParentFont = False
    TabOrder = 2
  end
  object BtnOk: TButton
    Left = 132
    Top = 242
    Width = 75
    Height = 25
    Caption = #3605#3585#3621#3591
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
    TabOrder = 0
    OnClick = BtnOkClick
  end
  object BtnCancel: TButton
    Left = 213
    Top = 242
    Width = 75
    Height = 25
    Caption = #3618#3585#3648#3621#3636#3585
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
    TabOrder = 1
    OnClick = BtnCancelClick
  end
  object CboClinic: TComboBox
    Left = 97
    Top = 69
    Width = 225
    Height = 21
    AutoDropDown = True
    Style = csDropDownList
    ItemHeight = 13
    TabOrder = 3
    Items.Strings = (
      '00-'#3652#3617#3656#3619#3632#3610#3640)
  end
  object DTPStart: TDateTimePicker
    Left = 147
    Top = 199
    Width = 104
    Height = 21
    Date = 40212.000000000000000000
    Format = 'MMM yyyy'
    Time = 40212.000000000000000000

    TabOrder = 4
  end
  object txttotalAppointment: TEdit
    Left = 306
    Top = 198
    Width = 33
    Height = 21
    TabOrder = 5
    Text = '80'
  end
  object cds: TClientDataSet
    Aggregates = <>
    CommandText =
      #39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39 +
      #39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39';kk'
    Params = <>
    ProviderName = 'DataSetProvider1'
    Left = 360
    Top = 64
  end
  object ds: TDataSource
    DataSet = cds
    Left = 328
    Top = 64
  end
    object ChkShowDBug: TCheckBox
    Left = 280
    Top = 287
    Width = 129
    Height = 17
    Caption = 'Show Debug Messages'
    TabOrder = 9
  end
object LimitGrid: TDBGrid
    Left = 8
    Top = 312
    Width = 399
    Height = 217
    TabOrder = 8
    DataSource = ds
    TitleFont.Charset = DEFAULT_CHARSET
    TitleFont.Color = clWindowText
    TitleFont.Height = -11
    TitleFont.Name = 'Tahoma'
    TitleFont.Style = []
  end
object BtnRefresh: TButton
    Left = 294
    Top = 242
    Width = 109
    Height = 25
    Caption = #3649#3626#3604#3591#3612#3621#3605#3634#3619#3634#3591#3651#3627#3617#3656
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
    TabOrder = 10
    OnClick = BtnRefreshClick
  end
end

320
Error ตัวนี้หมายถึงมัน หา GUID ของ universal_item_id ไม่เจอครับ ผมแนบ GUID ที่ผมใช้มาให้ดูด้วยนะครับ หากไม่ตรงหาตัวที่ตรงแล้วเข้าไปเปลี่ยนใน Report ได้ครับ

321
ขอเป็น text file  แบบของคุณ rung_k  ครับ....จะได้ดูได้สะดวกหน่อยครับ เบื้องต้นผมคิดว่าเป็น error แบบเดียวกับ คุณ rung_k  ครับ นั้นคือ GUID ไม่ตรงกับใน โปรแกรม ครับ

322
เพื่อให้เป็น Dynamic และใช้ได้กับทุกๆ รพ. หรือ สอ. หลักการแรก ตัว Report จะวิ่งไปจับ control id ของ UE คัดกรองโรคซึมเศร้าแล้วนำมา Query เช่น

select universal_form_id from universal_form where hos_guid = '{1824EBD5-858B-4576-A370-91CC273F8FF2}'

select universal_form_id from universal_form where hos_guid = '{298350FE-BCC9-463B-98B0-0B61CEF3EE3E}'

ดังนั้นหาก GUID ของ Control ใน UE ไม่ตรงกับตัวที่ผม Export มาไว้ให้โหลด ก็จะไม่สามารถดึงข้อมูลออกมาแสดงได้ครับ ตาม Error ที่แนบมาจะพบว่า Report ไป Query มาแล้วไม่เจอ Control ตาม GUID ครับ ซึ่งเมื่อไม่เจอมันจะกลายเป็นค่าว่าง SQL ก็จะ Error ครับ ตามรูปที่แนบมาครับ แนะนำให้ลองตรวจ GUID ของ UE ให้ตรงกันกับของผมครับ

323
ระบบคืนแฟ้มผู้ป่วยใน มีวันและเวลาคืนแฟ้มแสดงทั้งๆที่ยังไม่ได้ลงคืนแฟ้ม ดังรูปที่แนบมาครับ
นอกจากนี้เมื่อผมพิมพ์ข้อมูลใส่ search ที่ช่อง AN ชื่อของผู้ป่วยไม่แสดงในช่อง "ชื่อ" ครับ
ผมใช้ HOSxP V 3.53.1.30 ครับ

324
ในหน้าระบบยืมคืนแฟ้มผู้ป่วยในไม่บันทึกสาเหตุการยืมเป็น rent_reason_ipd แต่กลับบันทึกเป็น ค่า Null แทนครับดังรูปครับ ปัจจุบันผมใช้ HOSxP V. 3.53.1.30 ครับ

325
แก้ไข Bug ไม่สามารถส่งข้อมูลออกได้หาก record นั้นมี Field ที่ขึ้นต้นด้วย PTTYPE_ เป็นค่า Null
- แก้ไขแล้วครับสามารถ Download ได้จาก Link เดิมครับ แก้ไขเฉพาะ Report ของ Screen ครับ

326
เรียนถาม อาจารย์ชัยพรครับ ตัว MY SQL Work Load นี้อาจารย์พัฒนาขึ้นเองใช่ไหมครับ ผมอยากลองเขียนตัวนี้ขึ้นมาบ้างจังเลย ว่าจะทำเป็นตัว Monitor MYSQL Server แบบ ในรูปนะครับ ไม่ทราบพอจะมีข้อแนะนำบ้างไหมครับ ผมว่ามันน่าสนใจจริงๆครับ

327
ตรงตามที่คุณ golf win กล่าวเลยครับ
ปล. กระบวนการทำงานของเรื่องนี้มีดังนี้ครับ
เราต้อง ส่งออกข้อมูลแล้วนำไป upload กับทาง เว็บ Depress ของสสจ ครับ แล้วทำการคัดกรอง 8 Q บนเว็บไซต์ Depress ของ สสจ ครับ จากนั้น สสจต้องเป็นคนนำไปเข้าที่เว็บ Depress ของ กรมสุขภาพจิตให้เราอีกทีครับ  
ตอนที่ผมประสานไปที่ทางกรมและ สปสช เขาบอกว่า เขาจะรับข้อมูลของ สสจ ซึ่งรับเป็นภาพรวมจังหวัดเท่านั้นโดยไม่รับเป็น รพช หรือ สอ เดี่ยวๆครับ จากนั้นเขาจะจ่ายเงินให้กับผู้ป่วยที่ทำ 8 Q เท่านั้นครับ  ถ้า

ในตอนนี้คุณ บรรจบ (ยโสธร) ซึงพัฒนาตัว Depress online และ offline ขึ้นมา ได้ปรับปรุงเวอร์ชั่นจนปัจจุบันเป็น
V. 2.12.17 แล้วครับ และตัว Offline เป็น Version 1.03 ซึ่งตอนนี้ Repor ของผมยังไม่รองรับ Version นี้ครับ ถ้าส่งออกจาก Report ของผมแล้วนำเข้า จะพบว่า หายไปหลายคน ถ้าเทียบกับ ตัว Online Version เดิม (2.11.25) แต่ตอนนี้ทางกรมยังใช้ Version 2.11.25 นี้อยู่ครับ จึงยังสามารถใช้ Report ของผมส่งออกข้อมูลแทนกันได้อยู่  และแน่นอนว่าผมจะลองหาทางเขียน Report ให้เข้า กับ Version ใหม่ให้ได้ครับ แต่คงต้องใช้เวลาแกะซักพักก่อนครับ

328
Upload ตัวใหม่ให้แล้วนะครับ โหลดได้เลย  ;)

329
ตอนนี้ปรับปรุงเพิ่มเติมครับสำหรับ Report ของ PERSON และ SCREEN

      PERSON : เปลี่ยน PID จาก รหัสบัตรประชาชน เป็น HN
      (เพราะเวลานำเข้า Depres online มันจะไปจับ Field PID มาใส่ในช่อง HN นะครับ)

      SCREEN : เพิ่มข้อมูลสิทธิ์ ในการส่งออก File SCREEN.TXT
      (เพิ่มหมายเลขสิทธิ์ วันที่เริ่มต้นและวันหมดอายุครับ)

      Download ได้จาก Link เดิมครับ หรือจากที่นี้ครับ http://wichianhos.thaiddns.com/whboard/index.php?topic=292.0

ปล.ขอบคุณ K.Golf_win สำหรับคำแนะนำในการเพิ่มเติมครั้งนี้ครับ และขอบคุณ อ.ณัฐวุฒิ ที่ช่วยให้ผมเข้าใจ โครงสร้างของ Database มากขึ้นครับ
               

330
HOSxP PCU / Re: ลบข้อมูลเวชระเบียนไม่ได้ครับ
« เมื่อ: มกราคม 12, 2010, 19:41:24 PM »
ได้แล้วครับ ขอบคุณมากครับอาจารย์

331
HOSxP PCU / ลบข้อมูลเวชระเบียนไม่ได้ครับ
« เมื่อ: มกราคม 12, 2010, 19:26:17 PM »
ตอนนี้ผมใช้ HOSxP PCU V.3.53.1.8 พอกดลบแล้ว มันฟ้องว่า "กรุณาใช้ระบบเวชระเบียนลบข้อมูล" ทั้งๆที่ผมก็เปิดหน้า เวชระเบียนผู้ป่วย อยู่ครับ ไม่แน่ใจว่าผมเข้าใจผิดตรงไหนหรือเปล่านะครับ ใครรู้ช่วยตอบผมหน่อยครับ

332
ตรง Report ของ PERSON มีปัญหานะครับ ผมแก้ให้แล้วครับ ต้องขอโทษจริงๆนะครับ ใครที่โหลดไปแล้วรบกวนโหลดใหม่อีกทีนะครับ

333
ขอโทษจากใจจริงครับ ลองโหลดใหม่นะครับ

334
แก้ link ให้แล้วนะครับ ขออภัยด้วย

335
จากการที่มีนโยบายให้กรอกแบบคัดกรองโรคซึมเศร้า 2Q 9Q ในโปรกรม Depress offline ของ กรมสุขภาพจิต
หลังจากที่ดูแบบคัดกรองของโปรแกรมแล้วทางศูนย์ IT รพ.วิเชียร เห็นว่า เรามีแบบคัดกรอง ใน UE ของ HOSxP ที่เหมือนกันและข้อมูลส่วนใหญ่ที่ส่งออกมานั้นสามารถดึงจากฐานข้อมูลของ HOSxP ได้จึงได้ลองหาทางลัด
เพื่อลดภาระงาน ของเจ้าหน้าที่ที่ต้องเปิดโปรแกรมหลายตัว ให้เหลือเพียง HOSxP หรือ HOSxP PCU เท่านั้นครับ

UE และ Report ของ HOSxP สำหรับ ส่งออกเข้าโปรแกรม Depress Online ของกรมสุขภาพจิต ครับ
ตาม link นี้เลยครับftp://wichianhos.thaiddns.com/HOSxP_PCU/HOSxP2Depress V2.rar

ภายในประกอบไปด้วยคู่มือการใช้งาน
             1. การใช้งานระบบคัดกรอง 2Q และ 9Q ใน HOSxP PCU
             2. การใช้งาน โปรแกรมดูแลและเฝ้าระวังโรคซึมเศร้า สำหรับ PCU.pdf
             3. การใช้งาน โปรแกรมดูแลและเฝ้าระวังโรคซึมเศร้า.pdf
             4. คู่มือการนำเข้า UE และ Report เพื่อใช้งานกับโปรแกรมดูแลและเฝ้าระวังโรคซึมเศร้า.pdf

UE และ Report นี้ใช้ได้ทั้ง HOSxP และ HOSxP PCU ครับ สำหรับท่านที่มี UE นี้อยู่แล้ว หากลองใช้งานแล้ว Reort ไม่แสดง หรือ แสดงผลผิดพลาดให้ลองตรวจสอบ GUID ของ UE ดูว่าตรงกันหรือไม่ครับ

Release

      2-กพ.-53  - แก้ไข Bug ไม่สามารถส่งข้อมูลออกได้หาก Field ที่ขึ้นต้นด้วย PTTYPE_ เป็น Null (แก้ไขแล้วครับสามารถ Download ได้จาก Link เดิมครับ)
                 

    23-เม.ย.-53 
-  สำหรับ  Depress online v.2.12.17 ที่ส่งออกข้อมูลไม่ได้แล้วขึ้นว่า Unknown column 'export' in 'where clause'  (สำหรับ สสจ.)
วิธีแก้ดังนี้ครับ http://wichianhos.thaiddns.com/whboard/index.php?topic=552.0
 - สำหรับผู้ที่ Upload Depress online ด้วย v2.12.17 แล้วยอดที่แสดงผลออกมาให้ register ไม่เท่ากับยอดที่ได้จากแบบคัดกรอง
         วิธีแก้ดังนี้ครับ http://wichianhos.thaiddns.com/whboard/index.php?topic=553.0
          (UE และ Report สามารถใช้ตัวเดิมได้ครับ แต่ต้องแก้ที่ code ของ depressonline และ upgrade db)

ล่าสุดคุณบรรจบได้ออกตัวแก้ไขมาแล้วครับ

โดยแก้ที่ไฟล์ upload.php และ upload2.php ครับ เท่าที่ตรวจสอบแล้ว ก็โอเคครับ

http://203.157.181.13/hosxp_board/view.php?category=depression&wb_id=202
หรือ http://203.157.181.13/hosxp_board/db_hosxpwb/imagefiles/depression202.zip

   20-พ.ค. -53 กรมสุขภาพจิต update version เป็น 2.12.17 แล้วครับ   
   1-ก.ค.-53 เพิ่ม V.2 ใช้ใน กรณ๊ที่วันที่ทำแบบคัดกรองเป็นคนละวันเวลากับวันที่ visit ทำให้มีข้อมูลใน serivce แต่ไม่มีข้อมูล Person หรือ มี Person แต่ไม่มี Service



ftp://wichianhos.thaiddns.com/HOSxP_PCU/HOSxP2Depress V2.zip


       2-ก.ค.-53 - update Report Screen เนื่องจากมีการเปลี่ยน field ที่ใช้ใน hosxp Download ได้จาก Link ของ V.2 ครับ
                 - เขียนโปรแกรม Tools สำหรับตรวจสอบค่า hosguid ที่ไม่ตรง กับ Report Download
                 - เมื่อ สสจ upload ข้อมูลเข้ากรมสุขภาพจิตแล้ว เราสามารถตรวจผลการส่งข้อมูลได้ที่ http://110.164.197.220/depress_refund/
       11-ก.ค.-53 -Update Tools เป็น Version 1.1.1 เพิ่มเติม ความสามารถในการลองนำไฟล์ PERSON.TXT
กับ SCREEN.TXT เข้าในโปรแกรมเพื่อดูคร่าวว่าส่วนไหนผิด เนื่องจากการดูแบบ Text file นั้นดูยาก
       10-ส.ค.-53 เพิ่ม Screen V.2 แก้ปัญหาคะแนนรวมไม่ขึ้น + Update Tool ในการทดสอบนำเข้าไฟล์ PERSON และ SCREEN  ftp://wichianhos.thaiddns.com/HOSxP_PCU/HOSxP2Depress V2.rar

336
Error เขียนไว้ว่าอย่างไรครับ มีรูปหรือเปล่าครับ

338
   ค่าตอบแทนน้อยเหมือนกันครับ ทำใจอยู่นานก่อนที่จะมาทำ แต่ตัดสินใจมาแล้วครับ เราตัดสินใจเอง ส่วนงานดี เงินดี ในกรุงเทพนั้น ผมก็ผ่านมาแล้วเห็นอะไรมาก็เยอะครับ หลังตัดสินใจกลับมาอยู่บ้านเกิด มีแต่คนถามผมว่า "ได้น้อยแล้วทนทำไปทำไม ทำไมไม่กลับที่เดิมหรือหางานใหม่ไปเลย"
   
   ผมตอบเขาไปว่า ทำแล้วมีความสุขครับ ได้ทำงานที่เรารัก ได้อยู่กับครอบครัว ได้ใช้ชีวิตที่เป็นชีวิตจริงๆ ไม่เร่งรีบ ไม่เครียด ได้ดูแลพ่อแม่เรา สบายใจแล้วครับ ถึงแม้ต้องลำบากใจ กับบุคคลที่มีอีโก้สูงๆ ตามแผนกอื่นๆ ที่มักคิดว่าหากขาดเขาเสียคนหนึ่งโรงพยาบาลจะอยู่ไม่ได้ อยู่เสมอๆ และไม่ยอมเอนอ่อนตามระเีบียบข้อบังคับ และขาดเหตุผลอยู่เสมอๆ แต่ก็อยู่ในระดับที่พอรับได้ เพราะเราไม่ต้องไปเกี่ยวข้องกับเขามากนัก
 
   สรุปว่า อย่ากระนั้นเลยครับถือว่าทำในสิ่งที่เรารัก หรือ เพื่อบ้านเกิดที่เรารัก ก็พอแล้ว คิดไปก็เครียดเปล่าๆ ครับ  :D

   

339
Admin tools / โปรแกรมคุรภัณฑ์คอมพิวเตอร์
« เมื่อ: พฤศจิกายน 16, 2009, 10:26:36 AM »
-โปรแกรมคุรภัณฑ์คอมพิวเตอร์ โดย ศูนย์เทคโนโลยีสารสนเทศและการสื่อสาร กระทรวงสาธารณสุข
  http://ict.moph.go.th/project/hms/

340
Development / Re: การประยุกต์ใช้ HOSxP บน Linux
« เมื่อ: พฤศจิกายน 12, 2009, 14:51:36 PM »
การใช้งาน VMWare หรือ Visualbox แล้ว ลง winxP ถ้าจุดประสงค์คือต้องการแก้ปัญหาเรื่อง License ในความคิดของผมนั้นคิดว่าอาจไม่ตรงจุดนะครับ เพราะถ้ายังรัน xp ก็เสียค่า license อยู่ดี เพราะยังไงก็ถือว่าใช้ของเขาอยู่ ผมลองใช้ wine ลงใน Ubantu prompt แล้วปรากฏว่า run ไม่ขึ้นเหมือนกันครับ  ???

342
มีใครพอทราบรายละเีอียดเพิ่มเติมเรื่องนี้บ้างหรือเปล่าครับ ผมก็เจอปัญหาเดียวกันเลยครับ

343
เท่าที่ทราบนะครับ (ผิดขออภัย)
   OEM คือ License ที่มีอายุ 2 ปี ครับ ติดเครืี่องนั้นเครื่องเดียวเอาไปใช้กับเครื่องอื่นๆไม่ได้ครับ

ราคา license ปัจจุบัน ตอนนี้ไม่มี license ของ windows XP หรือ office 2003 ให้ใช้กันแล้ว ต้องใช้ windows pro 7 กัน office 2007 down grade ครับ และ ตามกฏหมายแล้ว เราสามารถ down grade ได้ย้อนหลังแค่ 2 รุ่น นั่นหมายถึงว่า เราถอยไปใช้ xp ได้ แม้ว่าจะมี license ของ Pro 7 ก็ตาม แต่ทว่าหาก pro 7 ไม่ได้รับความนิยม แล้วมี OS version ใหม่ออกมาอีก ถัดจาก Pro 7 สมมุติว่าเป็น Pro 8 หากเราซื้อ license ของ Pro 8 แต่ os ที่เราใช้จริงคือ XP ละก็ถือว่าผิดกฏหมายเหมือนกันครับ

ราคาที่ได้มาเมื่อวันที่ 4 พย มีดังนี้ครับ
  WinPro 7 SNGL OLP NL Legalization GetGenuine  license ละ 5,900 บาท (ราคานี้ไม่มีโปรโมชั่นของหน่วยงานรัฐบาลครับ)

  OfficeStd 2007 OLP NL Gov  license ละ 9,050 บาท (ราคานี้เป็น โปรโมชั่น ของ หน่วยงานรัฐครับ)

การที่เรามี license อยู่บ้างแต่ไม่ทั้งหมดก็จะดีกว่า ไม่มีเลยครับ เพรายังไงเราสามารถแก้ตัวได้ว่ากำลังเริ่มจัดซื้ออยู่ครับ   หวังว่าคงจะเป็นประโยชน์บ้างสำหรับข้อมูลส่วนนี้นะครับ
 

344
ขออภัยที่พิมพ์ชื่อโรงพยาบาลผิดครับ โรงพยาบาลวิเชียรบุรี จ.เพชรบูรณ์ ครับผมยังเป็นมือใหม่เรื่อง HosXP อยู่ครับ ฝากตัวกับ อาจารย์ทุกท่าน ด้วยครับ

345
Admin tools / เว็บสำหรับแปลง code C# เป็น VB.Net
« เมื่อ: พฤศจิกายน 05, 2009, 22:14:15 PM »
หลังจากพี่ที่ทำงานบ่นเรื่อง source code ที่โหลดมา เป็น C# มาพักใหญ่ ผมจึงหาตัวช่วยครับ ตัวนี้จะช่วยแปลง C# ให้เป็น VB.Net Code ครับ เว็บนี้ก็ได้มาจาก รุ่นพี่อีกทีครับ เอามาแบ่งปันกัน

Link ตามนี้ครับ http://www.developerfusion.com/tools/convert/csharp-to-vb/

ตัวอย่างครับ




บทความนี้คัดลอกมาจาก www.piyanat.net

346

ภาพจาก www.education-world.com
โปรแกรมง่ายๆที่แค่สั่งปริ้นแล้วเลือกปริ้นเตอร์เป็นตัวโปรแกรมนี้ก็สามารถแปลงเป็น PDF ได้แล้วที่สำคัญนอกจากฟรีแล้วยังสนุบสนุนภาษาไทยด้วยครับ

Cute PDF (ต้องต่อเน็ตเพื่อ download componet บางตัว)
http://download.cnet.com/CutePDF-Writer/3000-6675_4-10206470.html

347
Admin tools / มี icon BlueBirds ขึ้นที่ DVD Drive ทั้งๆทีไม่มีแผ่น
« เมื่อ: พฤศจิกายน 05, 2009, 22:06:56 PM »


Bluebirds เป็นโปรแกรมที่ฝังอยู่ในเครื่อง(ไม่สามารถลบออกได้) เพื่อใช้ในการเขียนข้อมูลลงแผ่น CD/DVD ได้โดยสะดวก และรวดเร็ว(โปรแกรมที่ใช้เขียนแผ่นชื่อว่า Drag&Burn)

รุ่นที่กระทบ:
GH22NS50 , GH22LS50

Download เอกสารวิธีเอาออก (ภาษาไทย) http://www.piyanat.net/images/board/Remove BlueBird.pdf
ที่มา http://th.lgservice.com/

บทความนี้คัดลอกมาจาก www.piyanat.net

348
ขอบคุณทุกคนครับ ทำตามที่บอกตอนนี้ มีรายชื่อของแพทย์แสดงออกมาแล้วครับ  :)

349
Admin tools / web ที่แจก icon free ภาค 2 ครับ
« เมื่อ: พฤศจิกายน 05, 2009, 13:39:15 PM »
http://www.freeiconsdownload.com/Free_People_Icons.asp
http://www.freeiconsweb.com/

บทความนี้คัดลอกมาจาก www.piyanat.net ครับ

350
ภาพจาก http://www.thaiware.com

CPE17 โปรแกรมฆ่าไวรัสจาก Handy Drive ของคุณ Update หรือยัง?

บางครั้งจุดเล็กๆที่เราพลาดก็ทำให้เราติดไวรัสได้ หลายๆคนคิดว่าโปรแกรม CPE17 ที่เราใช้กันอยู่เกลื่อนเมืองนั้น
จะทำให้เราปลอดภัยจากไวรัสได้ ผมไม่เถียงหลอกครับว่ามันช่วยได้มากเลย แต่มีใครเคยสังเกตุไหมว่า เราใช้ เวอร์ชั่น
อะไรอยู่ 1330 หรือเปล่า (เพราะมีแถมในแผ่นพันธิพย์) เคยมีใครสนใจ update มันบ้างไหมครับ พอมันดักไวรัสไม่ได้
ก็โทษว่ามันห่วยก็มี (ผมคือหนึ่งในนั้น ขอโทษครับ สำนึกแล้ว) วันนี้ผมว่างเลยไปแสกนไวรัสตามเครื่องต่างๆ เห็นแล้ว
ตกใจครับ มีกันหลาย เวอร์ชั่นมาก แต่ตัวล่าสุด (ถ้าผิดขออภัยด้วย) คือ cpe17antiautorun1410.exe ครับ
ยังไงก็อย่าลืมไป update กันละกันนะครับ

ขอขอบคุณ
http://www.cpe17.com/cgi-bin/newboard/YaBB.pl?board=cpe17ak;action=display;num=1184749310
และ
Nathaphon K. (chackco) แห่ง
CPE17.COM - King Mongkut's University of Technology Thonburi
มา ณ ที่นี้ครับ
บทความนี้คัดลอกมาจากเว็บ www.piyanat.net

หน้า: 1 ... 5 6 [7] 8