Open Forex4you Account

Server รัน EA 1000 / ปี

สั่งชื้อคู่มือการโปรแรกม MQL4

Author Topic: [ถาม] วิธีตรวจสอบ URL  (Read 145577 times)

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #90 on: ตุลาคม 17, 2012, 07:04:19 pm »
แค่ทดสอบการใช้สตริงเฉยๆครับ  เดี๋ยวจะหัดเขียนการอ่านไฟล์ต่อ


admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #91 on: ตุลาคม 17, 2012, 08:23:51 pm »
MT4_EXPFUNC CString _stdcall CheckTerminal(char* paths)
{
 CString temp(paths);
 CString path = temp + _T("\terminal.exe") ;
return path;
   
}

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #92 on: ตุลาคม 18, 2012, 11:05:07 am »
MT4_EXPFUNC CString _stdcall CheckTerminal(char* paths)
{
 CString temp(paths);
 CString path = temp + _T("\terminal.exe") ;
return path;
   
}

คราวนี้คอมไพล์ผ่าน  แต่มันรีเทิร์นออกมายังงี้ครับ

Terminal path is $­hinkForex

ที่ถูกต้องมันควรเป็นแบบนี้  F:\ThinkForex\terminal.exe

ผมลองให้รีเทิร์น temp ก็ออกมาเหมือนกันครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #93 on: ตุลาคม 18, 2012, 12:08:08 pm »
MT4_EXPFUNC CString _stdcall CheckTerminal(char* paths)
{
 CString temp(paths);
 CString path = temp + _T("\terminal.exe") ;
return path;
   
}

คราวนี้คอมไพล์ผ่าน  แต่มันรีเทิร์นออกมายังงี้ครับ

Terminal path is $­hinkForex

ที่ถูกต้องมันควรเป็นแบบนี้  F:\ThinkForex\terminal.exe

ผมลองให้รีเทิร์น temp ก็ออกมาเหมือนกันครับ
แสดงว่า CString ของ MFC Version ใหม่ๆๆ MT4 รับค่ากลับไม่ได้ ต้องกลับสู่พื้นฐานแล้วครับใช้ Char[] แทน

MT4_EXPFUNC char* _stdcall CheckTerminal(char paths[100])
{ char aaa[100];
strcpy(aaa,paths);
 strcat(aaa,"\\terminal.exe"  );
 
return aaa;
   
}

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #94 on: ตุลาคม 18, 2012, 12:54:43 pm »
ขอบคุณอย่างแรงครับ ผ่านแล้ว แต่ strcpy กับ strcat คอมไพล์ไม่ผ่าน  มันให้ใช้ strcpy_s กับ strcat_s แทน พอเปลี่ยนก็ใช้ได้เลย

ที่จริงผมลองตั้งแต่เช้าแล้วนะ  แต่ไม่รู้ว่าเครื่องหมาย \ ต้องใส่ 2 อัน ผมใส่ไปอันเดียวแล้วมันออกมาเป็น  F:\ThinkForexerminal.exe  มันหายไป 2 ตัว \t เลยนึกว่าใช้ไม่ได้อีก


ยังงี้ฟังก์ชั่นอ่านไฟล์ ของ mfc ใช้ CString ผมก็ใช้ไม่ได้ด้วยสิครับ ทำไงดีครับ

http://objectoriented-programming.blogspot.com/2012/08/11-file-handling.html

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #95 on: ตุลาคม 18, 2012, 01:36:25 pm »
ขอบคุณอย่างแรงครับ ผ่านแล้ว แต่ strcpy กับ strcat คอมไพล์ไม่ผ่าน  มันให้ใช้ strcpy_s กับ strcat_s แทน พอเปลี่ยนก็ใช้ได้เลย

ที่จริงผมลองตั้งแต่เช้าแล้วนะ  แต่ไม่รู้ว่าเครื่องหมาย \ ต้องใส่ 2 อัน ผมใส่ไปอันเดียวแล้วมันออกมาเป็น  F:\ThinkForexerminal.exe  มันหายไป 2 ตัว \t เลยนึกว่าใช้ไม่ได้อีก


ยังงี้ฟังก์ชั่นอ่านไฟล์ ของ mfc ใช้ CString ผมก็ใช้ไม่ได้ด้วยสิครับ ทำไงดีครับ

http://objectoriented-programming.blogspot.com/2012/08/11-file-handling.html
ไปหา download visual c++ 6.0 มาใช้ครับ ใช้ได้ทุกอย่าง syntax ไม่วุ่นวายเหมือนตัวใหม่ๆๆด้วยครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #96 on: ตุลาคม 18, 2012, 01:44:58 pm »
Decompile ไม่ออกด้วยหรือเปล่าครับ

ขอชื่อรุ่นโปรแกรมเต็มๆหน่อยครับ กันโหลดผิด
« Last Edit: ตุลาคม 18, 2012, 01:47:34 pm by D_Diamond »

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #97 on: ตุลาคม 18, 2012, 02:50:34 pm »
Decompile ไม่ออกด้วยหรือเปล่าครับ

ขอชื่อรุ่นโปรแกรมเต็มๆหน่อยครับ กันโหลดผิด

Microsoft Visual C++ 6.0 Professional Edition  หรือ Microsoft Visual Studio 6.0  ตัวไหนก็ได้ครับ ตัวนี้ก็ Decomplie ไม่ได้เหมือนกันครับ แต่ต้องลงบน win xp นะครับ ถ้าไม่มีใช้พวก vmware จำลองก้ใช้ได้ครับ version นี้ผมเขียน code แล้วใช้ MT4 ได้ไม่มีปัญหาเลยครับเพราะ MT4 ก็ใช้ version นี้สร้างมา ส่วน String โดยใช้ CString ก็ไม่มีปัญหา ตัว Syntax ก็ง่ายกว่า ครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #98 on: ตุลาคม 18, 2012, 03:12:20 pm »
ขอบคุณครับ  เดี๋ยวลองดูก่อน อิอิ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #99 on: ตุลาคม 18, 2012, 03:59:21 pm »
ท่านแอดมินพอจะมีโค้ดตัวอย่าง mfc ให้ไปศึกษาบ้างไหมครับ  จะได้ไม่ต้องถามบ่อยๆ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #100 on: ตุลาคม 18, 2012, 04:44:45 pm »
ท่านแอดมินพอจะมีโค้ดตัวอย่าง mfc ให้ไปศึกษาบ้างไหมครับ  จะได้ไม่ต้องถามบ่อยๆ
ลองหา PDF ต่างประเทศดูครับสมัย 7-8 ที่ผมเรียนก็จาก PDF ครับ แต่ MFC จริงๆๆมันเน้น ออกด้านกราฟฟิก ถ้าอยากได้โปรแกรมมิ่งจริงๆๆต้องเรียน ภาษา C++ ตรงๆๆครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #101 on: ตุลาคม 18, 2012, 05:44:17 pm »
MT4_EXPFUNC CString _stdcall CheckTerminal(char* paths)
{
 CString temp(paths);
 CString path = temp + _T("\terminal.exe") ;
return path;
   
}

เปลี่ยนมาใช้ c++ 6.0 enterprise กับวิน XP มันก็ใช้ CString ไม่ได้เหมือนกันครับ เหนื่อยใจ

2012.10.18 17:36:28   test_dwall EURUSDm,M15: Terminal path is | etaTrader - EXNESS

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #102 on: ตุลาคม 18, 2012, 08:42:22 pm »
ใน visual c++ 6.0 นะครับ
MT4_EXPFUNC char* _stdcall CheckTerminal(char* paths)
{  CString a=paths ;
   a=a+"\\terminal.exe";
char *pStr=new char[a.GetLength()];
strcpy(pStr,a.GetBuffer(a.GetLength()-1));
return pStr;
   
}

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #103 on: ตุลาคม 19, 2012, 11:29:00 am »
สรุปว่า 6.0 ก็ต้องรีเทิร์นเป็น char* อยู่ดีสินะครับ

แต่ดีกว่าตรงที่ CString รับค่าจาก char* ได้ด้วย แต่ 2012 เออเร่อ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #104 on: ตุลาคม 19, 2012, 12:10:16 pm »
สรุปว่า 6.0 ก็ต้องรีเทิร์นเป็น char* อยู่ดีสินะครับ

แต่ดีกว่าตรงที่ CString รับค่าจาก char* ได้ด้วย แต่ 2012 เออเร่อ

จริงๆเราส่งออกไปเป็น CString เลยก้ได้แต่ข้อความที่ได้มันจะได้ตัวอักษรแปลกๆที่ด้านหน้าข้อความ เกิดจากการการอ่านตำแหน่งไบต์ไม่ครบ แต่การที่เราส่ง char* คือบอกให้โปรแกรมไปอ่านค่าข้อมูลในหน่วยความจำที่ Pointer ชี้อยู่ ที่นี้ใน version 6 เราให้ CString รับค่า char ได้ตรงๆๆแค่นี้ก็ดีกว่า version ใหม่มากแล้ว เพราะแปลงค่าเป้น CString เราก็เอาไปกระทำกันแบบ String ได้แล้วซึ้งง่ายกว่า version มากๆๆ