Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - birim oluşturma
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

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.

birim oluşturma

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
Esra Betül Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 17 Nisan 2026
Konum: Konya
Durum: Aktif
Puanlar: 19
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Esra Betül Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: birim oluşturma
    Gönderim Zamanı: 1 saat 50 Dakika Önce Saat 11:44
var
 MyForm: TclForm;
 ImageForm: TclForm;
 ImgDisplay: TclImage;
 BtnCloseImg: TclProButton;

 PrintMainBtn: TclProButton;
 PrintMenuPnl: TclProPanel;
 BtnPrintA, BtnPrintB, BtnPrintC: TclProButton;

 VarMainBtn: TclProButton;
 VarMenuPnl: TclProPanel;
 BtnVarA, BtnVarB, BtnVarC, BtnVarD, BtnVarE: TclProButton;

 QuizForm:TclForm;

 Soru1Lbl,Soru2Lbl,Soru3Lbl:TclLabel;
 S1A,S1B,S1C,S1D:TclProButton;
 S2A,S2B,S2C,S2D:TclProButton;
 S3A,S3B,S3C,S3D:TclProButton;

 Aciklama1,Aciklama2,Aciklama3:TclLabel;

void CloseImageForm;
{
 ImageForm.Free;
}

void Soru1Kontrol;
var btn:TclProButton;
{
 btn = TclProButton(QuizForm.clSender);

 if(btn.Text == 'C) Console.Text(degisken)')
 {
  btn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#22c55e');
  btn.SetclProSettings(btn.clProSettings);
  Aciklama1.Text = '';
 }
 else
 {
  Aciklama1.Text = 'Doğru cevap: C' + #13#10 + 'Console.Text(degisken) değişken değerini konsola yazar ve uygulamayı durdurmaz.';
 }
}

void Soru2Kontrol;
var btn:TclProButton;
{
 btn = TclProButton(QuizForm.clSender);

 if(btn.Text == 'D) ShowMessage("Puanınız: " + IntToStr(puan))')
 {
  btn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#22c55e');
  btn.SetclProSettings(btn.clProSettings);
  Aciklama2.Text = '';
 }
 else
 {
  Aciklama2.Text = 'Doğru cevap: D' + #13#10 + 'Sayısal değer metne çevrilmeden birleştirilemez. Bu yüzden IntToStr kullanılır.';
 }
}

void Soru3Kontrol;
var btn:TclProButton;
{
 btn = TclProButton(QuizForm.clSender);

 if(btn.Text == 'B) Her iki yöntem de uygulamayı durdurur')
 {
  btn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#22c55e');
  btn.SetclProSettings(btn.clProSettings);
  Aciklama3.Text = '';
 }
 else
 {
  Aciklama3.Text = 'Doğru cevap: B' + #13#10 + 'Console.Text uygulamayı durdurmaz. Bu yüzden bu ifade yanlıştır.';
 }
}

