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

syntax error satir 193

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


Kayıt Tarihi: 07 Temmuz 2026
Konum: konya
Durum: Aktif Değil
Puanlar: 29
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Barthe_dev Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: syntax error satir 193
    Gönderim Zamanı: 4 Saat 37 Dakika Önce Saat 15:04
var
  MyForm: TclForm;
  mainLayout, headerLayout, switcherLayout: TclLayout;
  scrollBody: TclVertScrollBox;
  
  // Header
  lblKicker, lblTitle: TclProLabel;
  btnSwitchEntry, btnSwitchExit: TclProButton;
  
  // Formulaire de Saisie (Entrée / Sortie)
  formPanel: TclProPanel;
  lblFormTitle: TclProLabel;
  edtProduct, edtLot, edtBloc, edtQty, edtUnit: TclProEdit;
  btnSubmitMvt: TclProButton;
  
  // Historique local / Journal de l'entrepôt
  historyPanel: TclProPanel;
  lblHistoryTitle: TclProLabel;
  mvtQuery: TclJsonQuery;
  mvtJson: String;
  
  // Navigation / TabBar
  tabBarPanel: TclProPanel;
  btnTabStock, btnTabScan, btnTabSettings: TclProButton;
  
  // Variables globales de contrôle
  currentMvtType: String; // 'entrée' ou 'sortie'
  i: Integer;
  tempPanel: TclProPanel;
  tempLayout: TclLayout;
  tempLabel, tempLabel2: TclProLabel;
  tempTypeIcon: TclProPanel;
  rowQtyLayout: TclLayout;
  Obj : TCLJSONObject;
  //donnes pour l'enreigistremnet en data base 
  Rest : TclRest;
  Json : String;
  Result,role : String;
  
  //creation de la procedure pour la creation dynamique des blocs produit
  historyScrollBox: TclVertScrollBox;
  btnSeeMore: TclProButton;
  isExpandedList: Boolean;
  lastMvtCount: Integer;
  historyContainerPanel: TclProPanel;
  refreshIndex: Integer;

// ============================================================
// BASCULE ENTRÉE / SORTIE DE STOCK
// ============================================================
void SetModeEntry
{
  currentMvtType = 'entrée';
  lblFormTitle.Text = '📥 NOUVELLE ENTRÉE DE STOCK';
  lblFormTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#4ade80');
  lblFormTitle.SetclProSettings(lblFormTitle.clProSettings);
  
  btnSubmitMvt.Caption = 'Valider l''Entrée (+)';
  clComponent.SetupComponent(btnSubmitMvt, '{"BackgroundColor":"#22c55e20", "TextColor":"#4ade80", "RoundHeight":12, "RoundWidth":12, "BorderColor":"#22c55e50", "BorderWidth":1}');
  
  clComponent.SetupComponent(btnSwitchEntry, '{"BackgroundColor":"#0d1520", "TextColor":"#4ade80", "RoundHeight":10, "RoundWidth":10, "BorderColor":"#22c55e40", "BorderWidth":1}');
  clComponent.SetupComponent(btnSwitchExit, '{"BackgroundColor":"#080d14", "TextColor":"#4a6580", "RoundHeight":10, "RoundWidth":10, "BorderColor":"#1a2d42", "BorderWidth":1}');
}

void SetModeExit
{
  currentMvtType = 'sortie';
  lblFormTitle.Text = '📤 NOUVELLE SORTIE DE STOCK';
  lblFormTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#fb923c');
  lblFormTitle.SetclProSettings(lblFormTitle.clProSettings);
  
  btnSubmitMvt.Caption = 'Valider la Sortie (-)';
  clComponent.SetupComponent(btnSubmitMvt, '{"BackgroundColor":"#f9731620", "TextColor":"#fb923c", "RoundHeight":12, "RoundWidth":12, "BorderColor":"#f9731650", "BorderWidth":1}');
  
  clComponent.SetupComponent(btnSwitchEntry, '{"BackgroundColor":"#080d14", "TextColor":"#4a6580", "RoundHeight":10, "RoundWidth":10, "BorderColor":"#1a2d42", "BorderWidth":1}');
  clComponent.SetupComponent(btnSwitchExit, '{"BackgroundColor":"#0d1520", "TextColor":"#fb923c", "RoundHeight":10, "RoundWidth":10, "BorderColor":"#f9731640", "BorderWidth":1}');
}
// N'oubliez pas d'ajouter "lastMvtCount: Integer;" dans vos variables globales 'var' en haut du projet !

