Sayfayı Yazdır | Pencereyi Kapat

birim oluşturma

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=1488
Tarih: 08 Mayıs 2026 Saat 14:58
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: birim oluşturma
Mesajı Yazan: Esra Betül
Konu: birim oluşturma
Mesaj Tarihi: 08 Mayıs 2026 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?')
 {
  ImgUrl=' https://lh3.googleusercontent.com/drive-storage/AJQWtBNDJTmjfBXl9zqoiX6FkWMkbwYgTqf-8GXCoDx19i-cODiin_GzgXtufPd1a1vz15_7EerRiViQCvMfq2HKR6USdeF2KmEElLaoeh29noYkZLOo=s220" rel="nofollow - https://lh3.googleusercontent.com/drive-storage/AJQWtBNDJTmjfBXl9zqoiX6FkWMkbwYgTqf-8GXCoDx19i-cODiin_GzgXtufPd1a1vz15_7EerRiViQCvMfq2HKR6USdeF2KmEElLaoeh29noYkZLOo=s220 ';
 }

 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">



Cevaplar:
Mesajı Yazan: kaanl0
Mesaj Tarihi: 08 Mayıs 2026 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


Mesajı Yazan: Esra Betül
Mesaj Tarihi: 08 Mayıs 2026 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" rel="nofollow - 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">


Mesajı Yazan: kaanl0
Mesaj Tarihi: 08 Mayıs 2026 Saat 14:23
Aldığınız hatayı atabilir misiniz ? https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - 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">


Mesajı Yazan: Esra Betül
Mesaj Tarihi: 08 Mayıs 2026 Saat 14:47
var
 MyForm: TclForm;
{
  Clomosy.RunUnit('deneme');
  Clomosy.RunUnit('deneme2');
  

 MyForm.Çalıştır;

ana kod









var
 MyForm: TclForm;
 ImageForm: TclForm;
 //ImgDisplay: TclImage;
 BtnCloseImg: TclProButton;

 PrintMainBtn: TclProButton;
 PrintMenuPnl: TclProPanel;
 BtnPrintA, BtnPrintB, BtnPrintC: 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;
}

Soru1Kontrol boş;
var btn:TclProButton;
{
 düğme = TclProButton(QuizForm.clSender);

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

Soru2Kontrol boş;
var btn:TclProButton;
{
 düğme = TclProButton(QuizForm.clSender);

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

Soru3Kontrol boş;
var btn:TclProButton;
{
 düğme = TclProButton(QuizForm.clSender);

 if(btn.Text == 'B) Uygulamayı durdurmanın iki yöntemi')
 {
  btn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#22c55e');
  düğme.SetclProSettings(düğme.clProSettings);
  Aciklama3.Text = '';
 }
 başka
 {
  Aciklama3.Text = 'Doğru cevap: B' + #13#10 + 'Console.Text uygulamasını durdurmaz. Bu nedenle bu “yanlıştır.';
 }
}

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

 if (ClickedBtn.Text == 'A) ShowMessage Nedir?')
 {
  ImgUrl=' https://lh3.googleusercontent.com/drive-storage/AJQWtBNDJTmjfBXl9zqoiX6FkWMkbwYgTqf-8GXCoDx19i-cODiin_GzgXtufPd1a1vz15_7EerRiViQCvMfq2HKR6USdeF2KmEElLaoeh29noYkZLOo=s220" rel="nofollow - https://lh3.googleusercontent.com/drive-storage/AJQWtBNDJTmjfBXl9zqoiX6FkWMkbwYgTqf-8GXCoDx19i-cODiin_GzgXtufPd1a1vz15_7EerRiViQCvMfq2HKR6USdeF2KmEElLaoeh29noYkZLOo=s220 ';
 }

 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ğer görmek için hangisi?');
  Soru1Lbl.Align = alTop;
  Soru1Lbl.Height = 30;

  S1A = QuizForm.AddNewProButton(QuizForm,'S1A','A) ShowMessage(degisken)');
  S1A.Hizala = 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 açılır penceresini 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 sahipleri 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.Çalıştır;
 }

 eğer (ImgUrl'nin uzunluğu > 8 ise)
 {
  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.Çalıştır;
 }
}

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

 eğer (PrintMenuPnl.Visible)
 {
  PrintMenuPnl.Height = 150;
  VarMenuPnl.Visible = False;
 }
 başka
 {
  PrintMenuPnl.Height = 0;
 }
}

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

 if (VarMenuPnl.Visible)
 {
  VarMenuPnl.Height = 250;
  PrintMenuPnl.Visible = False;
 }
 başka
 {
  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');
MyForm.Run
}



1 birim


var
 MyForm: TclForm;
 ImageForm: TclForm;
 ImgDisplay: TclImage;
 BtnCloseImg: TclProButton;


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

 
void CloseImageForm;
{
 ImageForm.Free;
}



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

 
 
 VarMainBtn = MyForm.AddNewProButton(MyForm, 'VarMainBtn', '2. Değişkenler ve Veri Türleri ▾');
 VarMainBtt.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) Sınav');
 BtnVarE.Align = alTop;
 MyForm.AddNewEvent(BtnVarE, tbeOnClick, 'OptionClicked');

 MyForm.Çalıştır;
}                             

2. birim

ImgDisplay: TclImage;  1. deneme kısmında burda hata alıyoruz eski kod düzenimizde hata almıyorduk

https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - 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">


Mesajı Yazan: kaanl0
Mesaj Tarihi: 08 Mayıs 2026 Saat 14:53
Konsaldaki hatayı kopyalayıp atarmısınız ? Gördüğüm 2 hata var myform.çalıştır değil myform.run olucak, 2.si kullandığımız github linki raw linki olmalı linke tıkladığımızda istediğimiz görsel açılmalı,
https://raw.githubusercontent.com/kaanl0/Clomosy_Nalcaci_Project/refs/heads/main/OffBtn.png" rel="nofollow - https://raw.githubusercontent.com/kaanl0/Clomosy_Nalcaci_Project/refs/heads/main/OffBtn.png
Örnek olarak bu şekilde https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - 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">



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