var
talepForm: TclStyleForm;
baslikLbl: TClProLabel;
requestpnl: TClProPanel;
baslikedit, aciklamaedit: TClProEdit;
eklebtn: TClProButton;
kullaniciEmail: String;
UserID: Integer;
RestAI:TclRest;
bekleyenBaslik, bekleyenAciklama: String;
responseText: String;
modul:TclJSONQuery;
void TalepEkle;
{
bekleyenBaslik = baslikedit.Text;
bekleyenAciklama = aciklamaedit.Text;
RestAI.BaseURL = ' https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=apikeyimiyazdı" rel="nofollow - https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=apikeyimiyazdı m';
RestAI.Method = rmPOST;
RestAI.ContentType = 'application/json';
RestAI.Body = '{"contents":[{"parts":[{"text":"Aşağıdaki açıklama hangi yazılım modülüne ait? Sadece modül adını belirt:\n\"' + bekleyenAciklama + '\""}]}]}';
RestAI.ExecuteAsync;
ShowMessage('Yapay zeka tahmin yapıyor...');
}
void AIYanitiGeldi;
{
responseText = RestAI.Body;
modul= TCLJSONQuery.Create(nil);
modul = Clomosy.ClDataSetFromJSON(responseText);
kullaniciEmail = Clomosy.GlobalVariableString;
UserID = Clomosy.GlobalVariableString;
Clomosy.DBSQLiteQuery.SQL.Text =
'INSERT INTO Talepler (kullanici_email, kullanici_id, baslik, aciklama, modul) VALUES (' +
QuotedStr(kullaniciEmail) + ',' +
IntToStr(UserID) + ',' +
QuotedStr(bekleyenBaslik) + ',' +
QuotedStr(bekleyenAciklama) + ',' +
QuotedStr(modul) + ')';
Clomosy.DBSQLiteQuery.OpenOrExecute;
ShowMessage('Talep başarıyla eklendi. Tahmini modül: ' + modul);
baslikedit.Text = '';
aciklamaedit.Text = '';
}
{
talepForm = TclStyleForm.Create(Self);
talepForm.SetFormBGImage(' https://i.imgur.com/rQmEqR4.jpeg" rel="nofollow - https://i.imgur.com/rQmEqR4.jpeg ');
baslikLbl = talepForm.AddNewProLabel(talepForm, 'baslikLbl', 'Talep Oluştur');
baslikLbl.Align = alTop;
baslikLbl.Margins.Top = 10;
baslikLbl.Height = 40;
baslikLbl.clProSettings.FontSize = 30;
baslikLbl.clProSettings.TextSettings.Font.Style = [fsBold];
baslikLbl.clProSettings.FontHorzAlign = palCenter;
baslikLbl.SetclProSettings(baslikLbl.clProSettings);
requestpnl = talepForm.AddNewProPanel(talepForm, 'requestpnl');
requestpnl.Align = alCenter;
requestpnl.Height = 350;
requestpnl.Width = 400;
requestpnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ffffff');
requestpnl.clProSettings.RoundWidth = 8;
requestpnl.clProSettings.RoundHeight = 8;
requestpnl.SetclProSettings(requestpnl.clProSettings);
requestpnl.BringToFront;
baslikedit = talepForm.AddNewProEdit(requestpnl, 'baslikedit', 'Talep Başlığı');
baslikedit.Align = alTop;
baslikedit.Height = 40;
baslikedit.Width = 60;
baslikedit.clProSettings.FontHorzAlign = palCenter;
baslikedit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#58d7f4');
baslikedit.SetclProSettings(baslikedit.clProSettings);
aciklamaedit = talepForm.AddNewProEdit(requestpnl, 'aciklamaedit', 'Açıklama');
aciklamaedit.Align = alTop;
aciklamaedit.Margins.Top = 10;
aciklamaedit.Height = 200;
aciklamaedit.Width = 250;
aciklamaedit.clProSettings.FontVertAlign = palLeading;
aciklamaedit.clProSettings.FontHorzAlign = palLeading;
aciklamaedit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#58d7f4');
aciklamaedit.SetclProSettings(aciklamaedit.clProSettings);
eklebtn = talepForm.AddNewProButton(requestpnl, 'eklebtn', 'EKLE');
eklebtn.Align = alBottom;
eklebtn.Margins.Bottom = 5;
eklebtn.Height = 40;
eklebtn.Width = 60;
eklebtn.Margins.Right = 60;
eklebtn.Margins.Left = 60;
eklebtn.clProSettings.RoundHeight = 8;
eklebtn.clProSettings.RoundWidth = 8;
eklebtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#58d7f4');
eklebtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
eklebtn.clProSettings.TextSettings.Font.Style = [fsBold];
eklebtn.clProSettings.FontSize = 20;
eklebtn.SetclProSettings(eklebtn.clProSettings);
talepForm.AddNewEvent(eklebtn, tbeOnClick, 'TalepEkle');
RestAI = TclRest.Create;
RestAI.OnCompleted = 'AIYanitiGeldi';
talepForm.Run;
}