void RefreshMovementsHistory
var
  Rest: TclRest;
  apiUrl: String;
  totalCardsHeight, i: Integer; // Localisation de 'i'
{
  // ============================================================
  // 1. Destruction propre du conteneur précédent
  // ============================================================
  if (historyContainerPanel <> nil) {
    historyContainerPanel.Free;
    historyContainerPanel = nil; // Réinitialisation du pointeur
  }
  // Génération d'un nom de composant UNIQUE pour éviter le conflit dans MyForm
  refreshIndex = refreshIndex + 1;
  // Recrée un panneau conteneur avec un nom unique
  historyContainerPanel = MyForm.AddNewProPanel(historyScrollBox, 'historyContainerPanel_' + IntToStr(refreshIndex));
  historyContainerPanel.Align = alTop;
  clComponent.SetupComponent(historyContainerPanel, '{"BackgroundColor":"#00000000", "BorderWidth":0}');
  // ============================================================
  // 2. Chargement de l'API REST
  // ============================================================
  if (isExpandedList) {
  }
  else {
  }
  Rest = TclRest.Create;
  try
    Rest.BaseURL = apiUrl;
    Rest.Method = rmGET;
    Rest.Accept = 'application/json';
    Rest.Execute;
    if (Rest.Response <> '') 
    {
      mvtQuery = Clomosy.ClDataSetFromJSON(Rest.Response);
      mvtQuery.First;
      i = 0;
      totalCardsHeight = 0;
      while (not mvtQuery.Eof)
      {
        // Création de la carte dans le conteneur dynamique
        tempPanel = MyForm.AddNewProPanel(historyContainerPanel, 'mvtCard_' + IntToStr(refreshIndex) + '_' + IntToStr(i));
        tempPanel.Align = alTop;
        tempPanel.Height = 62;
        tempPanel.Margins.Left = 4; 
        tempPanel.Margins.Right = 4; 
        tempPanel.Margins.Bottom = 8;
        clComponent.SetupComponent(tempPanel, '{"BackgroundColor":"#080d14", "RoundHeight":10, "RoundWidth":10, "BorderColor":"#1a2d42", "BorderWidth":1}');
        // Icône d'indicateur
        tempTypeIcon = MyForm.AddNewProPanel(tempPanel, 'mvtIcon_' + IntToStr(refreshIndex) + '_' + IntToStr(i));
        tempTypeIcon.Align = alLeft; 
        tempTypeIcon.Width = 36;
        tempTypeIcon.Margins.Left = 8; 
        tempTypeIcon.Margins.Top = 10; 
        tempTypeIcon.Margins.Bottom = 10;
        if (mvtQuery.FieldByName('type').AsString == 'entrée') {
          clComponent.SetupComponent(tempTypeIcon, '{"BackgroundColor":"#22c55e18", "BorderColor":"#22c55e30", "BorderWidth":1, "RoundHeight":8, "RoundWidth":8}');
        }
        else {
          clComponent.SetupComponent(tempTypeIcon, '{"BackgroundColor":"#f9731618", "BorderColor":"#f9731630", "BorderWidth":1, "RoundHeight":8, "RoundWidth":8}');
        }
        // Détails Produit & Heure
        tempLayout = MyForm.AddNewLayout(tempPanel, 'mvtTextLayout_' + IntToStr(refreshIndex) + '_' + IntToStr(i));
        tempLayout.Align = alClient;
        tempLayout.Margins.Left = 10; 
        tempLayout.Margins.Top = 10;
        tempLabel = MyForm.AddNewProLabel(tempLayout, 'mvtLblProd_' + IntToStr(refreshIndex) + '_' + IntToStr(i), mvtQuery.FieldByName('product').AsString);
        tempLabel.Align = alTop;
        tempLabel.clProSettings.FontSize = 12;
        tempLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#e2eaf5');
        tempLabel.clProSettings.TextSettings.Font.Style = [fsBold];
        tempLabel.SetclProSettings(tempLabel.clProSettings);
        tempLabel2 = MyForm.AddNewProLabel(tempLayout, 'mvtLblSub_' + IntToStr(refreshIndex) + '_' + IntToStr(i), mvtQuery.FieldByName('time').AsString + ' · ' + mvtQuery.FieldByName('bloc').AsString);
        tempLabel2.Align = alTop;
        tempLabel2.clProSettings.FontSize = 10;
        tempLabel2.clProSettings.FontColor = clAlphaColor.clHexToColor('#4a6580');
        tempLabel2.Margins.Top = 2;
        tempLabel2.SetclProSettings(tempLabel2.clProSettings);
        // Quantité
        tempLayout = MyForm.AddNewLayout(tempPanel, 'mvtQtyLayout_' + IntToStr(refreshIndex) + '_' + IntToStr(i));
        tempLayout.Align = alRight; 
        tempLayout.Width = 80;
        tempLayout.Margins.Right = 10; 
        tempLayout.Margins.Top = 10;
        tempLabel = MyForm.AddNewProLabel(tempLayout, 'mvtLblQty_' + IntToStr(refreshIndex) + '_' + IntToStr(i), mvtQuery.FieldByName('qty').AsString + ' ' + mvtQuery.FieldByName('unit').AsString);
        tempLabel.Align = alTop;
        tempLabel.clProSettings.FontSize = 12;
        if (mvtQuery.FieldByName('qty').AsInteger > 0) {
          tempLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#4ade80');
        }
        else {
          tempLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#fb923c');
        }
        tempLabel.clProSettings.TextSettings.Font.Style = [fsBold];
        tempLabel.SetclProSettings(tempLabel.clProSettings);
        totalCardsHeight = totalCardsHeight + 70; 
        i = i + 1;
        mvtQuery.Next;
      }
      // Ajustement dynamique de la hauteur
      historyContainerPanel.Height = totalCardsHeight;
    }
  finally
    Rest.Free;
  }
 

