Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - tbeOnTap da hata alıyorum
  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.

tbeOnTap da hata alıyorum

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


Kayıt Tarihi: 25 Haziran 2025
Konum: ADANA
Durum: Aktif Değil
Puanlar: 2
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı turgutkir Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: tbeOnTap da hata alıyorum
    Gönderim Zamanı: 18 Saat 58 Dakika Önce Saat 15:00
Personel seçimini yapıp "Devam Et" butonuna tıkladığımda hiçbir geri dönüş almıyor hata da vermiyor sebebi ne olabilir.

//------------------------------------------------------------------
//  MainCode
//------------------------------------------------------------------

var
  MainForm         : TclForm;
  lblTitle, lblDesc: TclLabel;
  cmbRole          : TclComboBox;
  btnNext          : TclButton;


procedure OpenPanel;
var
  roleVal : String;
begin
  roleVal := LowerCase(cmbRole.Text);      // 'personel' / 'yönetici'

  if      roleVal = 'personel' then Clomosy.RunUnit('uPersonnelForm')
  else if roleVal = 'yönetici' then Clomosy.RunUnit('uManagerForm')
  else    ShowMessage('Lütfen önce rol seçin.');
end;


begin
  MainForm := TclForm.Create(Self);
  MainForm.clSetCaption('Rol Seçimi');

  // Başlık
  lblTitle := MainForm.AddNewLabel(MainForm,'lblTitle',
    'Ziyaretçi Yönetim Sistemine Hoş Geldiniz');
  lblTitle.Font.Size   := 18;
  lblTitle.Align       := alTop;
  lblTitle.Margins.Top := 24;

  // Açıklama
  lblDesc := MainForm.AddNewLabel(MainForm,'lblDesc',
    'Lütfen rolünüzü seçin:');
  lblDesc.Align       := alTop;
  lblDesc.Margins.Top := 12;

  // Rol seçimi
  cmbRole := MainForm.AddNewComboBox(MainForm,'cmbRole');
  cmbRole.AddItem('Personel','personel');
  cmbRole.AddItem('Yönetici','yonetici');
  cmbRole.Align       := alTop;
  cmbRole.Margins.Top := 20;
  cmbRole.Width       := 200;
  cmbRole.ItemIndex   := 0;            // varsayılan: Personel

  // Devam butonu
  btnNext := MainForm.AddNewButton(MainForm,'btnNext','Devam Et');
  btnNext.Align       := alTop;
  btnNext.Margins.Top := 32;
  btnNext.Width       := 200;
  btnNext.Height      := 40;           // tıklanabilir alan
  MainForm.AddNewEvent(btnNext, tbeOnClick, 'OpenPanel');  // ← YALNIZCA tbeOnClick

  MainForm.Run;
end.

uPersonnelForm :

//------------------------------------------------------------------
//   Personel Formu
//------------------------------------------------------------------

var
  FrmPer              : TclForm;
  edtCompany, edtLoc  : TclEdit;
  edtDate             : TclEdit;        // tarih metin kutusu
  memoPurpose,
  memoNotes           : TclMemo;
  chkSale             : TclCheckBox;
  btnSave             : TclButton;
  qInsert             : TclSqlQuery;
  LoggedUserID        : Integer;


procedure SaveMeeting;
var
  saleVal : String;
begin
  if edtCompany.Text = '' then
  begin
    ShowMessage('Firma / kişi adı boş olamaz!');
    Exit;
  end;

  if edtDate.Text = '' then
  begin
    ShowMessage('Tarih alanı boş olamaz!');
    Exit;
  end;

  saleVal := IfThen(chkSale.IsChecked,'1','0');

  try
    qInsert.SQL.Text :=
      'INSERT INTO Meetings ' +
      '(UserID,CompanyName,MeetingDate,Location,Purpose,IsSale,Notes) VALUES (' +
        IntToStr(LoggedUserID) + ',' +
        QuotedStr(edtCompany.Text) + ',' +
        QuotedStr(edtDate.Text) + ',' +
        QuotedStr(edtLoc.Text) + ',' +
        QuotedStr(memoPurpose.Text) + ',' +
        saleVal + ',' +
        QuotedStr(memoNotes.Text) + ')';

    qInsert.ExecSQL;
    ShowMessage('Kayıt başarılı');

    edtCompany.Text   := '';
    edtLoc.Text       := '';
    edtDate.Text      := '';
    memoPurpose.Text  := '';
    memoNotes.Text    := '';
    chkSale.IsChecked := False;

  except
    ShowMessage('Hata: ' + LastExceptionMessage);
  end;
end;


procedure CreateForm;
begin
  FrmPer := TclForm.Create(Self);
  FrmPer.clSetCaption('Personel Paneli');

  edtCompany  := FrmPer.AddNewEdit(FrmPer,'edtCompany','Firma / Kişi');
  edtDate     := FrmPer.AddNewEdit(FrmPer,'edtDate','Tarih (yyyy-MM-dd hh:nn)');
  edtLoc      := FrmPer.AddNewEdit(FrmPer,'edtLoc','Yer');
  memoPurpose := FrmPer.AddNewMemo(FrmPer,'memoPurpose','Amaç');
  chkSale     := FrmPer.AddNewCheckBox(FrmPer,'chkSale','Satış Gerçekleşti');
  memoNotes   := FrmPer.AddNewMemo(FrmPer,'memoNotes','Notlar');

  btnSave := FrmPer.AddNewButton(FrmPer,'btnSave','Kaydet');
  FrmPer.AddNewEvent(btnSave, tbeOnClick, 'SaveMeeting');


  LoggedUserID := 1;   // örnek kullanıcı

  // DB bağlantısı
  qInsert := TclSqlQuery.Create(nil);
  Clomosy.DBSQLServerConnect(
    'SQL Server',
    'TURGUT-KIR\\ATIKER',
    'sa',
    '1',
    'TURGUT25',
    1433);
  qInsert.Connection := Clomosy.DBSQLServerConnection;

  FrmPer.Run;
end;


procedure RunUnit;
begin
  if not Assigned(FrmPer) then
    CreateForm
  else
    FrmPer.clShow;
end;


Yukarı Dön
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif Değil
Puanlar: 101
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Emr.Erkmn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 18 Saat 14 Dakika Önce Saat 15:44
Merhaba Turgut,
Kodun genel mantığı doğru ve doğru noktalara ulaşmışsın. Ancak yazım kurallarını kullanmakta olduğun dil yapısına uygun şekilde düzenlemen gerekiyor. Aşağıda dikkat etmen gereken temel noktaları özetliyorum:

 procedure yerine void kullanmalısın.

 begin ... end; yerine { } süslü parantezler kullanılmalı.

 Atamalarda := değil = kullanılmalıdır.
Değişkenlere değer verirken = operatörü kullanılır.

Koşullarda karşılaştırma = değil == ile yapılmalıdır.

Bu yapıya dikkat ettiğin sürece kodların hem okunabilir olacak hem de doğru şekilde derlenecektir.

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,031 Saniyede Yüklendi.