Yorumları: 101
Konuları: 15
Kayıt Tarihi: 29-03-2021
Aktif Kullandığınız Delphi Sürümü:
- Delphi 11
- Delphi 10.4
- Delphi 10.3
Rep Puanı: 185 Başlangıç
29-03-2021, Saat: 16:06
(Son Düzenleme: 30-03-2021, Saat: 16:41, Düzenleyen: Mesut.)
Merhabalar
Kimlik onayı doğrulamak için Idhttp ile bir sunucuya bağlanarak göndermekte olduğum verilerin geri dönüşüyle ilgili takıldığım bir nokta var resimleri ve kodu da aşağıda paylaşacağım
takıldığım mesele şu ki status 200 döndüğü zxaman sıkıntısız birr şekilde verilerimi alıp memo1 içine response yazdırabiliyorum ama 200 değilde 400 olarak döndüğü zaman onu yakalayamıyorum ve memo içine yazdıramıyorum ve ve sistem hatayı otomatik olarak messagebox şeklinde ekrana veriyor. acaba hatalı kullanımı nerde yaptım ?
kodu aşağıda paylaşıyorum postman ile karşılaştırmalı verilerimin resimlerini de aşağıya koyuyorum
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
cxLookAndFeelPainters, cxContainer, cxEdit, dxSkinsCore, dxSkinBasic,
dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee,
dxSkinDarkroom, dxSkinDarkSide, dxSkinDevExpressDarkStyle,
dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast,
dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky,
dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins,
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black,
dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinOffice2013White,
System.Net.HttpClientComponent, dxSkinOffice2016Colorful,
dxSkinOffice2016Dark, dxSkinOffice2019Black, dxSkinOffice2019Colorful,
dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven,
dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver,
dxSkinSpringtime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld,
dxSkinTheBezier, dxSkinsDefaultPainters, dxSkinValentine,
dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark,
dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint,
dxSkinXmas2008Blue, Vcl.Menus, Vcl.StdCtrls, dxGDIPlusClasses, cxImage,
cxButtons, cxTextEdit, IdBaseComponent, System.JSON, IdComponent,
IdTCPConnection, DateUtils,
IdTCPClient, IdHTTP, Vcl.ComCtrls, dxCore, cxDateUtils, cxMaskEdit,
cxDropDownEdit, cxCalendar;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
cxSoyadED: TcxTextEdit;
cxAdEd: TcxTextEdit;
cxtcED: TcxTextEdit;
cxDateEdit1: TcxDateEdit;
cxImage2: TcxImage;
cxImage1: TcxImage;
IdHTTP1: TIdHTTP;
Kontrol: TcxButton;
Memo1: TMemo;
procedure KontrolClick(Sender: TObject);
private
procedure KimlikONay;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.KimlikONay();
Var
HTMLStream: TStringStream;
PostData: TStringList;
response, Error, status: string;
JSonValue: TJSonValue;
gun, ay, yil: String;
Begin
if cxDateEdit1.Text='' then
Begin
showmessage('Tarih Girin');
exit;
End;
PostData := TStringList.Create;
yil := YearOf(cxDateEdit1.Date).ToString;
ay := MonthOf(cxDateEdit1.Date).ToString;
gun := DayOf(cxDateEdit1.Date).ToString;
PostData.Add('method=verifiedTc');
PostData.Add('tc=' + cxtcED.Text);
PostData.Add('name=' + cxAdEd.Text);
PostData.Add('surname=' + cxSoyadED.Text);
PostData.Add('day=' + gun);
PostData.Add('month=' + ay);
PostData.Add('year=' + yil);
IdHTTP1.Request.CustomHeaders.Values['Authorization'] :='...........';response := IdHTTP1.Post('https:/....../..../.../index.php?SERVICE=Verified',PostData);
JSonValue := TJSONObject.ParseJSONValue(response);
status := JSonValue.GetValue<string>('status');
if (status = '200') then
Begin
Showmessage('Tc Kimlik No Onaylandı');
Showmessage(status);
Memo1.Text := response;
cxImage1.visible := True;
cxImage2.visible := False;
End;
if (status<>'200') then
Begin
Error := JSonValue.GetValue<string>('error');
Showmessage('Onaylanmadı');
Memo1.Text := response;
cxImage1.visible := False;
cxImage2.visible := True;
End;
Memo1.Text := response;
PostData.Free;
End;
procedure TForm1.KontrolClick(Sender: TObject);
begin
KimlikONay();
end;
end.
Yorumları: 357
Konuları: 30
Kayıt Tarihi: 10-07-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.3
- Lazarus / FPC
Rep Puanı: 4.215 Uzman
29-03-2021, Saat: 16:39
(Son Düzenleme: 29-03-2021, Saat: 16:41, Düzenleyen: savasabd.)
(29-03-2021, Saat: 16:06)Mesut Adlı Kullanıcıdan Alıntı: Merhabalar
Kimlik onayı doğrulamak için Idhttp ile bir sunucuya bağlanarak göndermekte olduğum verilerin geri dönüşüyle ilgili takıldığım bir nokta var resimleri ve kodu da aşağıda paylaşacağım
takıldığım mesele şu ki status 200 döndüğü zxaman sıkıntısız birr şekilde verilerimi alıp memo1 içine response yazdırabiliyorum ama 200 değilde 400 olarak döndüğü zaman onu yakalayamıyorum ve memo içine yazdıramıyorum ve ve sistem hatayı otomatik olarak messagebox şeklinde ekrana veriyor. acaba hatalı kullanımı nerde yaptım ?
kodu aşağıda paylaşıyorum postman ile karşılaştırmalı verilerimin resimlerini de aşağıya koyuyorum






unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
cxLookAndFeelPainters, cxContainer, cxEdit, dxSkinsCore, dxSkinBasic,
dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee,
dxSkinDarkroom, dxSkinDarkSide, dxSkinDevExpressDarkStyle,
dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast,
dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky,
dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins,
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black,
dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinOffice2013White,
System.Net.HttpClientComponent, dxSkinOffice2016Colorful,
dxSkinOffice2016Dark, dxSkinOffice2019Black, dxSkinOffice2019Colorful,
dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven,
dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver,
dxSkinSpringtime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld,
dxSkinTheBezier, dxSkinsDefaultPainters, dxSkinValentine,
dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark,
dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint,
dxSkinXmas2008Blue, Vcl.Menus, Vcl.StdCtrls, dxGDIPlusClasses, cxImage,
cxButtons, cxTextEdit, IdBaseComponent, System.JSON, IdComponent,
IdTCPConnection, DateUtils,
IdTCPClient, IdHTTP, Vcl.ComCtrls, dxCore, cxDateUtils, cxMaskEdit,
cxDropDownEdit, cxCalendar;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
cxSoyadED: TcxTextEdit;
cxAdEd: TcxTextEdit;
cxtcED: TcxTextEdit;
cxDateEdit1: TcxDateEdit;
cxImage2: TcxImage;
cxImage1: TcxImage;
IdHTTP1: TIdHTTP;
Kontrol: TcxButton;
Memo1: TMemo;
procedure KontrolClick(Sender: TObject);
private
procedure KimlikONay;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.KimlikONay();
Var
HTMLStream: TStringStream;
PostData: TStringList;
response, Error, status: string;
JSonValue: TJSonValue;
gun, ay, yil: String;
Begin
if cxDateEdit1.Text='' then
Begin
showmessage('Tarih Girin');
exit;
End;
PostData := TStringList.Create;
yil := YearOf(cxDateEdit1.Date).ToString;
ay := MonthOf(cxDateEdit1.Date).ToString;
gun := DayOf(cxDateEdit1.Date).ToString;
PostData.Add('method=verifiedTc');
PostData.Add('tc=' + cxtcED.Text);
PostData.Add('name=' + cxAdEd.Text);
PostData.Add('surname=' + cxSoyadED.Text);
PostData.Add('day=' + gun);
PostData.Add('month=' + ay);
PostData.Add('year=' + yil);
IdHTTP1.Request.CustomHeaders.Values['Authorization'] :='...........';response := IdHTTP1.Post('https:/....../..../.../index.php?SERVICE=Verified',PostData);
JSonValue := TJSONObject.ParseJSONValue(response);
status := JSonValue.GetValue<string>('status');
if (status = '200') then
Begin
Showmessage('Tc Kimlik No Onaylandı');
Showmessage(status);
Memo1.Text := response;
cxImage1.visible := True;
cxImage2.visible := False;
End;
if (status<>'200') then
Begin
Error := JSonValue.GetValue<string>('error');
Showmessage('Onaylanmadı');
Memo1.Text := response;
cxImage1.visible := False;
cxImage2.visible := True;
End;
Memo1.Text := response;
PostData.Free;
End;
procedure TForm1.KontrolClick(Sender: TObject);
begin
KimlikONay();
end;
end.
Normalde indy mesajları göstermez vcl/fmx içinde default hata yakalayıcıları var onlar gösterir, eğer hatayı siz kendiniz yakalarsanız, default yakalayıcılar(handler) çalışmaz.
Örneğin:
try
//kodunuzu buraya yazınız
except
on E: EIdHTTPProtocolException do begin
if E.ErrorCode = 400 then
Memo1.Text := E.ErrorMessage
end;
Yorumları: 101
Konuları: 15
Kayıt Tarihi: 29-03-2021
Aktif Kullandığınız Delphi Sürümü:
- Delphi 11
- Delphi 10.4
- Delphi 10.3
Rep Puanı: 185 Başlangıç
(29-03-2021, Saat: 16:39)savasabd Adlı Kullanıcıdan Alıntı: (29-03-2021, Saat: 16:06)Mesut Adlı Kullanıcıdan Alıntı: Merhabalar
Kimlik onayı doğrulamak için Idhttp ile bir sunucuya bağlanarak göndermekte olduğum verilerin geri dönüşüyle ilgili takıldığım bir nokta var resimleri ve kodu da aşağıda paylaşacağım
takıldığım mesele şu ki status 200 döndüğü zxaman sıkıntısız birr şekilde verilerimi alıp memo1 içine response yazdırabiliyorum ama 200 değilde 400 olarak döndüğü zaman onu yakalayamıyorum ve memo içine yazdıramıyorum ve ve sistem hatayı otomatik olarak messagebox şeklinde ekrana veriyor. acaba hatalı kullanımı nerde yaptım ?
kodu aşağıda paylaşıyorum postman ile karşılaştırmalı verilerimin resimlerini de aşağıya koyuyorum






unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
cxLookAndFeelPainters, cxContainer, cxEdit, dxSkinsCore, dxSkinBasic,
dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee,
dxSkinDarkroom, dxSkinDarkSide, dxSkinDevExpressDarkStyle,
dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast,
dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky,
dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins,
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black,
dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinOffice2013White,
System.Net.HttpClientComponent, dxSkinOffice2016Colorful,
dxSkinOffice2016Dark, dxSkinOffice2019Black, dxSkinOffice2019Colorful,
dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven,
dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver,
dxSkinSpringtime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld,
dxSkinTheBezier, dxSkinsDefaultPainters, dxSkinValentine,
dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark,
dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint,
dxSkinXmas2008Blue, Vcl.Menus, Vcl.StdCtrls, dxGDIPlusClasses, cxImage,
cxButtons, cxTextEdit, IdBaseComponent, System.JSON, IdComponent,
IdTCPConnection, DateUtils,
IdTCPClient, IdHTTP, Vcl.ComCtrls, dxCore, cxDateUtils, cxMaskEdit,
cxDropDownEdit, cxCalendar;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
cxSoyadED: TcxTextEdit;
cxAdEd: TcxTextEdit;
cxtcED: TcxTextEdit;
cxDateEdit1: TcxDateEdit;
cxImage2: TcxImage;
cxImage1: TcxImage;
IdHTTP1: TIdHTTP;
Kontrol: TcxButton;
Memo1: TMemo;
procedure KontrolClick(Sender: TObject);
private
procedure KimlikONay;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.KimlikONay();
Var
HTMLStream: TStringStream;
PostData: TStringList;
response, Error, status: string;
JSonValue: TJSonValue;
gun, ay, yil: String;
Begin
if cxDateEdit1.Text='' then
Begin
showmessage('Tarih Girin');
exit;
End;
PostData := TStringList.Create;
yil := YearOf(cxDateEdit1.Date).ToString;
ay := MonthOf(cxDateEdit1.Date).ToString;
gun := DayOf(cxDateEdit1.Date).ToString;
PostData.Add('method=verifiedTc');
PostData.Add('tc=' + cxtcED.Text);
PostData.Add('name=' + cxAdEd.Text);
PostData.Add('surname=' + cxSoyadED.Text);
PostData.Add('day=' + gun);
PostData.Add('month=' + ay);
PostData.Add('year=' + yil);
IdHTTP1.Request.CustomHeaders.Values['Authorization'] :='...........';response := IdHTTP1.Post('https:/....../..../.../index.php?SERVICE=Verified',PostData);
JSonValue := TJSONObject.ParseJSONValue(response);
status := JSonValue.GetValue<string>('status');
if (status = '200') then
Begin
Showmessage('Tc Kimlik No Onaylandı');
Showmessage(status);
Memo1.Text := response;
cxImage1.visible := True;
cxImage2.visible := False;
End;
if (status<>'200') then
Begin
Error := JSonValue.GetValue<string>('error');
Showmessage('Onaylanmadı');
Memo1.Text := response;
cxImage1.visible := False;
cxImage2.visible := True;
End;
Memo1.Text := response;
PostData.Free;
End;
procedure TForm1.KontrolClick(Sender: TObject);
begin
KimlikONay();
end;
end.
Normalde indy mesajları göstermez vcl/fmx içinde default hata yakalayıcıları var onlar gösterir, eğer hatayı siz kendiniz yakalarsanız, default yakalayıcılar(handler) çalışmaz.
Örneğin:
try
//kodunuzu buraya yazınız
except
on E: EIdHTTPProtocolException do begin
if E.ErrorCode = 400 then
Memo1.Text := E.ErrorMessage
end;
Teşekkür ederim ben try kullanırken exception ile ykalamaya çalışıyordum ama bu şekilde E.Errormessage içindeki 'error 'nasıl yakalayabilirim ?
Yorumları: 357
Konuları: 30
Kayıt Tarihi: 10-07-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.3
- Lazarus / FPC
Rep Puanı: 4.215 Uzman
29-03-2021, Saat: 17:11
(Son Düzenleme: 29-03-2021, Saat: 17:15, Düzenleyen: savasabd.)
procedure TForm1.KimlikONay();
Var
HTMLStream: TStringStream;
PostData: TStringList;
response, Error, status: string;
JSonValue: TJSonValue;
gun, ay, yil: String;
Begin
if cxDateEdit1.Text='' then
Begin
showmessage('Tarih Girin');
exit;
End;
PostData := TStringList.Create;
yil := YearOf(cxDateEdit1.Date).ToString;
ay := MonthOf(cxDateEdit1.Date).ToString;
gun := DayOf(cxDateEdit1.Date).ToString;
PostData.Add('method=verifiedTc');
PostData.Add('tc=' + cxtcED.Text);
PostData.Add('name=' + cxAdEd.Text);
PostData.Add('surname=' + cxSoyadED.Text);
PostData.Add('day=' + gun);
PostData.Add('month=' + ay);
PostData.Add('year=' + yil);
try
try
IdHTTP1.Request.CustomHeaders.Values['Authorization'] :='...........';response := IdHTTP1.Post('https:/....../..../.../index.php?SERVICE=Verified',PostData);
JSonValue := TJSONObject.ParseJSONValue(response);
status := JSonValue.GetValue<string>('status');
if (status = '200') then
Begin
Showmessage('Tc Kimlik No Onaylandı');
Showmessage(status);
cxImage1.visible := True;
cxImage2.visible := False;
End;
if (status<>'200') then
Begin
Error := JSonValue.GetValue<string>('error');
Showmessage('Onaylanmadı');
cxImage1.visible := False;
cxImage2.visible := True;
End;
except
on E: EIdHTTPProtocolException do begin
if E.ErrorCode = 400 then
response := E.ErrorMessage
end;
end;
finally
Memo1.Text := response;
PostData.Free;
end;;
End;
Yorumları: 101
Konuları: 15
Kayıt Tarihi: 29-03-2021
Aktif Kullandığınız Delphi Sürümü:
- Delphi 11
- Delphi 10.4
- Delphi 10.3
Rep Puanı: 185 Başlangıç
(29-03-2021, Saat: 17:11)savasabd Adlı Kullanıcıdan Alıntı: procedure TForm1.KimlikONay();
Var
HTMLStream: TStringStream;
PostData: TStringList;
response, Error, status: string;
JSonValue: TJSonValue;
gun, ay, yil: String;
Begin
if cxDateEdit1.Text='' then
Begin
showmessage('Tarih Girin');
exit;
End;
PostData := TStringList.Create;
yil := YearOf(cxDateEdit1.Date).ToString;
ay := MonthOf(cxDateEdit1.Date).ToString;
gun := DayOf(cxDateEdit1.Date).ToString;
PostData.Add('method=verifiedTc');
PostData.Add('tc=' + cxtcED.Text);
PostData.Add('name=' + cxAdEd.Text);
PostData.Add('surname=' + cxSoyadED.Text);
PostData.Add('day=' + gun);
PostData.Add('month=' + ay);
PostData.Add('year=' + yil);
try
try
IdHTTP1.Request.CustomHeaders.Values['Authorization'] :='...........';response := IdHTTP1.Post('https:/....../..../.../index.php?SERVICE=Verified',PostData);
JSonValue := TJSONObject.ParseJSONValue(response);
status := JSonValue.GetValue<string>('status');
if (status = '200') then
Begin
Showmessage('Tc Kimlik No Onaylandı');
Showmessage(status);
cxImage1.visible := True;
cxImage2.visible := False;
End;
if (status<>'200') then
Begin
Error := JSonValue.GetValue<string>('error');
Showmessage('Onaylanmadı');
cxImage1.visible := False;
cxImage2.visible := True;
End;
except
on E: EIdHTTPProtocolException do begin
if E.ErrorCode = 400 then
response := E.ErrorMessage
end;
end;
finally
Memo1.Text := response;
PostData.Free;
end;;
End;
ya ilgi ve yardımlarınız için gerçekten çok teşekkür ederim. sizi uğraştırıyorum muhtemelen ama benim istediğim tam olarak kırmızı ile altını çizdiğim ifadeyi alıp ekranda uyarı olarak göstermek
Yorumları: 266
Konuları: 30
Kayıt Tarihi: 14-03-2021
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 2.796 Uzman
Merhaba,
Konunun çözümünden bağımsız olarak, kodlarınızı delphi kod biçimlendirme ile eklerseniz daha anlaşılır, okunaklı ve ileriye dönük olacaktır.
Yorumları: 101
Konuları: 15
Kayıt Tarihi: 29-03-2021
Aktif Kullandığınız Delphi Sürümü:
- Delphi 11
- Delphi 10.4
- Delphi 10.3
Rep Puanı: 185 Başlangıç
(29-03-2021, Saat: 17:30)Mr.X Adlı Kullanıcıdan Alıntı: Merhaba,
Konunun çözümünden bağımsız olarak, kodlarınızı delphi kod biçimlendirme ile eklerseniz daha anlaşılır, okunaklı ve ileriye dönük olacaktır.
unit kimlikonay;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
cxLookAndFeelPainters, cxContainer, cxEdit, dxSkinsCore, dxSkinBasic,
dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee,
dxSkinDarkroom, dxSkinDarkSide, dxSkinDevExpressDarkStyle,
dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast,
dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky,
dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins,
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black,
dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinOffice2013White,
System.Net.HttpClientComponent, dxSkinOffice2016Colorful,
dxSkinOffice2016Dark, dxSkinOffice2019Black, dxSkinOffice2019Colorful,
dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven,
dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver,
dxSkinSpringtime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld,
dxSkinTheBezier, dxSkinsDefaultPainters, dxSkinValentine,
dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark,
dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint,
dxSkinXmas2008Blue, Vcl.Menus, Vcl.StdCtrls, dxGDIPlusClasses, cxImage,
cxButtons, cxTextEdit, IdBaseComponent, System.JSON, IdComponent,
IdTCPConnection, DateUtils,
IdTCPClient, IdHTTP, Vcl.ComCtrls, dxCore, cxDateUtils, cxMaskEdit,
cxDropDownEdit, cxCalendar;
type
TForm2 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
cxtcED: TcxTextEdit;
cxAdEd: TcxTextEdit;
cxSoyadED: TcxTextEdit;
Kontrol: TcxButton;
cxImage1: TcxImage;
cxImage2: TcxImage;
Memo1: TMemo;
cxDateEdit1: TcxDateEdit;
cxButton1: TcxButton;
IdHTTP1: TIdHTTP;
procedure KontrolClick(Sender: TObject);
procedure cxButton1Click(Sender: TObject);
private
procedure kimlikonay;
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.cxButton1Click(Sender: TObject);
var
gun, ay, yil: String;
begin
yil := YearOf(cxDateEdit1.Date).ToString;
ay := MonthOf(cxDateEdit1.Date).ToString;
gun := DayOf(cxDateEdit1.Date).ToString;
Showmessage(gun);
Showmessage(ay);
Showmessage(yil);
end;
procedure TForm2.kimlikonay();
Var
HTMLStream: TStringStream;
PostData: TStringList;
response, Error, status: string;
JSonValue: TJSonValue;
gun, ay, yil: String;
Begin
if cxDateEdit1.Text = '' then
Begin
Showmessage('Tarih Girin');
exit;
End;
try
PostData := TStringList.Create;
yil := YearOf(cxDateEdit1.Date).ToString;
ay := MonthOf(cxDateEdit1.Date).ToString;
gun := DayOf(cxDateEdit1.Date).ToString;
try
PostData.Add('method=verifiedTc');
PostData.Add('tc=' + cxtcED.Text);
PostData.Add('name=' + cxAdEd.Text);
PostData.Add('surname=' + cxSoyadED.Text);
PostData.Add('day=' + gun);
PostData.Add('month=' + ay);
PostData.Add('year=' + yil);
IdHTTP1.Request.CustomHeaders.Values['Authorization'] :=
'...........';
response := IdHTTP1.Post
('https://....../...../..../index.php?SERVICE=Verified',
PostData);
JSonValue := TJSONObject.ParseJSONValue(response);
status := JSonValue.GetValue<string>('status');
if (status = '200') then
Begin
Showmessage('Tc Kimlik No Onaylandı');
Showmessage(status);
Memo1.Text := response;
cxImage1.visible := True;
cxImage2.visible := False;
End;
finally
Memo1.Text := response;
PostData.Free;
end;
except
on E: EIdHTTPProtocolException do
Begin
if E.ErrorCode = 400 then
Memo1.Text := E.ErrorMessage;
cxImage1.visible := False;
cxImage2.visible := True;
End;
end;
End;
procedure TForm2.KontrolClick(Sender: TObject);
begin
kimlikonay();
end;
end.
merhaba haklısınız ekeldim
Yorumları: 357
Konuları: 30
Kayıt Tarihi: 10-07-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.3
- Lazarus / FPC
Rep Puanı: 4.215 Uzman
29-03-2021, Saat: 17:39
(Son Düzenleme: 29-03-2021, Saat: 17:40, Düzenleyen: savasabd.)
Estağfurullah, üstadım http 400 (Bad Request) hatalı istek anlamına gelir yani size hata mesajından başka bir cevap dönmez, eğer çıktıyı belirtiğiniz gibi vermek istiyorsanız, http 400 hatası aldığınızda kırmızıyla altını çizdiğiniz gibi hazır response(string) ifade hazırlayın, 400 hatası oluştuğunda direk o hazır mesajı gösterin kullanıcıya.
Yorumları: 101
Konuları: 15
Kayıt Tarihi: 29-03-2021
Aktif Kullandığınız Delphi Sürümü:
- Delphi 11
- Delphi 10.4
- Delphi 10.3
Rep Puanı: 185 Başlangıç
(29-03-2021, Saat: 17:39)savasabd Adlı Kullanıcıdan Alıntı: Estağfurullah, üstadım http 400 (Bad Request) hatalı istek anlamına gelir yani size hata mesajından başka bir cevap dönmez, eğer çıktıyı belirtiğiniz gibi vermek istiyorsanız, http 400 hatası aldığınızda kırmızıyla altını çizdiğiniz gibi hazır response(string) ifade hazırlayın, 400 hatası oluştuğunda direk o hazır mesajı gösterin kullanıcıya.
evet ama sunucudan tek cevap değil birden fazla cevap gelebiliyor misal
gibi
Yorumları: 357
Konuları: 30
Kayıt Tarihi: 10-07-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.3
- Lazarus / FPC
Rep Puanı: 4.215 Uzman
29-03-2021, Saat: 17:51
(Son Düzenleme: 29-03-2021, Saat: 17:51, Düzenleyen: savasabd.)
|