Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - Kontrol yapısında hata
  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.

Kontrol yapısında hata

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
M-Guney Açılır Kutu İzle
Kıdemli Üye
Kıdemli Üye


Kayıt Tarihi: 16 Eylül 2025
Konum: Konya, Meram, K
Durum: Aktif Değil
Puanlar: 119
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı M-Guney Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Kontrol yapısında hata
    Gönderim Zamanı: 11 Saat 8 Dakika Önce Saat 14:34

function IsArrayContain(FArr: TCLJSONArray; FJson: String; FArrayItem: String; FLookingStr: String): Boolean
var
  I: Integer;
  currentValue: String;
{
  Result = False;
  
  Try
    if (FArr == nil)
    {
      ShowMessage('Array is nil return back.');
      Result = False;
      Exit;
    }
    
    if (FJson == '')
    {
      ShowMessage('Array is empty return back.');
      Result = False;
      Exit;
    }
    for (I = 0 to (FArr.Count - 1))
    {
      Try
        currentValue = Clomosy.CLParseJSON(FJson, IntToStr(I) + '.' + FArrayItem);
        
        if (currentValue == FLookingStr)
        {
          ShowMessage('Find Item in Array: ' + FLookingStr);
          Result = True;
          //Exit;
        }
        //ShowMessage('Not Equal: ' + currentValue + 'LookingStr: '+ FLookingStr);
      except
      }
    }
  except
    Result = False;
  }
}

bunu kullanmak istiyorum fakat bulsa bile Result = True; döndürmüyor.

https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" 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
M-Guney Açılır Kutu İzle
Kıdemli Üye
Kıdemli Üye


Kayıt Tarihi: 16 Eylül 2025
Konum: Konya, Meram, K
Durum: Aktif Değil
Puanlar: 119
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı M-Guney Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 9 Saat 51 Dakika Önce Saat 15:51
Return tipini boolean dan stringe çevirince return işlemini gerçekleştridi fakat yine de kontrol edip ona göre işlem yapamıyorum.https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" 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">


void GetUserPrivilegesCompletedV(Sender)
var
  TempTableLbl : TclProLabel;
  jsonResponse: String;
  Arr : TCLJSONArray;
  I: Integer;
  hasViewOrders, hasTakePayment: Boolean;
{
  hasTakePayment = False;
  hasViewOrders = False;
  jsonResponse = TCLRest(Sender).Response;
  //ShowMessage('DB Connected: '+ jsonResponse);
  Arr = TCLJSONArray.Create;
Arr = TCLJSONArray.CreateFromJSON(jsonResponse);
  if(jsonResponse == ''){
    ShowMessage('Yetkiler listesi boş herhangi bir yetki yok.');
  }else{
      /*
      if(Main.IsArrayContain(Arr, jsonResponse, 'privilege_name', 'VIEW_ORDERS')){
        Clomosy.RunUnit('uWaiterAndChefDetails');
        uWaiterAndChefDetails.SetOrderIDV(OrderID);
        TempTableLbl = MainForm.clFindComponent(TableName) as TclProLabel;
        uWaiterAndChefDetails.SetTitleV(TempTableLbl.Text);
        TCLRest(Sender).Free;
      }else {
        ShowMessage('yetkin yok');
      }*/
      //ShowMessage('Privileges output: '+ jsonResponse);
      //ShowMessage( Main.IsArrayContain(Arr, jsonResponse, 'privilege_name', 'VIEW_ORDERS'));
      hasViewOrders = Main.IsArrayContain(Arr, jsonResponse, 'privilege_name', 'VIEW_ORDERS');
      ShowMessage('hasViewOrders: '+ hasViewOrders);
      hasTakePayment = Main.IsArrayContain(Arr, jsonResponse, 'privilege_name', 'TAKE_PAYMENT');
      ShowMessage('hasTakePayment: '+ hasTakePayment);
      //ShowMessage('Table Tag: ' + TClProButton(MainForm.Clsender).clTagInt); // clTagStr
      ShowMessage(hasViewOrders.type);
      if (hasViewOrders)
      {
        Clomosy.RunUnit('uWaiterAndChefDetails');
      ShowMessage('hasViewOrders: '+ hasViewOrders);
        
      }
      
      if (hasViewOrders && hasTakePayment)
      {
        Clomosy.RunUnit('SelectRoleV');
      }
      else if (hasViewOrders)
      {
        Clomosy.RunUnit('uWaiterAndChefDetails');
      }
      else if (hasTakePayment)
      {
        Clomosy.RunUnit('uCashierDetails');
      }
      else
      {
        ShowMessage('Uyarı: Gereken yetki bulunamadı!');
      }
      
      uWaiterAndChefDetails.SetOrderIDV(OrderID);
      TempTableLbl = MainForm.clFindComponent(TableName) as TclProLabel;
      uWaiterAndChefDetails.SetTitleV(TempTableLbl.Text);
      TCLRest(Sender).Free;
  }
  
}

