![]() |
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. |
Konum 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ı: 15 Ağustos 2025 Saat 17:20 |
var void konumuKontrolEt; |
|
![]() |
|
Emr.Erkmn ![]() Moderatör ![]() Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 249 |
![]() Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
Merhaba Bedir,
Bir örnek yaptım konumla ilgili inceler misin? var MyForm: TclForm; btnKonumAl: TclProButton; lblSonuc: TclProLabel; lblBaslik: TclProLabel; latitude: String; longitude: String; konum: String; konumDegeri: String; btnBasitKonum: TclProButton; konumTimer: TclTimer; konumBekleniyor: Boolean; denemeSayisi: Integer; void KonumKontrolEt { if (not konumBekleniyor) denemeSayisi = denemeSayisi + 1; konumDegeri = Clomosy.LocationValue; // Debug bilgisi lblSonuc.Text = '🔍 Konum Aranıyor... (' + IntToStr(denemeSayisi) + 'sn)' + #13#10 + 'Konum Değeri: "' + konumDegeri + '"'; // Konum alındı mı kontrol et if ((konumDegeri <> '0|0') && (konumDegeri <> '') && (Length(konumDegeri) > 3)) { // Konum başarıyla alındı konumBekleniyor = False; konumTimer.Enabled = False; // Konum değerini parse et latitude = clGetStringTo(konumDegeri, '|'); longitude = clGetStringAfter(konumDegeri, '|'); konum = latitude + '|' + longitude; // Sonucu göster lblSonuc.Text = '✅ Konum Başarıyla Alındı!' + #13#10 + 'Enlem: ' + latitude + #13#10 + 'Boylam: ' + longitude + #13#10 + 'Tam Konum: ' + konum + #13#10 + 'Süre: ' + IntToStr(denemeSayisi) + ' saniye'; ShowMessage('📍 Konum başarıyla alındı!' + #13#10 + 'Enlem: ' + latitude + #13#10 + 'Boylam: ' + longitude); } else if (denemeSayisi >= 30) { // Zaman aşımı konumBekleniyor = False; konumTimer.Enabled = False; lblSonuc.Text = '⏰ Konum alınamadı (zaman aşımı)' + #13#10 + 'Lütfen GPS ayarlarınızı kontrol edin ve tekrar deneyin.'; ShowMessage('❌ Konum alınamadı! Zaman aşımı.' + #13#10 + 'GPS ayarlarınızı kontrol edin.'); } } void KonumAlClicked { try { // Önceki timer'ı temizle if (Assigned(konumTimer)) { konumTimer.Enabled = False; konumTimer.Free; } // Değişkenleri sıfırla denemeSayisi = 0; konumBekleniyor = True; // Başlangıç mesajı lblSonuc.Text = '🔍 GPS Sinyali Aranıyor...' + #13#10 + 'Lütfen bekleyin...'; // Konum isteği gönder Clomosy.GetCurrentLocation; // Timer oluştur (her 1 saniyede bir kontrol et) konumTimer = MyForm.AddNewTimer(MyForm, 'konumTimer', 1000); konumTimer.Enabled = True; // Event'i ekle MyForm.AddNewEvent(konumTimer, tbeOnTimer, 'KonumKontrolEt'); ShowMessage('📍 Konum isteği gönderildi!' + #13#10 + 'GPS sinyali aranıyor... Lütfen bekleyin.'); } except lblSonuc.Text = '❌ Konum isteği gönderilemedi: ' + LastExceptionMessage; ShowMessage('Hata: ' + LastExceptionMessage); } } void KonumGirisClicked { try { Clomosy.GetCurrentLocation; // Konum değerini al konumDegeri = Clomosy.LocationValue; // Debug bilgisi lblSonuc.Text = '🔍 Basit Konum Alma:' + #13#10 + 'Ham Konum: "' + konumDegeri + '"' + #13#10 + 'Uzunluk: ' + IntToStr(Length(konumDegeri)); // Konum alındı mı kontrol et if ((konumDegeri <> '0|0') && (konumDegeri <> '') && (Length(konumDegeri) > 3)) { // Konum parse et latitude = clGetStringTo(konumDegeri, '|'); longitude = clGetStringAfter(konumDegeri, '|'); lblSonuc.Text = '✅ Basit Konum Alındı!' + #13#10 + 'Enlem: ' + latitude + #13#10 + 'Boylam: ' + longitude + #13#10 + 'Ham Veri: ' + konumDegeri; ShowMessage('📍 Basit konum alındı!' + #13#10 + 'Enlem: ' + latitude + #13#10 + 'Boylam: ' + longitude); } else { lblSonuc.Text = '❌ Konum alınamadı!' + #13#10 + 'Ham Veri: "' + konumDegeri + '"' + #13#10 + 'Lütfen GPS ayarlarınızı kontrol edin.'; ShowMessage('❌ Konum alınamadı!' + #13#10 + 'Ham veri: ' + konumDegeri); } } except lblSonuc.Text = '❌ Hata: ' + LastExceptionMessage; ShowMessage('Hata: ' + LastExceptionMessage); } } void FormKapatildi { // Timer'ı temizle if (Assigned(konumTimer)) { konumTimer.Enabled = False; konumTimer.Free; } } { MyForm = TclForm.Create(Self); MyForm.clSetWindowState(fwsMaximized); // Başlık lblBaslik = MyForm.AddNewProLabel(MyForm, 'lblBaslik', '📍 Basit Konum Servisi'); lblBaslik.Align = alTop; lblBaslik.Height = 60; lblBaslik.Margins.Top = 20; lblBaslik.Margins.Left = 20; lblBaslik.Margins.Right = 20; lblBaslik.clProSettings.FontSize = 24; lblBaslik.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); lblBaslik.clProSettings.TextSettings.Font.Style = [fsBold]; lblBaslik.clProSettings.FontHorzAlign = palCenter; lblBaslik.clProSettings.FontVertAlign = palCenter; lblBaslik.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#000000'); lblBaslik.clProSettings.BorderColor = clAlphaColor.clHexToColor('#ffffff'); lblBaslik.clProSettings.BorderWidth = 2; lblBaslik.clProSettings.RoundHeight = 30; lblBaslik.clProSettings.RoundWidth = 30; lblBaslik.SetclProSettings(lblBaslik.clProSettings); // Konum al butonu (Timer ile) btnKonumAl = MyForm.AddNewProButton(MyForm, 'btnKonumAl', '📍 Timer ile Konum Al'); btnKonumAl.Align = alTop; btnKonumAl.Height = 60; btnKonumAl.Margins.Top = 30; btnKonumAl.Margins.Left = 50; btnKonumAl.Margins.Right = 50; btnKonumAl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#007bff'); btnKonumAl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); btnKonumAl.clProSettings.FontSize = 20; btnKonumAl.clProSettings.IsRound = True; btnKonumAl.clProSettings.RoundHeight = 30; btnKonumAl.clProSettings.RoundWidth = 30; btnKonumAl.SetclProSettings(btnKonumAl.clProSettings); // Basit konum butonu btnBasitKonum = MyForm.AddNewProButton(MyForm, 'btnBasitKonum', '📍 Basit Konum Al'); btnBasitKonum.Align = alTop; btnBasitKonum.Height = 60; btnBasitKonum.Margins.Top = 15; btnBasitKonum.Margins.Left = 50; btnBasitKonum.Margins.Right = 50; btnBasitKonum.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#28a745'); btnBasitKonum.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); btnBasitKonum.clProSettings.FontSize = 20; btnBasitKonum.clProSettings.IsRound = True; btnBasitKonum.clProSettings.RoundHeight = 30; btnBasitKonum.clProSettings.RoundWidth = 30; btnBasitKonum.SetclProSettings(btnBasitKonum.clProSettings); // Sonuç etiketi lblSonuc = MyForm.AddNewProLabel(MyForm, 'lblSonuc', 'Konum almak için butona tıklayın.'); lblSonuc.Align = alTop; lblSonuc.Height = 150; lblSonuc.Margins.Top = 30; lblSonuc.Margins.Left = 30; lblSonuc.Margins.Right = 30; lblSonuc.clProSettings.FontSize = 16; lblSonuc.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); lblSonuc.clProSettings.FontHorzAlign = palCenter; lblSonuc.clProSettings.FontVertAlign = palCenter; lblSonuc.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#000000'); lblSonuc.clProSettings.BorderColor = clAlphaColor.clHexToColor('#ffffff'); lblSonuc.clProSettings.BorderWidth = 2; lblSonuc.clProSettings.RoundHeight = 20; lblSonuc.clProSettings.RoundWidth = 20; lblSonuc.SetclProSettings(lblSonuc.clProSettings); // Event'leri ekle MyForm.AddNewEvent(btnKonumAl, tbeOnClick, 'KonumAlClicked'); MyForm.AddNewEvent(btnBasitKonum, tbeOnClick, 'KonumGirisClicked'); MyForm.AddNewEvent(MyForm, tbeOnFormClose, 'FormKapatildi'); MyForm.Run; } |
|
![]() |
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 |