// ============================================================
// ENVOI DU MOUVEMENT AU BACKEND (API REST)
// ============================================================
//mettre la liste qutomatiquement a jour apres auel 'on a ajouter un nouveau element'
void SubmitMovement;
var
  Rest: TclRest;
  payloadJson, responseStr: String;
  resObj: TclJSONObject;
{
  if ((edtProduct.Text == '') || (edtQty.Text == '') )
  {
    ShowMessage('Veuillez renseigner au moins le produit et la quantité.');
    Exit;
  }

  payloadJson = '{"type":"' + currentMvtType + '","product":"' + edtProduct.Text + '","lot":"' + edtLot.Text + '","bloc":"' + edtBloc.Text + '","qty":' + edtQty.Text + ',"unit":"' + edtUnit.Text + '"}';

  Rest = TclRest.Create;
  try
    Rest.Method = rmPOST;
    Rest.Accept = 'application/json';
    Rest.Body = payloadJson;
    Rest.Execute;

    responseStr = Rest.Response;
    if (responseStr <> '')
    {
      resObj = TclJson.ParseToJSONObject(responseStr);
      if ((resObj <> nil) &&  (resObj.GetValue('success').AsBoolean)) 
      {
        ShowMessage('Mouvement enregistré avec succès !');
        
        // Réinitialisation des champs
        edtProduct.Text = '';
        edtLot.Text = '';
        edtQty.Text = '';
        // 💡 RAFRAÎCHISSEMENT IMMÉDIAT DE LA LISTE
        RefreshMovementsHistory;
      }
      else{
        ShowMessage('Erreur lors de l''enregistrement.');
      }
    }
  finally
    Rest.Free;
  }
  }

void TabClick
{
  ShowMessage('Navigation : ' + TclProButton(MyForm.ClSender).Caption);
}
// Clic sur "Voir plus / Réduire"
void  ToggleSeeMore;
{
  isExpandedList = not isExpandedList;
  
  if (isExpandedList)
  {
    historyPanel.Height = 420; // Agrandi le panneau
    btnSeeMore.Caption = 'Réduire la liste ▲';
   }
  else
  {
    historyPanel.Height = 290; // Hauteur par défaut pour 3 cartes
    btnSeeMore.Caption = 'Voir plus (Aujourd''hui) ▼';
  }
  
  RefreshMovementsHistory;
}