örnek yetkilerim 

[{"privilege_name":"ADD_ORDER"},{"privilege_name":"DELETE_ORDER"},{"privilege_name":"VIEW_ORDERS"},{"privilege_name":"User"},{"privilege_name":"EDIT_ORDER"}]


Yukarı Dön
M-Guney Açılır Kutu İzle
Kıdemli Üye
Kıdemli Üye


Kayıt Tarihi: 16 Eylül 2025
Konum: Konya, Meram, K
Durum: Aktif Değil
Puanlar: 119
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı M-Guney Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 9 Saat 49 Dakika Önce Saat 15:53

Fakat yine aldığım veriye göre işlem yapamıyorum
void GetUserPrivilegesCompletedV(Sender)
var
  TempTableLbl : TclProLabel;
  jsonResponse: String;
  Arr : TCLJSONArray;
  I: Integer;
  hasViewOrders, hasTakePayment: Boolean;
{
  hasTakePayment = False;
  hasViewOrders = False;
  jsonResponse = TCLRest(Sender).Response;
  //ShowMessage('DB Connected: '+ jsonResponse);
  Arr = TCLJSONArray.Create;
Arr = TCLJSONArray.CreateFromJSON(jsonResponse);
  if(jsonResponse == ''){
    ShowMessage('Yetkiler listesi boş herhangi bir yetki yok.');
  }else{
      /*
      if(Main.IsArrayContain(Arr, jsonResponse, 'privilege_name', 'VIEW_ORDERS')){
        Clomosy.RunUnit('uWaiterAndChefDetails');
        uWaiterAndChefDetails.SetOrderIDV(OrderID);
        TempTableLbl = MainForm.clFindComponent(TableName) as TclProLabel;
        uWaiterAndChefDetails.SetTitleV(TempTableLbl.Text);
        TCLRest(Sender).Free;
      }else {
        ShowMessage('yetkin yok');
      }*/
      //ShowMessage('Privileges output: '+ jsonResponse);
      //ShowMessage( Main.IsArrayContain(Arr, jsonResponse, 'privilege_name', 'VIEW_ORDERS'));
      hasViewOrders = Main.IsArrayContain(Arr, jsonResponse, 'privilege_name', 'VIEW_ORDERS');
      ShowMessage('hasViewOrders: '+ hasViewOrders);
      hasTakePayment = Main.IsArrayContain(Arr, jsonResponse, 'privilege_name', 'TAKE_PAYMENT');
      ShowMessage('hasTakePayment: '+ hasTakePayment);
      //ShowMessage('Table Tag: ' + TClProButton(MainForm.Clsender).clTagInt); // clTagStr
      ShowMessage(hasViewOrders.type);
      if (hasViewOrders)
      {
        Clomosy.RunUnit('uWaiterAndChefDetails');
      ShowMessage('hasViewOrders: '+ hasViewOrders);
        
      }
      
      if (hasViewOrders && hasTakePayment)
      {
        Clomosy.RunUnit('SelectRoleV');
      }
      else if (hasViewOrders)
      {
        Clomosy.RunUnit('uWaiterAndChefDetails');
      }
      else if (hasTakePayment)
      {
        Clomosy.RunUnit('uCashierDetails');
      }
      else
      {
        ShowMessage('Uyarı: Gereken yetki bulunamadı!');
      }
      
      uWaiterAndChefDetails.SetOrderIDV(OrderID);
      TempTableLbl = MainForm.clFindComponent(TableName) as TclProLabel;
      uWaiterAndChefDetails.SetTitleV(TempTableLbl.Text);
      TCLRest(Sender).Free;
  }
  
}

[{"privilege_name":"ADD_ORDER"},{"privilege_name":"DELETE_ORDER"},{"privilege_name":"VIEW_ORDERS"},{"privilege_name":"User"},{"privilege_name":"EDIT_ORDER"}]https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" 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,016 Saniyede Yüklendi.