Open Forex4you Account

Server รัน EA 1000 / ปี

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

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

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #120 on: ตุลาคม 22, 2012, 08:22:19 pm »
#include "wininet.h" แล้วเรียกใช้ได้เลยครับ  ไม่ต้องอิมพอร์ต

ผมลอกมาจากนี้ครับ  http://www.cplusplus.com/forum/windows/62128/

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #121 on: ตุลาคม 22, 2012, 08:25:18 pm »
#include "wininet.h" แล้วเรียกใช้ได้เลยครับ  ไม่ต้องอิมพอร์ต

ผมลอกมาจากนี้ครับ  http://www.cplusplus.com/forum/windows/62128/

ถ้าเรียก wininet.h ใช้ได้ก็ง่ายหละครับเพระาเป็น libary มาตราฐานอยู่แล้ว เราไม่ต้องไปเรียกจาก Dll มาใช้อีก

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #122 on: ตุลาคม 22, 2012, 08:44:28 pm »
ครับ ที่ยากสุดคือ string
จนตอนนี้ยังตัดคำเป็นบรรทัดไม่ได้เลยครับ มึนจริงๆ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #123 on: ตุลาคม 22, 2012, 09:19:48 pm »
ครับ ที่ยากสุดคือ string
จนตอนนี้ยังตัดคำเป็นบรรทัดไม่ได้เลยครับ มึนจริงๆ
ลองแปลงข้อความที่จะเขียนลงไฟล์เป้น CString ก่อน จากนั่นใช้ Remove ของ Cstring ช่วยดูตามตัวอย่างนี้ครับ http://msdn.microsoft.com/en-us/library/aa300579(v=vs.60).aspx

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #124 on: ตุลาคม 22, 2012, 09:43:57 pm »
ผมติดตรงนี้ครับ

CString content;
CString contentline;
int i =0;

   do {
      lpBuffer = new char[2000];
      ZeroMemory(lpBuffer, 2000);
      InternetReadFile(hFile, (LPVOID)lpBuffer, 1, &dwBytesRead);
         
          char* char1 = &lpBuffer[0] ;
         
        if( strcmp(char1,"\n") !=0 && strcmp(char1,"\r")!=0 )    // ทีละตัวอักษร   ถ้ายังไม่จบ  ให้เก็บต่อไว้ที่  content
         {
         content = content + &lpBuffer[0] ;
         }
        else              // จบบรรทัดแล้ว  ไม่รู้ทำไง  ใช้สตริงไม่ค่อยเป็นครับ
          {
                      i++;
           contentline = content ;              // แบบนี้ไม่เวิร์ก
                     content ="";
          }


      delete[] lpBuffer;
      lpBuffer = NULL;
   } while  (i==0);      //  ซ้อมเอาแค่บรรทัดเดียว



หลัง else มันต้องทำไง ถึงจะตัดคำมาไว้ที่สตริงตัวใหม่ได้ครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #125 on: ตุลาคม 22, 2012, 11:03:13 pm »
contentline  คุณจะให้มันเก็บค่าอะไรครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #126 on: ตุลาคม 22, 2012, 11:11:35 pm »
เก็บค่าข้อความที่อ่านได้บรรทัดแรกครับ

เช่น บนเว็บเขียน

00000
11111

ก็ต้องได้ค่า 00000 ครับ

ตรงนี้คือผมจะย้ายค่าข้อความไปเก็บอีกตัวแปร  แล้วลบค่าตัวแปรเดิมทิ้ง

contentline = content ;             
content ="";

เพราะว่าต้องเอา content ไปใช้ใหม่ในบรรทัดที่ 2 3 4 ....

ผมงงมากที่ผมตรวจหาตัวขึ้นบรรทัดได้แล้ว   แต่ผมไม่สามารถเอาข้อความมาเก็บในตัวแปรได้   ถ้าเป็น mq4 เขียนแบบนี้ใช้ได้ครับ
ที่จริงต้องทำอาเรย์เก็บหลายบรรทัด  แต่นี่ลองแค่บรรทัดเดียวก็ยังไม่ได้เลยครับ

สตริงมันมั่วเกิน  มีทั้ง char  char*  CSTring

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #127 on: ตุลาคม 22, 2012, 11:12:24 pm »
do {
      lpBuffer = new char[2000];
      ZeroMemory(lpBuffer, 2000);
      InternetReadFile(hFile, (LPVOID)lpBuffer, 1, &dwBytesRead);
         
          char* char1 = &lpBuffer[0] ;
         
        if( strcmp(char1,"\n") !=0 && strcmp(char1,"\r")!=0 )   
         {
         content = content + &lpBuffer[0] ;
         }
       

      delete[] lpBuffer;
      lpBuffer = NULL;
   } while  (i!=EOF); 

