![]() |
| 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. |
RE: proje |
Yanıt Yaz
|
| Yazar | |
yagmur
Yeni Üye
Kayıt Tarihi: 05 Mayıs 2026 Durum: Aktif Değil Puanlar: 4 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Konu: RE: projeGönderim Zamanı: 2 Saat 12 Dakika Önce Saat 11:39 |
|
stok listesinde sorun var bazı ürünleri eklemiyor veya eklenen ürünü düşmüyor Var Form1: TclForm; PnlLogin, PnlSignUp, PnlWelcome, PnlDashboard, PnlAddProduct, PnlOutProduct, PnlListStock: TclPanel; EdtLName, EdtLPass, EdtSName, EdtSPass: TclProEdit; BtnDoLogin, BtnRegister, BtnGoToSignUp, BtnContinue: TclProButton; BtnGotoAddPage, BtnGotoOutPage, BtnGotoListPage: TclProButton; BtnBackFromAdd, BtnBackFromOut, BtnBackFromList: TclProButton; BtnLogoutWelcome, BtnLogoutDash, BtnLogoutAdd, BtnLogoutOut, BtnLogoutList: TclProButton; BtnOutProduct, BtnSaveProduct: TclProButton; EdtAddName, EdtAddPrice, EdtAddAmount: TclProEdit; EdtOutName, EdtOutAmount, EdtSearch: TclProEdit; Qry: TClSQLiteQuery; i: integer; stPnl: TclPanel; stLbl: TCLLabel; lblAppTitle, lblWelcomeMsg: TclLabel; // --- STOK LİSTESİ VE ARAMA --- void RefreshStockList; { try if (EdtSearch.Text == '') Qry = Clomosy.DBSQLiteQueryWith('SELECT * FROM Stocks ORDER BY pName ASC'); else Qry = Clomosy.DBSQLiteQueryWith('SELECT * FROM Stocks WHERE pName LIKE ' + QuotedStr('%'+EdtSearch.Text+'%') + ' ORDER BY pName ASC'); Qry.OpenOrExecute; Qry.First; i = i + 100; while (not Qry.EOF) { stPnl = Form1.AddNewPanel(PnlListStock, 'stRow' + IntToStr(i)); stPnl.Height = 75; stPnl.Align = alTop; stPnl.Margins.Top = 8; stPnl.StyleLookup = 'pushpanel'; stLbl = Form1.AddNewLabel(stPnl, 'stLbl' + IntToStr(i), Qry.FieldByName('pName').AsString + ' | Fiyat: ' + Qry.FieldByName('pPrice').AsString + ' TL | Stok: ' + Qry.FieldByName('pAmount').AsString); stLbl.Align = alClient; stLbl.Margins.Left = 20; // clRed yerine Hex kodu kullandık (#FF0000) if (Qry.FieldByName('pAmount').AsInteger < 10) { stLbl.TextSettings.FontColor = '#FF0000'; stLbl.Text = '⚠️ ' + stLbl.Text + ' (KRITIK!)'; } else { stLbl.TextSettings.FontColor = '#000000'; } Qry.Next; i = i + 1; } except ShowMessage('Liste yuklenemedi!'); } } // --- ÜRÜN GİRİŞ/ÇIKIŞ --- void AddNewProduct; { if ((EdtAddName.Text <> '') && (EdtAddAmount.Text <> '')) { try Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO Stocks (pName, pPrice, pAmount) VALUES (' + QuotedStr(EdtAddName.Text) + ', ' + EdtAddPrice.Text + ', ' + EdtAddAmount.Text + ')'; Clomosy.DBSQLiteQuery.OpenOrExecute; ShowMessage('Urun basariyla eklendi!'); EdtAddName.Text = ''; EdtAddPrice.Text = ''; EdtAddAmount.Text = ''; except ShowMessage('Kayit hatasi!'); } } else ShowMessage('Lutfen alanlari doldurun!'); } void SubProduct; { if ((EdtOutName.Text <> '') && (EdtOutAmount.Text <> '')) { Qry = Clomosy.DBSQLiteQueryWith('SELECT pAmount FROM Stocks WHERE pName = ' + QuotedStr(EdtOutName.Text)); Qry.OpenOrExecute; if (not Qry.Eof) { if (Qry.FieldByName('pAmount').AsInteger >= StrToInt(EdtOutAmount.Text)) { Clomosy.DBSQLiteQuery.Sql.Text = 'UPDATE Stocks SET pAmount = pAmount - ' + EdtOutAmount.Text + ' WHERE pName = ' + QuotedStr(EdtOutName.Text); Clomosy.DBSQLiteQuery.OpenOrExecute; ShowMessage('Stok guncellendi!'); EdtOutName.Text = ''; EdtOutAmount.Text = ''; } else ShowMessage('Yetersiz stok!'); } else ShowMessage('Urun bulunamadi!'); } } // --- NAVİGASYON --- void ShowLogin; { PnlSignUp.Visible = False; PnlWelcome.Visible = False; PnlDashboard.Visible = False; PnlAddProduct.Visible = False; PnlOutProduct.Visible = False; PnlListStock.Visible = False; PnlLogin.Visible = True; } void ShowWelcome; { PnlLogin.Visible = False; PnlSignUp.Visible = False; PnlWelcome.Visible = True; lblWelcomeMsg.Text = 'Sayin ' + EdtLName.Text + ',' + #13 + 'Sisteme Hos Geldiniz'; } void ShowDashboard; { PnlWelcome.Visible = False; PnlAddProduct.Visible = False; PnlOutProduct.Visible = False; PnlListStock.Visible = False; PnlDashboard.Visible = True; } void ShowAddPage; { PnlDashboard.Visible = False; PnlAddProduct.Visible = True; } void ShowOutPage; { PnlDashboard.Visible = False; PnlOutProduct.Visible = True; } void ShowListPage; { PnlDashboard.Visible = False; PnlListStock.Visible = True; RefreshStockList; } void ShowSignUp; { PnlLogin.Visible = False; PnlSignUp.Visible = True; } // --- AUTH --- void DoLogin; { Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT * FROM Users WHERE userName=' + QuotedStr(EdtLName.Text) + ' AND userPassword=' + QuotedStr(EdtLPass.Text); Clomosy.DBSQLiteQuery.OpenOrExecute; if (not Clomosy.DBSQLiteQuery.Eof) ShowWelcome; else ShowMessage('Hatali Giris!'); } void DoRegister; { Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO Users (userName, userPassword) VALUES (' + QuotedStr(EdtSName.Text) + ', ' + QuotedStr(EdtSPass.Text) + ')'; Clomosy.DBSQLiteQuery.OpenOrExecute; ShowMessage('Kayit Basarili!'); ShowLogin; } void SetupDatabase; { Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'ClomoStockV21.db3', ''); Clomosy.DBSQLiteQuery.Sql.Text = 'CREATE TABLE IF NOT EXISTS Users(userName TEXT, userPassword TEXT)'; Clomosy.DBSQLiteQuery.OpenOrExecute; Clomosy.DBSQLiteQuery.Sql.Text = 'CREATE TABLE IF NOT EXISTS Stocks(pName TEXT, pPrice INTEGER, pAmount INTEGER)'; Clomosy.DBSQLiteQuery.OpenOrExecute; } // --- ANA PROGRAM --- { Form1 = TclForm.Create(Self); SetupDatabase; i = 0; // 1. LOGIN PnlLogin = Form1.AddNewPanel(Form1, 'PnlLogin'); PnlLogin.Align = alClient; EdtLName = Form1.AddNewProEdit(PnlLogin, 'EdtLName', 'Kullanici Adi'); EdtLName.Align = alTop; EdtLName.Margins.Top = 50; EdtLPass = Form1.AddNewProEdit(PnlLogin, 'EdtLPass', 'Sifre'); EdtLPass.Align = alTop; EdtLPass.Password = True; BtnDoLogin = Form1.AddNewProButton(PnlLogin, 'BtnDoLogin', 'GIRIS YAP'); BtnDoLogin.Align = alTop; Form1.AddNewEvent(BtnDoLogin, tbeOnClick, 'DoLogin'); BtnGoToSignUp = Form1.AddNewProButton(PnlLogin, 'BtnGoToSignUp', 'HESAP OLUSTUR'); BtnGoToSignUp.Align = alTop; Form1.AddNewEvent(BtnGoToSignUp, tbeOnClick, 'ShowSignUp'); // 2. SIGNUP PnlSignUp = Form1.AddNewPanel(Form1, 'PnlSignUp'); PnlSignUp.Align = alClient; PnlSignUp.Visible = False; EdtSName = Form1.AddNewProEdit(PnlSignUp, 'EdtSName', 'Yeni Kullanici'); EdtSName.Align = alTop; EdtSPass = Form1.AddNewProEdit(PnlSignUp, 'EdtSPass', 'Yeni Sifre'); EdtSPass.Align = alTop; BtnRegister = Form1.AddNewProButton(PnlSignUp, 'BtnRegister', 'KAYIT OL'); BtnRegister.Align = alTop; Form1.AddNewEvent(BtnRegister, tbeOnClick, 'DoRegister'); // 3. WELCOME PnlWelcome = Form1.AddNewPanel(Form1, 'PnlWelcome'); PnlWelcome.Align = alClient; PnlWelcome.Visible = False; lblAppTitle = Form1.AddNewLabel(PnlWelcome, 'lblAppTitle', 'ClomoStock'); lblAppTitle.Align = alTop; lblAppTitle.Height = 50; lblAppTitle.TextSettings.Font.Size = 30; lblWelcomeMsg = Form1.AddNewLabel(PnlWelcome, 'lblWelcomeMsg', ''); lblWelcomeMsg.Align = alTop; lblWelcomeMsg.Height = 50; BtnContinue = Form1.AddNewProButton(PnlWelcome, 'BtnContinue', 'DEVAM ET'); BtnContinue.Align = alTop; Form1.AddNewEvent(BtnContinue, tbeOnClick, 'ShowDashboard'); // 4. DASHBOARD PnlDashboard = Form1.AddNewPanel(Form1, 'PnlDashboard'); PnlDashboard.Align = alClient; PnlDashboard.Visible = False; BtnGotoAddPage = Form1.AddNewProButton(PnlDashboard, 'BtnA', 'URUN GIRISI'); BtnGotoAddPage.Align = alTop; Form1.AddNewEvent(BtnGotoAddPage, tbeOnClick, 'ShowAddPage'); BtnGotoOutPage = Form1.AddNewProButton(PnlDashboard, 'BtnO', 'URUN CIKISI'); BtnGotoOutPage.Align = alTop; Form1.AddNewEvent(BtnGotoOutPage, tbeOnClick, 'ShowOutPage'); BtnGotoListPage = Form1.AddNewProButton(PnlDashboard, 'BtnL', 'STOK LISTESI'); BtnGotoListPage.Align = alTop; Form1.AddNewEvent(BtnGotoListPage, tbeOnClick, 'ShowListPage'); // 5. URUN GIRIS PnlAddProduct = Form1.AddNewPanel(Form1, 'PnlAddProduct'); PnlAddProduct.Align = alClient; PnlAddProduct.Visible = False; EdtAddName = Form1.AddNewProEdit(PnlAddProduct, 'EdtAN', 'Urun Adi'); EdtAddName.Align = alTop; EdtAddPrice = Form1.AddNewProEdit(PnlAddProduct, 'EdtAP', 'Fiyat'); EdtAddPrice.Align = alTop; EdtAddAmount = Form1.AddNewProEdit(PnlAddProduct, 'EdtAA', 'Adet'); EdtAddAmount.Align = alTop; BtnSaveProduct = Form1.AddNewProButton(PnlAddProduct, 'BtnSv', 'KAYDET'); BtnSaveProduct.Align = alTop; Form1.AddNewEvent(BtnSaveProduct, tbeOnClick, 'AddNewProduct'); BtnBackFromAdd = Form1.AddNewProButton(PnlAddProduct, 'BtnBa', 'GERI'); BtnBackFromAdd.Align = alBottom; Form1.AddNewEvent(BtnBackFromAdd, tbeOnClick, 'ShowDashboard'); // 6. URUN CIKIS PnlOutProduct = Form1.AddNewPanel(Form1, 'PnlOutProduct'); PnlOutProduct.Align = alClient; PnlOutProduct.Visible = False; EdtOutName = Form1.AddNewProEdit(PnlOutProduct, 'EdtON', 'Urun Adi'); EdtOutName.Align = alTop; EdtOutAmount = Form1.AddNewProEdit(PnlOutProduct, 'EdtOA', 'Adet'); EdtOutAmount.Align = alTop; BtnOutProduct = Form1.AddNewProButton(PnlOutProduct, 'BtnOp', 'CIKIS YAP'); BtnOutProduct.Align = alTop; Form1.AddNewEvent(BtnOutProduct, tbeOnClick, 'SubProduct'); BtnBackFromOut = Form1.AddNewProButton(PnlOutProduct, 'BtnBo', 'GERI'); BtnBackFromOut.Align = alBottom; Form1.AddNewEvent(BtnBackFromOut, tbeOnClick, 'ShowDashboard'); // 7. LISTE PnlListStock = Form1.AddNewPanel(Form1, 'PnlListStock'); PnlListStock.Align = alClient; PnlListStock.Visible = False; EdtSearch = Form1.AddNewProEdit(PnlListStock, 'EdtSearch', 'Ara...'); EdtSearch.Align = alTop; Form1.AddNewEvent(EdtSearch, tbeOnChange, 'RefreshStockList'); BtnBackFromList = Form1.AddNewProButton(PnlListStock, 'BtnBl', 'GERI'); BtnBackFromList.Align = alBottom; Form1.AddNewEvent(BtnBackFromList, tbeOnClick, 'ShowDashboard'); Form1.Run; } 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">
|
|
|
4GWTRS
|
|
![]() |
|
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 |