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. |
dizayn hatası |
Yanıt Yaz |
Yazar | |
kacar.nursena
Yeni Üye Kayıt Tarihi: 20 Ağustos 2024 Durum: Aktif Değil Puanlar: 27 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı kacar.nursena
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Gönderim Zamanı: 13 Eylül 2024 Saat 17:15 |
kodumda 1.buton ve labellar olması gereken yere gelmiyor bide yeni buton eklediğimde öncekinin üstüne bindi nasıl düzeltebilirim ?
kod:var mainform: TCLForm; AtistirmaliklarPage: TclProPanel; Button: TClProButton; ProductID: Integer; ProductName: string; ProductPrice: Double; ProductImageURL: string; ProductQuery: TclSqlQuery; pricelabel, namelabel: TClProLabel; TopOffset, i, previousButtonTop, previousButtonLeft: Integer; procedure SetupDatabaseConnection; begin try Clomosy.DBSQLServerConnect('SQL Server', 'su-db.database.windows.net','dbAdmin','Azure1234','suDb', 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'; try ProductQuery.Open; except ShowMessage('Ürün sorgusu açılamadı: '); end; previousButtonLeft := 10; // İlk butonun sol kenardan uzaklığı previousButtonTop := 10; // İlk butonun üst kenardan uzaklığı i := 0; 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; // Yeni buton oluşturma Button := mainform.AddNewProButton(AtistirmaliklarPage, 'Button' + IntToStr(i), ''); Inc(i); // i'yi 1 artır // Buton boyut ve pozisyon Button.Width := 150; Button.Height := 150; // Butonun yerleşimi (yatay ve dikey) if (ProductID mod 2 = 1) then begin // Tek butonlar, sol tarafa hizalanacak Button.Margins.Bottom := previousButtonTop; // Önceki butonun altına yerleştirmek için Button.Margins.Right := 0; // Sol tarafa hizalanacak Button.Margins.Left := 10; // Sonraki butonun üst mesafesini güncelle previousButtonTop := Button.Top + Button.Height + 40; end else begin // Çift butonlar, teklerin yanında yer alacak Button.Margins.Bottom := previousButtonTop; // Önceki butonla aynı hizaya yerleştirmek için Button.Margins.Right := 300; // Teklerin yanında olacak Button.Margins.Left := previousButtonLeft; // Sonraki butonun sol mesafesini güncelle previousButtonLeft := Button.Left + Button.Width + 20; end; // Ürün resmini butona ekleme if Assigned(mainform) then mainform.SetImage(Button, ProductImageURL); // Ürün adını göstermek için etiket oluşturma namelabel := mainform.AddNewProLabel(AtistirmaliklarPage, 'namelabel' + IntToStr(i), ''); namelabel.Top := Button.Top + Button.Height + 5; // Butonun hemen altında namelabel.Left := Button.Left; // Butonla hizalı namelabel.Text := ProductName; // Ürün fiyatını göstermek için etiket oluşturma pricelabel := mainform.AddNewProLabel(AtistirmaliklarPage, 'pricelabel' + IntToStr(i), ''); pricelabel.Top := namelabel.Top + namelabel.Height + 5; // Ürün adının altında pricelabel.Left := Button.Left; // Butonla hizalı pricelabel.Text := Format('Fiyat: %.2f TL', [ProductPrice]); 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 := alNone; // Manuel hizalama AtistirmaliklarPage.Width := 600; // Panel genişliği AtistirmaliklarPage.Height := 800; // Panel yüksekliği AtistirmaliklarPage.Left := 50; // Panelin sol kenardan uzaklığı AtistirmaliklarPage.Top := 50; // Panelin üst kenardan uzaklığı 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. |
|
Developer
Forum Yöneticisi Kayıt Tarihi: 14 Haziran 2023 Durum: Aktif Değil Puanlar: 354 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Developer
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
Merhaba Nursena,
Aşağıda yer alan linki inceleyebilir misin?
|
|
Yanıt Yaz | |
Tweet |
Forum Atla | Forum İzinleri Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |