ステップ1:トークンアドレスを取得します
1つの 関数TfrmMain.GetToken(TokenUrl、lbledtAPIKEY、lbledtSecretKey 2 :文字列):文字列。 3 開始 4 と RESTClient1 ん 5 始める 6 BASEURLを:= TokenUrl。 7 端; 8 と RESTRequest1がない 9 始まる 10 法:= rmPOST。 11 AcceptCharSet:= ' UTF-8 ' ; 12 Params.Clear; 13 AddParameter("grant_type ' ' client_credentials " ); 14 AddParameter(' CLIENT_ID ' 、lbledtAPIKEY)。 15 // API IDキー 16 AddParameter(' client_secret ' 、lbledtSecretKey)。 17 // APIの秘密鍵 18 を実行。 19 結果:= RESTResponse1.Content。 20 端部、 21 端部、 22 23 機能 TfrmMain.GetAccessToken(jsonstr:文字列):文字列 ; // 取jsonstring值 24 VAR 25 城:TjsonObject。 26組の JV:TjsonValue。 27 開始 28 城を:= nilを; 29 城:= TjsonObject。作成します。 30 ジョー= TjsonObject.parsejsonvalue(Tencoding.utf8.getbytes(jsonstr)、0 ) 31 としてTjsonObject。 32 JV:= jo.Get(' access_tokenは' ).JsonValue。 33 結果:= jv.Value。 34 端部、 35 36 37 手順TfrmMain.Button1Click(送信者:TObjectを); 38 開始 39 lbledtToken.Textを:= GetAccessToken(入手トークン(lbledtTokenUrl.Text、 40 lbledtAPIKEY.Text、lbledtSecretKey.Text))。 41 端部、
ステップ2:ナンバープレートを識別
機能 TfrmMain.GetCarNumJson(AccessToken、CarNumAPI:文字列):文字列; VaRの strtemp:文字列; 温度:TjsonObject。 STRM:TMemoryStream; SS:TStringStream。 S:文字列; 始める 場合 frmMain.Image1.Picture.Graphic <> nilで 、その後 始まる :STRMを = TMemoryStream。作成します。 frmMain.Image1.Picture.SaveToStream(STRM)。 SS: = TStringStream。作成し('' ); strm.Position: = 0 ; EncodeStream(STRM、SS)。// 将内存流编码为base64で字符流 S:= ss.DataString。 strm.Free; ss.Free; エンド; RESTClient1.BaseURL: = CarNumAPI。 RESTRequest1.Params.Clear; RESTRequest1.AddParameter(' access_tokenは' 、AccessToken)。 RESTRequest1.AddParameter(' 画像' 、S)。 RESTRequest1.Execute; 結果: = RESTResponse1.Content。 エンド; 機能 TfrmMain.GetCarNum(CarNumJSONStr:文字列):文字列; VAR ジョー:TjsonObject; JO2:TjsonObject; JV:TjsonValue; jsonstr:文字列 ; // JSON文字列に変換する jsonstr2:文字列 ; // JSON文字列を変換するために 始める //が最初のネストされた文字列の削除 城:=をTjsonObject.parsejsonvalue(CarNumJSONStr)AS TjsonObject; jsonstr: = jo.GetValue(' words_result ' ).ToString; // その後、文字列の値 JO 2:= TjsonObject.parsejsonvalue(jsonstr)AS TjsonObject; jsonstr2: = jo.GetValue (' words_result ').ToString; しようと JVを: = jo2.Get(' 番号' ).JsonValue。 結果: = jv.Value。 最後に jo.Free; エンド; エンド; 手順TfrmMain.Button2Click(送信者:TObjectを); 開始 lbledtCarNum.Text: = GetCarNum(GetCarNumJson(lbledtToken.Text、 lbledtAPIURL.Text))。 エンド ;
最後に:結果マップ