var mainform: TCLForm; AtistirmaliklarPage: TclProPanel; Button: TClProButton; ProductID: Integer; ProductName: string; ProductPrice: Double; ProductImageURL: string; ProductQuery: TclSqlQuery;
procedure SetupDatabaseConnection; begin // Veritabanı bağlantısını oluştur ve yapılandır Clomosy.DBSQLServerConnect('SQL Server', 'clomosybakkal.database.windows.net', 'nrs', 'n.12345678', 'Bakkal', 1433); end;
procedure LoadProductsToPage; begin // Ürün sorgusunu oluştur ve veritabanına bağlan ProductQuery := TclSqlQuery.Create(nil); try ProductQuery.Connection := Clomosy.DBSQLServerConnection; ProductQuery.SQL.Text := 'SELECT ProductID, ProductName, ProductPrice, ProductImageURL FROM Products WHERE Category = ''Atıştırmalık'''; ProductQuery.Open;
// Ürünleri döngüye al ve sayfada görüntüle while not ProductQuery.Eof do begin 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 := TClProButton.Create(AtistirmaliklarPage); // Buton AtistirmaliklarPage altında oluşturuluyor try Button.Width := 120; Button.Height := 120; Button.Text := ProductName; if Assigned(mainform) then mainform.SetImage(Button, ProductImageURL); // Ürün resmini butona ekle
// Diğer buton özelliklerini ayarla 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 // on E: Exception do ShowMessage('Error creating button: ');//+ E.Message); end;
ProductQuery.Next; end; finally ProductQuery.Close; ProductQuery.Free; end; end;
procedure AddProductPage; begin // Ürünlerin görüntüleneceği paneli oluştur AtistirmaliklarPage := mainform.AddNewPanel(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 LoadProductsToPage; end else ShowMessage('Failed to create AtistirmaliklarPage panel'); end;
begin mainform := TCLForm.Create(nil); try mainform.SetFormColor('#CBEDD5', '', clGNone); SetupDatabaseConnection; AddProductPage; mainform.Run; except // on E: Exception do ShowMessage('Error: ' );//+ E.Message); end; end.
kodda try'a girmiyor excepte düşüyor bağlantı hatası olabilir mi?
|