ลองแบบนี้ดูครับสุดท้ายถ้ามันถึง EOF แล้วให้เอา content ไปลองใช้ดูครับว่ามันเก็บ String ที่ตัวอักษรติดกันทั้งหมดหรือยัง

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #128 on: ตุลาคม 22, 2012, 11:14:39 pm »
เก็บค่าข้อความที่อ่านได้บรรทัดแรกครับ

เช่น บนเว็บเขียน

00000
11111

ก็ต้องได้ค่า 00000 ครับ

ตรงนี้คือผมจะย้ายค่าข้อความไปเก็บอีกตัวแปร  แล้วลบค่าตัวแปรเดิมทิ้ง

contentline = content ;             
content ="";

เพราะว่าต้องเอา content ไปใช้ใหม่ในบรรทัดที่ 2 3 4 ....

ผมงงมากที่ผมตรวจหาตัวขึ้นบรรทัดได้แล้ว   แต่ผมไม่สามารถเอาข้อความมาเก็บในตัวแปรได้   ถ้าเป็น mq4 เขียนแบบนี้ใช้ได้ครับ
ที่จริงต้องทำอาเรย์เก็บหลายบรรทัด  แต่นี่ลองแค่บรรทัดเดียวก็ยังไม่ได้เลยครับ

สตริงมันมั่วเกิน  มีทั้ง char  char*  CSTring

แล้วตัวแปร contentline ในบรรทัดที่ 2 3 4 ยังจะเอากลับมาใช้หรือเปล่าครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #129 on: ตุลาคม 22, 2012, 11:15:40 pm »
ผมลองเอาไปเขียนลงไฟล์  มันเขียนลงไฟล์ได้โดยติดกันหมดไม่เว้นบรรทัดครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #130 on: ตุลาคม 22, 2012, 11:18:38 pm »
จริงๆผมต้องการแบบนี้ครับ  url ตัวอย่างคืออันนี้  http://www.expertfxtrading.com/dmpaccno

ข้างในนั้นเก็บเลขบัญชีไว้

ผมต้องการอ่านไฟล์เว็บ  เพื่อดึงมาทีละ 1 บรรทัด  เอามาตรวจสอบกับเลขบัญชี MT4 ว่าตรงกันไหม

ซึ่งผมอ่านเว็บได้แล้ว
ตรวจจบบรรทัดได้แล้ว

แต่เอาไปเก็บในตัวแปรเพื่อตรวจสอบเลขบัญชีไม่ได้ครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #131 on: ตุลาคม 22, 2012, 11:24:08 pm »
ถ้าอย่างนั่นสิ่งที่คุณต้องการคือเอา contentline เก็บค่า String แล้วนำ contentline ไปใช้ตรวจสอบเลขบัญชีใช้ไหมครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #132 on: ตุลาคม 22, 2012, 11:51:13 pm »
ใช่ครับ วนลูปตรวจเอาทีละบรรทัด

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #133 on: ตุลาคม 23, 2012, 12:19:38 am »
เป็นปัญหาเดียวกับตอนส่งค่ากลับไปให้ MT4  ครับลองศึกษาจากโปรเจกที่ผมเขียนด้วย vc++ 6.0 นะครับจะเข้าใจเอง  ให้กด run โปรแกรมเลยนะครับ
« Last Edit: ตุลาคม 23, 2012, 05:04:21 am by admin »

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: [ถาม] วิธีตรวจสอบ URL
« Reply #134 on: ตุลาคม 23, 2012, 12:31:11 pm »
มันออกมาแบบนี้ครับ


a is 000000
pStr is  000000

###########################
a  : 000000
contentline : 000000
pStr : 000000



จากโค้ดผมก็ยัง งง อยู่ดี

char *pStr=new char[contentline.GetLength()];                          
strcpy(pStr,contentline.GetBuffer(contentline.GetLength()-1));

CString a="000000";

 if(a == "000000")             1. ทำไม a ใช้ == ได้
 {
    cout<<"a is 000000 "<<endl;
 
 }

if(contentline == "000000")    2. ทำไม contentline ใช้ไม่ได้
 {
    cout<<"contentline is 000000 "<<endl;
 
 }

3. a กับ contentline เป็น CString เหมือนกัน งง ครับ
4.pSTr ใช้ได้  แต่ พอส่งกลับไป mt4 มันติดข้างหน้าตัวแปลกๆไปด้วย เอาออกยังไงครับ ∩╗┐000000
« Last Edit: ตุลาคม 23, 2012, 12:47:02 pm by D_Diamond »