// ============================================================
// PROGRAMME PRINCIPAL
// ============================================================
{
  MyForm = TclForm.Create(Self);
  MyForm.SetFormColor('#080d14', '#0d1520', clGVertical);

  if (not Clomosy.PlatformIsMobile) {
    MyForm.clSetWindowState(fwsMaximized);
  }
  currentMvtType = 'entrée';

  // --- Main Layout ---
  mainLayout = MyForm.AddNewLayout(MyForm, 'mainLayout');
  mainLayout.Align = alClient;
  mainLayout.Margins.Bottom = 60;

  // --- En-tête / Header ---
  headerLayout = MyForm.AddNewLayout(mainLayout, 'headerLayout');
  headerLayout.Align = alTop;
  headerLayout.Height = 70;
  headerLayout.Margins.Left = 16;
  headerLayout.Margins.Right = 16;
  headerLayout.Margins.Top = 10;

  lblKicker = MyForm.AddNewProLabel(headerLayout, 'lblKicker', 'ESPACE GÉRANT D''ENTREPÔT');
  lblKicker.Align = alTop;
  lblKicker.Height = 14;
  lblKicker.clProSettings.FontColor = clAlphaColor.clHexToColor('#00d4ff');
  lblKicker.clProSettings.FontSize = 10;
  lblKicker.clProSettings.TextSettings.Font.Style = [fsBold];
  lblKicker.SetclProSettings(lblKicker.clProSettings);

  lblTitle = MyForm.AddNewProLabel(headerLayout, 'lblTitle', 'Gestion des Stocks');
  lblTitle.Align = alTop;
  lblTitle.Height = 32;
  lblTitle.Margins.Top = 2;
  lblTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#e2eaf5');
  lblTitle.clProSettings.FontSize = 24;
  lblTitle.clProSettings.TextSettings.Font.Style = [fsBold];
  lblTitle.SetclProSettings(lblTitle.clProSettings);

  // --- Selecteur d'Action (Entrée / Sortie) ---
  switcherLayout = MyForm.AddNewLayout(mainLayout, 'switcherLayout');
  switcherLayout.Align = alTop;
  switcherLayout.Height = 44;
  switcherLayout.Margins.Left = 16;
  switcherLayout.Margins.Right = 16;
  switcherLayout.Margins.Bottom = 10;

  btnSwitchEntry = MyForm.AddNewProButton(switcherLayout, 'btnSwitchEntry', '📥 Réception (Entrée)');
  btnSwitchEntry.Align = alLeft;
  btnSwitchEntry.Width = 165;
  clComponent.SetupComponent(btnSwitchEntry, '{"BackgroundColor":"#0d1520", "TextColor":"#4ade80", "RoundHeight":10, "RoundWidth":10, "BorderColor":"#22c55e40", "BorderWidth":1}');
  MyForm.AddNewEvent(btnSwitchEntry, tbeOnClick, 'SetModeEntry');

  btnSwitchExit = MyForm.AddNewProButton(switcherLayout, 'btnSwitchExit', '📤 Expédition (Sortie)');
  btnSwitchExit.Align = alRight;
  btnSwitchExit.Width = 165;
  clComponent.SetupComponent(btnSwitchExit, '{"BackgroundColor":"#080d14", "TextColor":"#4a6580", "RoundHeight":10, "RoundWidth":10, "BorderColor":"#1a2d42", "BorderWidth":1}');
  MyForm.AddNewEvent(btnSwitchExit, tbeOnClick, 'SetModeExit');

  // --- ScrollBox pour le formulaire et le journal ---
  scrollBody = MyForm.AddNewVertScrollBox(mainLayout, 'scrollBody');
  scrollBody.Align = alClient;
  scrollBody.Margins.Left = 16;
  scrollBody.Margins.Right = 16;

  // ============================================================
  // FORMULAIRE DE SAISIE DE STOCK
  // ============================================================
  formPanel = MyForm.AddNewProPanel(scrollBody, 'formPanel');
  formPanel.Align = alTop;
  formPanel.Height = 310;
  formPanel.Margins.Bottom = 16;
  clComponent.SetupComponent(formPanel, '{"BackgroundColor":"#0d1520", "RoundHeight":16, "RoundWidth":16, "BorderColor":"#1a2d42", "BorderWidth":1}');

  lblFormTitle = MyForm.AddNewProLabel(formPanel, 'lblFormTitle', '📥 NOUVELLE ENTRÉE DE STOCK');
  lblFormTitle.Align = alTop;
  lblFormTitle.Height = 30;
  lblFormTitle.Margins.Left = 14; lblFormTitle.Margins.Top = 10;
  lblFormTitle.clProSettings.FontSize = 12;
  lblFormTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#4ade80');
  lblFormTitle.clProSettings.TextSettings.Font.Style = [fsBold];
  lblFormTitle.SetclProSettings(lblFormTitle.clProSettings);

  edtProduct = MyForm.AddNewProEdit(formPanel, 'edtProduct', 'Nom ou référence du produit...');
  edtProduct.Align = alTop; edtProduct.Height = 40;
  edtProduct.Margins.Left = 14; edtProduct.Margins.Right = 14; edtProduct.Margins.Top = 6;
  clComponent.SetupComponent(edtProduct, '{"BackgroundColor":"#080d14", "TextColor":"#e2eaf5", "RoundHeight":8, "RoundWidth":8, "BorderColor":"#1e3552", "BorderWidth":1}');

  edtLot = MyForm.AddNewProEdit(formPanel, 'edtLot', 'Numéro de Lot (ex: LOT-2026-A)...');
  edtLot.Align = alTop; edtLot.Height = 40;
  edtLot.Margins.Left = 14; edtLot.Margins.Right = 14; edtLot.Margins.Top = 8;
  clComponent.SetupComponent(edtLot, '{"BackgroundColor":"#080d14", "TextColor":"#e2eaf5", "RoundHeight":8, "RoundWidth":8, "BorderColor":"#1e3552", "BorderWidth":1}');

  edtBloc = MyForm.AddNewProEdit(formPanel, 'edtBloc', 'Département / Bloc (ex: Bloc A)...');
  edtBloc.Align = alTop; edtBloc.Height = 40;
  edtBloc.Margins.Left = 14; edtBloc.Margins.Right = 14; edtBloc.Margins.Top = 8;
  clComponent.SetupComponent(edtBloc, '{"BackgroundColor":"#080d14", "TextColor":"#e2eaf5", "RoundHeight":8, "RoundWidth":8, "BorderColor":"#1e3552", "BorderWidth":1}');

  rowQtyLayout = MyForm.AddNewLayout(formPanel, 'rowQtyLayout');
  rowQtyLayout.Align = alTop; rowQtyLayout.Height = 40;
  rowQtyLayout.Margins.Left = 14; rowQtyLayout.Margins.Right = 14; rowQtyLayout.Margins.Top = 8;

  edtQty = MyForm.AddNewProEdit(rowQtyLayout, 'edtQty', 'Quantité (ex: 50)');
  edtQty.Align = alLeft; edtQty.Width = 160;
  clComponent.SetupComponent(edtQty, '{"BackgroundColor":"#080d14", "TextColor":"#e2eaf5", "RoundHeight":8, "RoundWidth":8, "BorderColor":"#1e3552", "BorderWidth":1}');

  edtUnit = MyForm.AddNewProEdit(rowQtyLayout, 'edtUnit', 'Unité (kg, pcs, L)');
  edtUnit.Align = alRight; edtUnit.Width = 140;
  clComponent.SetupComponent(edtUnit, '{"BackgroundColor":"#080d14", "TextColor":"#e2eaf5", "RoundHeight":8, "RoundWidth":8, "BorderColor":"#1e3552", "BorderWidth":1}');

  btnSubmitMvt = MyForm.AddNewProButton(formPanel, 'btnSubmitMvt', 'Valider l''Entrée (+)');
  btnSubmitMvt.Align = alTop; btnSubmitMvt.Height = 44;
  btnSubmitMvt.Margins.Left = 14; btnSubmitMvt.Margins.Right = 14; btnSubmitMvt.Margins.Top = 14;
  clComponent.SetupComponent(btnSubmitMvt, '{"BackgroundColor":"#22c55e20", "TextColor":"#4ade80", "RoundHeight":12, "RoundWidth":12, "BorderColor":"#22c55e50", "BorderWidth":1}');
  MyForm.AddNewEvent(btnSubmitMvt, tbeOnClick, 'SubmitMovement');

  // ============================================================
  // JOURNAL DES MOUVEMENTS RÉCENTS (DYNAMIQUE)
  // ============================================================
  historyPanel = MyForm.AddNewProPanel(scrollBody, 'historyPanel');
  historyPanel.Align = alTop;
  historyPanel.Height = 290;
  historyPanel.Margins.Bottom = 16;
  clComponent.SetupComponent(historyPanel, '{"BackgroundColor":"#0d1520", "RoundHeight":16, "RoundWidth":16, "BorderColor":"#1a2d42", "BorderWidth":1}');

  lblHistoryTitle = MyForm.AddNewProLabel(historyPanel, 'lblHistoryTitle', '📋 Mouvements récents de votre département');
  lblHistoryTitle.Align = alTop;
  lblHistoryTitle.Height = 34;
  lblHistoryTitle.Margins.Left = 14; 
  lblHistoryTitle.Margins.Top = 8;
  lblHistoryTitle.clProSettings.FontSize = 12;
  lblHistoryTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#e2eaf5');
  lblHistoryTitle.clProSettings.TextSettings.Font.Style = [fsBold];
  lblHistoryTitle.SetclProSettings(lblHistoryTitle.clProSettings);

  // Bouton "Voir plus" en bas du panneau
  btnSeeMore = MyForm.AddNewProButton(historyPanel, 'btnSeeMore', 'Voir plus (Aujourd''hui) ▼');
  btnSeeMore.Align = alBottom;
  btnSeeMore.Height = 32;
  btnSeeMore.Margins.Left = 12; 
  btnSeeMore.Margins.Right = 12; 
  btnSeeMore.Margins.Bottom = 8;
  clComponent.SetupComponent(btnSeeMore, '{"BackgroundColor":"#080d14", "TextColor":"#00d4ff", "RoundHeight":8, "RoundWidth":8, "BorderColor":"#1a2d42", "BorderWidth":1}');
  MyForm.AddNewEvent(btnSeeMore, tbeOnClick, 'ToggleSeeMore');

  // Sous-conteneur défilant pour la liste dynamique des cartes
  historyScrollBox = MyForm.AddNewVertScrollBox(historyPanel, 'historyScrollBox');
  historyScrollBox.Align = alClient;
  historyScrollBox.Margins.Left = 8;
  historyScrollBox.Margins.Right = 8;
  // Premier chargement au démarrage (Mode réduit : 3 éléments)
  isExpandedList = False;
  RefreshMovementsHistory;






































  // ============================================================
  // TAB BAR INFÉRIEURE
  // ============================================================
  tabBarPanel = MyForm.AddNewProPanel(MyForm, 'tabBarPanel');
  tabBarPanel.Align = alBottom;
  tabBarPanel.Height = 58;
  clComponent.SetupComponent(tabBarPanel, '{"BackgroundColor":"#07101c", "BorderColor":"#1a2d42", "BorderWidth":1}');

  btnTabStock = MyForm.AddNewProButton(tabBarPanel, 'btnTabStock', 'Saisie Stock');
  btnTabStock.Align = alLeft; btnTabStock.Width = 115;
  clComponent.SetupComponent(btnTabStock, '{"BackgroundColor":"#07101c", "TextColor":"#00d4ff", "RoundHeight":0, "RoundWidth":0}');
  MyForm.AddNewEvent(btnTabStock, tbeOnClick, 'TabClick');

  btnTabScan = MyForm.AddNewProButton(tabBarPanel, 'btnTabScan', 'Scanner QR');
  btnTabScan.Align = alLeft; btnTabScan.Width = 115;
  clComponent.SetupComponent(btnTabScan, '{"BackgroundColor":"#07101c", "TextColor":"#4a6580", "RoundHeight":0, "RoundWidth":0}');
  MyForm.AddNewEvent(btnTabScan, tbeOnClick, 'TabClick');

  btnTabSettings = MyForm.AddNewProButton(tabBarPanel, 'btnTabSettings', 'Profil');
  btnTabSettings.Align = alClient;
  clComponent.SetupComponent(btnTabSettings, '{"BackgroundColor":"#07101c", "TextColor":"#4a6580", "RoundHeight":0, "RoundWidth":0}');
  MyForm.AddNewEvent(btnTabSettings, tbeOnClick, 'TabClick');

  MyForm.Run;
}
https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" 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">
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: 989
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ı: 4 Saat 14 Dakika Önce Saat 15:27
Merhaba Barthez 

RefreshMovementsHistory prosedürün de 
193. satır da bir tane kapanış parantezin eksik
Eklediğin de hata çözülecek https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" 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">
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.