2015-01-31 84 views
0

大家晚上,在Delphi中使用本地主機

昨天給了我意識形態,所以我一直在抽出時間學習delphi。 我想(用GET請求/的Wininet)現在我已經使用在Delphi程序http://localhost問題發送可見URL數據,因爲當我嘗試使用本地主機這樣http://localhost,其評論的其他指令要連接

我使用的拉撒路,我的代碼是這樣

program InfoWininet; 

{$mode delphi}{$H+} 

uses 
    {$IFDEF UNIX}{$IFDEF UseCThreads} 
    cthreads, 
    {$ENDIF}{$ENDIF} 
    Classes , Windows , Wininet 
    { you can add units after this }; 

var 
    FirstName : string; 
    LastName: string; 
    Email: string ; 
    IDNumber: string; 
    IOpen, IURL: HINTERNET; 
    Read: Cardinal; 
    data: string; 
    Result : string; 
    http : HINTERNET; 

begin 
    Writeln('Enter Your First Name: '); 
    Readln(FirstName); 
    Writeln('Enter your Last Name: '); 
    Readln(LastName); 
    Writeln('Enter Your Email: '); 
    Readln(Email); 
    Writeln('Enter your ID Number: '); 
    Readln(IDNumber); 

    data := http://localhost/data.php?fname=' + FirstName + '&lastName=' + LastName + '&Email=' + Email + '&IdNumber=' + IDNumber; 
    begin 
    Result:=''; 
    try 
    IOpen := InternetOpen('Oxysys',INTERNET_OPEN_TYPE_PRECONFIG, '', '',INTERNET_FLAG_NEED_FILE); 
     if IOpen<>nil then 
     try 
     IURL:= InternetOpenUrl(IOpen, data, nil, 0,INTERNET_FLAG_DONT_CACHE, 0); 
    if IURL<> nil then 
     try 
      SetLength(data,4096); 
     repeat 
    if InternetReadFile(IURL,@data[1],4096,Read) then 
    Result:=Result + Copy(data,1,Read) 
     else 
     Break; 
    until Read = 0; 
    finally 
     InternetCloseHandle(IURL); 
    end; 
    finally 
     InternetCloseHandle(IOpen); 
     end; 
      except 
    end; 
      Writeln('Message Sent Successfully...'); 
      Readln; 
end; 
end. 

的問題是我遇到下面的錯誤,試圖編譯我的程序時

InfoWininet.lpr(33,13) Warning: Variable "http" does not seem to be initialized 
InfoWininet.lpr(33,13) Error: Incompatible types: got "Pointer" expected "AnsiString" 
InfoWininet.lpr(33,17) Fatal: Syntax error, ";" expected but ":" found 

什麼能真正成爲PROBL他們嗎?有人可以幫助,糾正問題,請嘗試學習德爾福很好。

+3

在'http:// ...'之前是不是缺少一個撇號? – Biffen 2015-01-31 19:28:52

回答

1
data := http://localhost/data.php?fname=' + FirstName + '&lastName=' + LastName + 
    '&Email=' + Email + '&IdNumber=' + IDNumber; 

您未能將字符串文字用引號括起來。它應該是:

data := 'http://localhost/data.php?fname=' + .... 
     ^
    quote missing here 
+0

另一個需要清晰的問題。我想使用一個使用Resource的程序,例如,現在第一個.exe文件被加載到第二個viz資源中,我希望它是一個Builder和存根的東西, 現在存根是假設獲取網址來自構建器,然後根據具體情況在其功能中使用URL。 如果要使用主構建器文件的URL,我是這樣做的: data:='textBox1.text'+ FirstName +'&lastName ='+ LastName +'&Email ='+ Email +'&IdNumber =' + IDNumber; – gyno 2015-01-31 20:23:17

+0

我不知道。我以爲你在問編譯器錯誤。 – 2015-01-31 21:05:23