Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - komut
  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.

komut

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


Kayıt Tarihi: 20 Ağustos 2024
Durum: Aktif Değil
Puanlar: 27
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı kacar.nursena Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: komut
    Gönderim Zamanı: 09 Eylül 2024 Saat 15:40
Dökümantasyon'a baktım ancak ben database'e ürün ekledikçe bu ürünleri otomatik olarak panele ekleyebileceğim bir komut bulamadım aşşağdaki koda eklemek istiyorm bu konuda yardımcı olabilirseniz çok sevinirim.
   var
  mainform: TCLForm;
  AtistirmaliklarPage: TclProPanel;
  Button: TClProButton;
  ProductID: Integer;
  ProductName: string;
  ProductPrice: Double;
  ProductImageURL: string;
  ProductQuery: TclSqlQuery;

procedure SetupDatabaseConnection;
begin
  try
    Clomosy.DBSQLServerConnect('SQL Server', 'clomosybakkal.database.windows.net', 'nrs', 'n.12345678', 'Bakkal', 1433);
    ShowMessage('Veritabanı bağlantısı başarıyla kuruldu!');
  except
    ShowMessage('Veritabanı bağlantısı kurulamadı: ' );
  end;
end;

procedure LoadProductsToPage;
begin
  ProductQuery := TclSqlQuery.Create(nil);
  try
    ProductQuery.Connection := Clomosy.DBSQLServerConnection;
    ProductQuery.SQL.Text := 'SELECT ProductID, ProductName, ProductPrice, ProductImageURL FROM Products';  // Category yok, sorguyu düzelttik
    try
      ProductQuery.Open;
    except
      ShowMessage('Ürün sorgusu açılamadı: ' );
    end;
    
    while not ProductQuery.Eof do
    begin
      try
        ProductID := ProductQuery.FieldByName('ProductID').AsInteger;
        ProductName := ProductQuery.FieldByName('ProductName').AsString;
        ProductPrice := ProductQuery.FieldByName('ProductPrice').AsFloat;
        ProductImageURL := ProductQuery.FieldByName('ProductImageURL').AsString;

        // Buton oluştur ve yapılandır 
      
        Button := mainform.AddNewProButton(AtistirmaliklarPage, 'Button', '');
       // Button := TClProButton.Create(AtistirmaliklarPage);
        try
          Button.Width := 120;
          Button.Height := 120;
         // Button.Text := ProductName;
          if Assigned(mainform) then
            mainform.SetImage(Button, ProductImageURL); 

          // Diğer buton özelliklerini ayarla
        
          Button.Margins.Bottom := 400;
          Button.Margins.Right := 100;
          Button.clProSettings.RoundHeight := 10;
          Button.clProSettings.RoundWidth := 10;
          Button.clProSettings.FontVertAlign := palCenter;
          Button.clProSettings.FontHorzAlign := palCenter;
          Button.clProSettings.TextSettings.Font.Style := [fsBold];
          Button.clProSettings.BorderColor := clAlphaColor.clHexToColor('#d1d1d1');
          Button.clProSettings.BorderWidth := 1;
          Button.SetclProSettings(Button.clProSettings);
        except
          ShowMessage('Buton oluşturulurken hata: ' );
        end;

        ProductQuery.Next;
      except
        ShowMessage('Ürün bilgileri işlenirken hata: ' );
      end;
    end;
  finally
    ProductQuery.Close;
    ProductQuery.Free;
  end;
end;

procedure AddProductPage;
begin
  try
    AtistirmaliklarPage := mainform.AddNewProPanel(mainform, 'AtistirmaliklarPage');
    if Assigned(AtistirmaliklarPage) then
    begin
      AtistirmaliklarPage.Align := alClient;
      AtistirmaliklarPage.Margins.Left := 10;
      AtistirmaliklarPage.Margins.Right := 10;
      AtistirmaliklarPage.Margins.Top := 5;
      AtistirmaliklarPage.Margins.Bottom := 10;
      AtistirmaliklarPage.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#ffffff');
      AtistirmaliklarPage.SetclProSettings(AtistirmaliklarPage.clProSettings);

      // Ürünleri sayfaya yükle
      try
        LoadProductsToPage;
      except
        ShowMessage('Ürünleri sayfaya yüklerken hata: ' );
      end;
    end
    else
      ShowMessage('Atıştırmalıklar sayfası oluşturulamadı');
  except
    ShowMessage('Panel oluşturulurken hata: ' );
  end;
end;

begin
  mainform := TCLForm.Create(nil);
  try
    mainform.SetFormColor('#CBEDD5', '', clGNone);
    SetupDatabaseConnection;
    try
      AddProductPage;
    except
      ShowMessage('Ana form çalıştırılırken hata: ' );
    end;
    mainform.Run;
  except
    ShowMessage('Ana form çalıştırılırken hata: ' );
  end;
end.
Yukarı Dön
BilalCndn Açılır Kutu İzle
Forum Yöneticisi
Forum Yöneticisi
Simge

Kayıt Tarihi: 09 Ekim 2023
Durum: Aktif Değil
Puanlar: 150
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı BilalCndn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 10 Eylül 2024 Saat 13:36
Merhaba Nursena,

for (i = 1 to 7)
   {
     testImg = MyForm.AddNewProImage(lytContainer,'testImg'+IntToStr(i));
     testImg.Align = alLeft;
     testImg.Margins.Left = 10;
     testImg.Width = 100;
     MyForm.SetImage(testImg,'https://media1.cucuvi.com/Dic19/BD220BD4-7AEA-43FA-AF97-E62D073AFD1B.jpg');
     lytContainer.Width = lytContainer.Width + testImg.Width + testImg.Margins.Left;
   }

Bu örneği inceleyerek dinamik olarak nesneler oluşturabilirsin.
Veritabanına select sorgusu atarak gelen veri sayısınca döngüye girmesini sağlayabilirsin.

İyi çalışmalar dilerim.
Bilal Candan

Atiker Yazılım Veri İşlem A.Ş.
Software Developer

[email protected]
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,121 Saniyede Yüklendi.