void OptionClicked;
var
 ClickedBtn:TclProButton;
 ImgUrl:String;
{
 ClickedBtn = TclProButton(MyForm.clSender);
 ImgUrl='';

 if (ClickedBtn.Text == 'A) ShowMessage Nedir?')
 {
 }

 if (ClickedBtn.Text == 'B) Pekiştirme')
 {
  QuizForm = TclForm.Create(Self);
  QuizForm.SetFormColor('#FFFFFF','',clGNone);

  Soru1Lbl = QuizForm.AddNewLabel(QuizForm,'Soru1Lbl','Soru1: Arka planda değişken değerini görmek için hangisi?');
  Soru1Lbl.Align = alTop;
  Soru1Lbl.Height = 30;

  S1A = QuizForm.AddNewProButton(QuizForm,'S1A','A) ShowMessage(degisken)');
  S1A.Align = alTop;

  S1B = QuizForm.AddNewProButton(QuizForm,'S1B','B) Console.Text("degisken")');
  S1B.Align = alTop;

  S1C = QuizForm.AddNewProButton(QuizForm,'S1C','C) Console.Text(degisken)');
  S1C.Align = alTop;

  S1D = QuizForm.AddNewProButton(QuizForm,'S1D','D) ShowMessage("degisken")');
  S1D.Align = alTop;

  QuizForm.AddNewEvent(S1A,tbeOnClick,'Soru1Kontrol');
  QuizForm.AddNewEvent(S1B,tbeOnClick,'Soru1Kontrol');
  QuizForm.AddNewEvent(S1C,tbeOnClick,'Soru1Kontrol');
  QuizForm.AddNewEvent(S1D,tbeOnClick,'Soru1Kontrol');

  Aciklama1 = QuizForm.AddNewLabel(QuizForm,'Aciklama1','');
  Aciklama1.Align = alTop;
  Aciklama1.Height = 50;

  Soru2Lbl = QuizForm.AddNewLabel(QuizForm,'Soru2Lbl','Soru2: Puan değişkenini yazdırmak için doğru kod hangisi?');
  Soru2Lbl.Align = alTop;
  Soru2Lbl.Height = 30;

  S2A = QuizForm.AddNewProButton(QuizForm,'S2A','A) ShowMessage("Puanınız: " + puan)');
  S2A.Align = alTop;

  S2B = QuizForm.AddNewProButton(QuizForm,'S2B','B) Console.Text("Puanınız: " + IntToStr(puan))');
  S2B.Align = alTop;

  S2C = QuizForm.AddNewProButton(QuizForm,'S2C','C) ShowMessage(Puanınız: + IntToStr(puan))');
  S2C.Align = alTop;

  S2D = QuizForm.AddNewProButton(QuizForm,'S2D','D) ShowMessage("Puanınız: " + IntToStr(puan))');
  S2D.Align = alTop;

  QuizForm.AddNewEvent(S2A,tbeOnClick,'Soru2Kontrol');
  QuizForm.AddNewEvent(S2B,tbeOnClick,'Soru2Kontrol');
  QuizForm.AddNewEvent(S2C,tbeOnClick,'Soru2Kontrol');
  QuizForm.AddNewEvent(S2D,tbeOnClick,'Soru2Kontrol');

  Aciklama2 = QuizForm.AddNewLabel(QuizForm,'Aciklama2','');
  Aciklama2.Align = alTop;
  Aciklama2.Height = 50;

  Soru3Lbl = QuizForm.AddNewLabel(QuizForm,'Soru3Lbl','Soru3: ShowMessage ve Console.Text farkı için hangisi yanlıştır?');
  Soru3Lbl.Align = alTop;
  Soru3Lbl.Height = 30;

  S3A = QuizForm.AddNewProButton(QuizForm,'S3A','A) ShowMessage popup açar');
  S3A.Align = alTop;

  S3B = QuizForm.AddNewProButton(QuizForm,'S3B','B) Her iki yöntem de uygulamayı durdurur');
  S3B.Align = alTop;

  S3C = QuizForm.AddNewProButton(QuizForm,'S3C','C) Console.Text geliştirici içindir');
  S3C.Align = alTop;

  S3D = QuizForm.AddNewProButton(QuizForm,'S3D','D) ShowMessage onay bekler');
  S3D.Align = alTop;

  QuizForm.AddNewEvent(S3A,tbeOnClick,'Soru3Kontrol');
  QuizForm.AddNewEvent(S3B,tbeOnClick,'Soru3Kontrol');
  QuizForm.AddNewEvent(S3C,tbeOnClick,'Soru3Kontrol');
  QuizForm.AddNewEvent(S3D,tbeOnClick,'Soru3Kontrol');

  Aciklama3 = QuizForm.AddNewLabel(QuizForm,'Aciklama3','');
  Aciklama3.Align = alTop;
  Aciklama3.Height = 50;

  QuizForm.Run;
 }

 if (Length(ImgUrl) > 8)
 {
  ImageForm = TclForm.Create(Self);
  ImageForm.SetFormColor('#000000', '', clGNone);

  ImgDisplay = ImageForm.AddNewImage(ImageForm, 'ImgDisplay');
  ImgDisplay.Align = alClient;

  MyForm.setImage(ImgDisplay, ImgUrl);

  BtnCloseImg = ImageForm.AddNewProButton(ImageForm, 'BtnCloseImg', 'Kapat');
  BtnCloseImg.Align = alBottom;
  BtnCloseImg.Height = 50;

  ImageForm.AddNewEvent(BtnCloseImg, tbeOnClick, 'CloseImageForm');

  ImageForm.Run;
 }
}

void PrintBtnClick;
{
 PrintMenuPnl.Visible = not PrintMenuPnl.Visible;

 if (PrintMenuPnl.Visible)
 {
  PrintMenuPnl.Height = 150;
  VarMenuPnl.Visible = False;
 }
 else
 {
  PrintMenuPnl.Height = 0;
 }
}

void VarBtnClick;
{
 VarMenuPnl.Visible = not VarMenuPnl.Visible;

 if (VarMenuPnl.Visible)
 {
  VarMenuPnl.Height = 250;
  PrintMenuPnl.Visible = False;
 }
 else
 {
  VarMenuPnl.Height = 0;
 }
}

{
 MyForm = TclForm.Create(Self);
 MyForm.SetFormColor('#F8FAFC', '', clGNone);

 PrintMainBtn = MyForm.AddNewProButton(MyForm, 'PrintMainBtn', '1. Print İşlemleri ▾');
 PrintMainBtn.Align = alTop;
 MyForm.AddNewEvent(PrintMainBtn, tbeOnClick, 'PrintBtnClick');

 PrintMenuPnl = MyForm.AddNewProPanel(MyForm, 'PrintMenuPnl');
 PrintMenuPnl.Align = alTop;
 PrintMenuPnl.Visible = False;

 BtnPrintA = MyForm.AddNewProButton(PrintMenuPnl, 'BtnPrintA', 'A) ShowMessage Nedir?');
 BtnPrintA.Align = alTop;
 MyForm.AddNewEvent(BtnPrintA, tbeOnClick, 'OptionClicked');

 BtnPrintB = MyForm.AddNewProButton(PrintMenuPnl, 'BtnPrintB', 'B) Pekiştirme');
 BtnPrintB.Align = alTop;
 MyForm.AddNewEvent(BtnPrintB, tbeOnClick, 'OptionClicked');

 BtnPrintC = MyForm.AddNewProButton(PrintMenuPnl, 'BtnPrintC', 'C) Quiz');
 BtnPrintC.Align = alTop;
 MyForm.AddNewEvent(BtnPrintC, tbeOnClick, 'OptionClicked');

 VarMainBtn = MyForm.AddNewProButton(MyForm, 'VarMainBtn', '2. Değişkenler ve Veri Türleri ▾');
 VarMainBtn.Align = alTop;
 MyForm.AddNewEvent(VarMainBtn, tbeOnClick, 'VarBtnClick');

 VarMenuPnl = MyForm.AddNewProPanel(MyForm, 'VarMenuPnl');
 VarMenuPnl.Align = alTop;
 VarMenuPnl.Visible = False;

 BtnVarA = MyForm.AddNewProButton(VarMenuPnl, 'BtnVarA', 'A) Değişken Nedir?');
 BtnVarA.Align = alTop;
 MyForm.AddNewEvent(BtnVarA, tbeOnClick, 'OptionClicked');

 BtnVarB = MyForm.AddNewProButton(VarMenuPnl, 'BtnVarB', 'B) Veri Türleri Nedir?');
 BtnVarB.Align = alTop;
 MyForm.AddNewEvent(BtnVarB, tbeOnClick, 'OptionClicked');

 BtnVarC = MyForm.AddNewProButton(VarMenuPnl, 'BtnVarC', 'C) Tip Dönüşümleri');
 BtnVarC.Align = alTop;
 MyForm.AddNewEvent(BtnVarC, tbeOnClick, 'OptionClicked');

 BtnVarD = MyForm.AddNewProButton(VarMenuPnl, 'BtnVarD', 'D) Pekiştirme');
 BtnVarD.Align = alTop;
 MyForm.AddNewEvent(BtnVarD, tbeOnClick, 'OptionClicked');

 BtnVarE = MyForm.AddNewProButton(VarMenuPnl, 'BtnVarE', 'E) Quiz');
 BtnVarE.Align = alTop;
 MyForm.AddNewEvent(BtnVarE, tbeOnClick, 'OptionClicked');

 MyForm.Run;
}                             

merhaba hocam bu bizim örnek kodumuz orijinal kodda bütün çalışmaları ana kod üzerinden yaptık. Ama karakter sınırına ulaştık bu yüzden oradan yazmaya devam edemiyoruz. Birim açmayı denedik fakat boş satır için bile hata alıyoruz. Bu kod bloğu üzerinden birimlere nasıl parçalamamız gerektiğini gösterebilir misiniz? 
< defer="" ="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" -cf-beacon=""version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"_timing":"name":"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true,"location_startswith":null" crossorigin="anonymous">
Yukarı Dön
kaanl0 Açılır Kutu İzle
Kıdemli Üye
Kıdemli Üye
Simge

Kayıt Tarihi: 16 Eylül 2025
Konum: konya
Durum: Aktif Değil
Puanlar: 194
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı kaanl0 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 1 saat 29 Dakika Önce Saat 12:05
Birimler kısmından birim dilini trobject seçtikten sonra örnek olarak attığınız kodu buraya yapıştırın, yeni açtığınız birimin adını 'deneme' olarak varsayalım. Anakod kısmına 
Clomosy.RunUnit('deneme'); yazarak doğrudan oluşturduğunuz birimi çalıştırabilirsiniz
Yukarı Dön
Esra Betül Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 17 Nisan 2026
Konum: Konya
Durum: Aktif
Puanlar: 19
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Esra Betül Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 22 Dakika Önce Saat 13:12
Bizim kodumuz çok uzun ve her buton için ayrı bir birim açtık. Ancak hala hata alıyoruz, attığımız kodu sizin dediğiniz şekilde de denedik ama hata alıyoruz. Birim kısmını halledemediğimiz için projemizde ilerleme kaydedemiyoruz.https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,070 Saniyede Yüklendi.