![]() |
Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir. |
Fotoğraf ile hastalık tespiti servisi |
Yanıt Yaz ![]() |
Yazar | |
bedir_agdemir ![]() Yeni Üye ![]() Kayıt Tarihi: 11 Ağustos 2025 Konum: Stajyer Durum: Aktif Değil Puanlar: 5 |
![]() Yanıt Yaz
Alıntı bedir_agdemir
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() Gönderim Zamanı: 20 Ağustos 2025 Saat 16:20 |
Fotoğrafı çekip gönderdikten sonra Instace of "TclProImage" not created. hatası alıyorum uAnaliz birimi const GEMINI_API_KEY = ''; { var restIstegi: TclRest; base64Resim, gelenCevap, geminiCevap, prompt, jsonMektup, apiUrl: String; analizEdilecekDosyaYolu: String; analizEdilecekDosyaYolu = Clomosy.GlobalVariableString; if (analizEdilecekDosyaYolu <> '') { restIstegi = TclRest.Create; try ShowMessage('Fotoğraf yapay zekaya gönderiliyor, lütfen bekleyin...'); Clomosy.ProcessMessages; base64Resim = Clomosy.FileToBase64(analizEdilecekDosyaYolu); apiUrl = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-pro-vision:generateContent?key=' + GEMINI_API_KEY; prompt = 'Bu tarım bitkisinin fotoğrafını incele. Üzerinde herhangi bir hastalık belirtisi var mı? Varsa, hastalığın adı ne olabilir ve çiftçiye ne gibi bir öneride bulunursun? Cevabını kısa ve anlaşılır bir şekilde ver.'; jsonMektup = '{ "contents":[{"parts":[ {"text": "' + prompt + '"}, {"inline_data": { "mime_type":"image/jpeg", "data": "' + base64Resim + '" }} ]}]}'; restIstegi.BaseURL = apiUrl; restIstegi.Method = rmPOST; restIstegi.AddBody(jsonMektup, 'application/json'); restIstegi.Execute; gelenCevap = restIstegi.Response; geminiCevap = clGetStringAfter(gelenCevap, '"text": "'); geminiCevap = clGetStringTo(geminiCevap, '"'); geminiCevap = clGetStringReplace(geminiCevap, '\\n', #13#10); if (geminiCevap <> '') { ShowMessage('Yapay Zeka Analiz Sonucu:' + #13#10 + geminiCevap); } else { ShowMessage('Yapay zekadan cevap alınamadı.'); } } }
|
|
![]() |
|
Developer ![]() Forum Yöneticisi ![]() Kayıt Tarihi: 14 Haziran 2023 Durum: Aktif Değil Puanlar: 387 |
![]() Yanıt Yaz
Alıntı Developer
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
Merhaba Bedir
Projenin butun kodlarini paylasabilir misin?
|
|
![]() |
|
bedir_agdemir ![]() Yeni Üye ![]() Kayıt Tarihi: 11 Ağustos 2025 Konum: Stajyer Durum: Aktif Değil Puanlar: 5 |
![]() Yanıt Yaz
Alıntı bedir_agdemir
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
// ====================================================================== // BİRİM: uAnaUygulama // ====================================================================== var anaForm: TclStyleForm; konumButton, havaDurumuButton, haritaButton, tohumOneriButton, sohbetButton, cikisButton, analizButton: TclProButton; sonucLabel, havaDurumuLabel, baslikLabel: TclProLabel; tohumOneriMemo: TclMemo; anaScrollBox: TclVertScrollBox; ustPanel, adim1Panel, adim2Panel, adim3Panel, adim4Panel, adim5Panel: TclProPanel; geciciResimAnaliz: TclProImage; analizUnit: TclUnit; gonderilecekVeri: TclStringList; konumUnit: TclUnit; servislerUnit: TclUnit; void konumButonunaBasildi; { konumUnit = TclUnit.Create; konumUnit.UnitName = 'uKonum'; konumUnit.CallerForm = anaForm; konumUnit.Run; } void havaDurumuButonunaBasildi; { servislerUnit = TclUnit.Create; Clomosy.GlobalVariableInteger = 1; servislerUnit.UnitName = 'uServisler'; servislerUnit.CallerForm = anaForm; servislerUnit.Run; servislerUnit.Free; } void haritaButonunaBasildi; { servislerUnit = TclUnit.Create; Clomosy.GlobalVariableInteger = 2; servislerUnit.UnitName = 'uServisler'; servislerUnit.CallerForm = anaForm; servislerUnit.Run; servislerUnit.Free; } void tohumOneriButonunaBasildi; var servislerUnit: TclUnit; { servislerUnit = TclUnit.Create; Clomosy.GlobalVariableInteger = 3; servislerUnit.UnitName = 'uServisler'; servislerUnit.CallerForm = anaForm; servislerUnit.Run; servislerUnit.Free; } void sohbetButonunaBasildi; var sohbetUnit: TclUnit; { sohbetUnit = TclUnit.Create; sohbetUnit.UnitName = 'uSohbet'; sohbetUnit.CallerForm = anaForm; sohbetUnit.Run; sohbetUnit.Free; } void analizButonunaBasildi; { Clomosy.ImageChooser(anaForm, geciciResimAnaliz); if (geciciResimAnaliz.clProSettings.PictureSource <> '') { analizUnit = TclUnit.Create; gonderilecekVeri = Clomosy.StringListNew; gonderilecekVeri.Add(geciciResimAnaliz.clProSettings.PictureSource); Clomosy.GlobalVariableStringList = gonderilecekVeri; analizUnit.UnitName = 'uAnaliz'; analizUnit.CallerForm = anaForm; analizUnit.Run; analizUnit.Free; } } void cikisYapButonunaBasildi; { anaForm.Close; } { anaForm = TclStyleForm.Create(Self); geciciResimAnaliz = anaForm.AddNewProImage(anaForm, 'geciciResimAnaliz'); geciciResimAnaliz.Visible = True; anaForm.clSetCaption('Çiftçi Destek Uygulaması'); anaForm.clSetStyle(anaForm.LightSB); anaForm.SetFormBGImage('https://clomosy.com/demos/bg4.jpg'); ustPanel = anaForm.AddNewProPanel(anaForm, 'ustPanel'); ustPanel.Align = alTop; ustPanel.Height = 80; ustPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#CC212529'); ustPanel.SetclProSettings(ustPanel.clProSettings); baslikLabel = anaForm.AddNewProLabel(ustPanel, 'baslikLabel', 'ÇİFTÇİ DESTEK UYGULAMASI'); baslikLabel.Align = alClient; baslikLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); baslikLabel.clProSettings.FontSize = 22; baslikLabel.clProSettings.TextSettings.Font.Style = [fsBold]; baslikLabel.clProSettings.TextSettings.HorzAlign = taCenter; baslikLabel.SetclProSettings(baslikLabel.clProSettings); cikisButton = anaForm.AddNewProButton(ustPanel, 'cikisButton', 'Çıkış Yap'); cikisButton.Align = alRight; cikisButton.Width = 120; cikisButton.Margins.Right = 10; cikisButton.Margins.Top = 15; cikisButton.Margins.Bottom = 15; cikisButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); cikisButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#dc3545'); cikisButton.clProSettings.IsRound = True; cikisButton.SetclProSettings(cikisButton.clProSettings); anaScrollBox = anaForm.AddNewVertScrollBox(anaForm, 'anaScrollBox'); anaScrollBox.Align = alClient; adim1Panel = anaForm.AddNewProPanel(anaScrollBox, 'adim1Panel'); adim1Panel.Align = alTop; adim1Panel.Height = 130; adim1Panel.Margins.Top = 15; adim1Panel.Margins.Left = 15; adim1Panel.Margins.Right = 15; adim1Panel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E6FFFFFF'); adim1Panel.clProSettings.IsRound = True; adim1Panel.SetclProSettings(adim1Panel.clProSettings); konumButton = anaForm.AddNewProButton(adim1Panel, 'konumButton', '1. Adım: Konumumu Bul'); konumButton.Align = alTop; konumButton.Height = 60; konumButton.Margins.Top = 10; konumButton.Margins.Left = 10; konumButton.Margins.Right = 10; konumButton.clProSettings.FontSize = 17; konumButton.SetclProSettings(konumButton.clProSettings); sonucLabel = anaForm.AddNewProLabel(adim1Panel, 'sonucLabel', 'Konum bilgisi bekleniyor...'); sonucLabel.Align = alClient; sonucLabel.Margins.Top = 5; sonucLabel.clProSettings.TextSettings.HorzAlign = taCenter; sonucLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#6c757d'); sonucLabel.SetclProSettings(sonucLabel.clProSettings); adim2Panel = anaForm.AddNewProPanel(anaScrollBox, 'adim2Panel'); adim2Panel.Align = alTop; adim2Panel.Height = 130; adim2Panel.Margins.Top = 10; adim2Panel.Margins.Left = 15; adim2Panel.Margins.Right = 15; adim2Panel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E6FFFFFF'); adim2Panel.clProSettings.IsRound = True; adim2Panel.SetclProSettings(adim2Panel.clProSettings); havaDurumuButton = anaForm.AddNewProButton(adim2Panel, 'havaDurumuButton', '2. Adım: Hava Durumunu Getir'); havaDurumuButton.Align = alTop; havaDurumuButton.Height = 60; havaDurumuButton.Margins.Top = 10; havaDurumuButton.Margins.Left = 10; havaDurumuButton.Margins.Right = 10; havaDurumuButton.Enabled = False; havaDurumuButton.clProSettings.FontSize = 17; havaDurumuButton.SetclProSettings(havaDurumuButton.clProSettings); havaDurumuLabel = anaForm.AddNewProLabel(adim2Panel, 'havaDurumuLabel', ''); havaDurumuLabel.Align = alClient; havaDurumuLabel.Margins.Top = 5; havaDurumuLabel.clProSettings.TextSettings.HorzAlign = taCenter; havaDurumuLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#17a2b8'); havaDurumuLabel.clProSettings.TextSettings.Font.Style = [fsBold]; havaDurumuLabel.SetclProSettings(havaDurumuLabel.clProSettings); adim3Panel = anaForm.AddNewProPanel(anaScrollBox, 'adim3Panel'); adim3Panel.Align = alTop; adim3Panel.Height = 80; adim3Panel.Margins.Top = 10; adim3Panel.Margins.Left = 15; adim3Panel.Margins.Right = 15; adim3Panel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E6FFFFFF'); adim3Panel.clProSettings.IsRound = True; adim3Panel.SetclProSettings(adim3Panel.clProSettings); haritaButton = anaForm.AddNewProButton(adim3Panel, 'haritaButton', '3. Adım: Tarlamı Haritada Göster'); haritaButton.Align = alClient; haritaButton.Enabled = False; haritaButton.clProSettings.FontSize = 17; haritaButton.SetclProSettings(haritaButton.clProSettings); adim4Panel = anaForm.AddNewProPanel(anaScrollBox, 'adim4Panel'); adim4Panel.Align = alTop; adim4Panel.Height = 250; adim4Panel.Margins.Top = 10; adim4Panel.Margins.Left = 15; adim4Panel.Margins.Right = 15; adim4Panel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E6FFFFFF'); adim4Panel.clProSettings.IsRound = True; adim4Panel.SetclProSettings(adim4Panel.clProSettings); tohumOneriButton = anaForm.AddNewProButton(adim4Panel, 'tohumOneriButton', '4. Adım: Tohum Önerisi Al'); tohumOneriButton.Align = alTop; tohumOneriButton.Height = 60; tohumOneriButton.Margins.Top = 10; tohumOneriButton.Margins.Left = 10; tohumOneriButton.Margins.Right = 10; tohumOneriButton.Enabled = False; tohumOneriButton.clProSettings.FontSize = 17; tohumOneriButton.SetclProSettings(tohumOneriButton.clProSettings); tohumOneriMemo = anaForm.AddNewMemo(adim4Panel, 'tohumOneriMemo', ''); tohumOneriMemo.Align = alClient; tohumOneriMemo.Margins.Top = 10; tohumOneriMemo.Margins.Left = 10; tohumOneriMemo.Margins.Right = 10; tohumOneriMemo.Margins.Bottom = 10; tohumOneriMemo.ReadOnly = True; adim5Panel = anaForm.AddNewProPanel(anaScrollBox, 'adim5Panel'); adim5Panel.Align = alTop; adim5Panel.Height = 100; adim5Panel.Margins.Top = 10; adim5Panel.Margins.Left = 15; adim5Panel.Margins.Right = 15; adim5Panel.Margins.Bottom = 10; adim5Panel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E6FFFFFF'); adim5Panel.clProSettings.IsRound = True; adim5Panel.SetclProSettings(adim5Panel.clProSettings); analizButton = anaForm.AddNewProButton(adim5Panel, 'analizButton', #13#10'FOTOĞRAFLA BİTKİ ANALİZİ YAP'#13#10'(Hastalık Tespiti)'); analizButton.Align = alClient; analizButton.clProSettings.FontSize = 18; analizButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); analizButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#28a745'); analizButton.clProSettings.TextSettings.Font.Style = [fsBold]; analizButton.SetclProSettings(analizButton.clProSettings); analizButton.Enabled = True; // Başlangıçta pasif sohbetButton = anaForm.AddNewProButton(anaForm, 'sohbetButton', 'Akıllı Asistan ile Sohbet Et'); sohbetButton.Align = alBottom; sohbetButton.Height = 70; sohbetButton.Margins.Top = 10; sohbetButton.Margins.Left = 15; sohbetButton.Margins.Right = 15; sohbetButton.Margins.Bottom = 10; sohbetButton.clProSettings.FontSize = 18; sohbetButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); sohbetButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2c7be5'); sohbetButton.clProSettings.TextSettings.Font.Style = [fsBold]; sohbetButton.clProSettings.IsRound = True; sohbetButton.clProSettings.RoundHeight = 15; sohbetButton.clProSettings.RoundWidth = 15; sohbetButton.SetclProSettings(sohbetButton.clProSettings); anaForm.AddNewEvent(konumButton, tbeOnClick, 'konumButonunaBasildi'); anaForm.AddNewEvent(havaDurumuButton, tbeOnClick, 'havaDurumuButonunaBasildi'); anaForm.AddNewEvent(haritaButton, tbeOnClick, 'haritaButonunaBasildi'); anaForm.AddNewEvent(tohumOneriButton, tbeOnClick, 'tohumOneriButonunaBasildi'); anaForm.AddNewEvent(sohbetButton, tbeOnClick, 'sohbetButonunaBasildi'); anaForm.AddNewEvent(cikisButton, tbeOnClick, 'cikisYapButonunaBasildi'); anaForm.AddNewEvent(analizButton, tbeOnClick, 'analizButonunaBasildi'); anaForm.Run; }
// MAİN { Clomosy.RunUnit('uAnauygulama'); } diğer servisler çalışıyor |
|
![]() |
|
Developer ![]() Forum Yöneticisi ![]() Kayıt Tarihi: 14 Haziran 2023 Durum: Aktif Değil Puanlar: 387 |
![]() Yanıt Yaz
Alıntı Developer
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
Merhaba Bedir
Main icerisinde kodlamayi : gonderilecekVeri = Clomosy.StringListNew; gonderilecekVeri.Add(geciciResimAnaliz.clProSettings.PictureSource); Clomosy.GlobalVariableStringList = gonderilecekVeri; ama cagirirken analizEdilecekDosyaYolu = Clomosy.GlobalVariableString; bu seklide yukleme yapilmis. Dogrusu icin https://www.docs.clomosy.com/index.php?title=Global_Variables bu linkideki ornegi inceler misin?
|
|
![]() |
Yanıt Yaz ![]() |
|
Tweet |
Forum Atla | Forum İzinleri ![]() Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |