Sayfayı Yazdır | Pencereyi Kapat

askandcall

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1155
Tarih: 01 Ağustos 2025 Saat 09:38
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: askandcall
Mesajı Yazan: goksuselvi
Konu: askandcall
Mesaj Tarihi: 30 Temmuz 2025 Saat 18:10
void BtnOnClick
{
  try {
     clickedBtn = TClProButton(myForm.ClSender);
    Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'ClomosyDatabase.db3', '');
 
    puanQuery = Clomosy.DBSQLiteQueryWith('SELECT puan FROM PuanKayitlari ORDER BY id DESC LIMIT 1');
    puanQuery.OpenOrExecute;
 
    if (puanQuery.Found) {
      puan = puanQuery.FieldByName('puan').AsInteger;
    } else {
      puan = 0;
    }
    if (puan >= 100) {
      if Clomosy.Ask('Satın almak istiyor musunuz?') {
        puan = puan - 100;
 
        // Puan güncelleme
        Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO PuanKayitlari (puan) VALUES (' + IntToStr(puan) + ')';
        Clomosy.DBSQLiteQuery.OpenOrExecute;
        // Satın alınan ürünü kaydetme - DÜZELTME BURADA
        try {
          Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO satinalinanlar (buttonName) VALUES (' + QuotedStr(clickedBtn.Hint) + ')';
          Clomosy.DBSQLiteQuery.OpenOrExecute;
          ShowMessage('Satın alma başarıyla kaydedildi!');
        }
        except {
          ShowMessage('Satın alma kaydedilemedi: ' + LastExceptionMessage);
        }
        }
        PuanLabeliGuncelle;
        ShowMessage('Tebrikler! Satın aldınız. Toplam puan: ' + IntToStr(puan));
      } else {
       
      }
    } else {
      ShowMessage('Yetersiz puan! Satın alma için en az 100 puan gerekir.');
    }
  } 
  except {
    ShowMessage('Veri eklenemedi: ' + LastExceptionMessage);
  }
}
}  bu fonksiyonumu askandcall şeklinde uyarlayamadım şuanki kullandığım sadece windowsta çalışıyor yardımcı olursanız sevinirim.
< id="BFI_" style="width: 1px; height: 1px; display: none;">

-------------
göksu



Cevaplar:
Mesajı Yazan: goksuselvi
Mesaj Tarihi: 31 Temmuz 2025 Saat 09:23
KODUMUN TAMAMI///////////////////////////////////////////////////< id="BFI_" style="width: 1px; height: 1px; display: none;">


























































-------------
göksu


Mesajı Yazan: BilalCndn
Mesaj Tarihi: 31 Temmuz 2025 Saat 09:26
Merhaba Göksu,

Clomosy.AskAndCall('Kullanıcıya görünecek soru','evet butonu ile çalışacak void','hayır butonu ile çalışacak void');


Senin kodunun düzenlenmiş hali:
  void ProcYes;
 {
  try
    puan = puan - 100;
 
    // Puan güncelleme
    Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO PuanKayitlari (puan) VALUES (' + IntToStr(puan) + ')';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
    // Satın alınan ürünü kaydetme - DÜZELTME BURADA
    try 
      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO satinalinanlar (buttonName) VALUES (' + QuotedStr(clickedBtn.Hint) + ')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;
      ShowMessage('Satın alma başarıyla kaydedildi!');
    
    except 
      ShowMessage('Satın alma kaydedilemedi: ' + LastExceptionMessage);
    }
    PuanLabeliGuncelle;
    ShowMessage('Tebrikler! Satın aldınız. Toplam puan: ' + IntToStr(puan));
  except
    ShowMessage('Veri eklenemedi: ' + LastExceptionMessage);
  }
 }
 void ProcNo;
 {
    ShowMessage('Hayır');
 }
 
 
 void BtnOnClick
{
  try 
     clickedBtn = TClProButton(myForm.ClSender);
    Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'ClomosyDatabase.db3', '');
 
    puanQuery = Clomosy.DBSQLiteQueryWith('SELECT puan FROM PuanKayitlari ORDER BY id DESC LIMIT 1');
    puanQuery.OpenOrExecute;
 
    if (puanQuery.Found) {
      puan = puanQuery.FieldByName('puan').AsInteger;
    } else {
      puan = 0;
    }
    if (puan >= 100) {
      Clomosy.AskAndCall('Satın almak istiyor musunuz?','ProcYes','ProcNo');
    } else {
      ShowMessage('Yetersiz puan! Satın alma için en az 100 puan gerekir.');
    }
  except
    ShowMessage('Veri eklenemedi: ' + LastExceptionMessage);
  }


Bu şekilde kullanabilirsin. Aynı zamanda kodda try except parantezleri hatalı kullanılmış bunları da düzenledim. Aşağıdaki linkleri inceleyerek daha da iyi anlayabilirsin.
https://www.docs.clomosy.com/AskAndCall" rel="nofollow - https://www.docs.clomosy.com/AskAndCall
https://www.docs.clomosy.com/Error_Trapping" rel="nofollow - https://www.docs.clomosy.com/Error_Trapping

İyi çalışmalar dilerim.


-------------
Bilal Candan

Atiker Yazılım Veri İşlem A.Ş.
Software and Artificial Intelligence Development Specialist

[email protected]



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net