Merhaba Güney,
function IsArrayContain(FArr: TCLJSONArray; FJson: String; FArrayItem: String; FLookingStr: String): Boolean var I: Integer; currentValue: String; { // ÖNEMLİ: Result'ı başlangıçta False yap Result = False; Try if (FArr == nil) { Result = False; Exit; } if (FJson == '') { Result = False; Exit; } for (I = 0 to (FArr.Count - 1)) { Try currentValue = Clomosy.CLParseJSON(FJson, IntToStr(I) + '.' + FArrayItem); currentValue = Trim(currentValue); if (currentValue == FLookingStr) { Result = True; Exit; } except } } except Result = False; } }
void GetUserPrivilegesCompletedV(Sender) var TempTableLbl: TclProLabel; jsonResponse: String; Arr: TCLJSONArray; I: Integer; hasViewOrders: Boolean; hasTakePayment: Boolean; restObj: TCLRest; { Try restObj = TCLRest(Sender); if (restObj == nil) { ShowMessage(' HATA: Sender nil!'); Exit; } jsonResponse = restObj.Response; hasTakePayment = False; hasViewOrders = False; Arr = TCLJSONArray.Create; Arr = TCLJSONArray.CreateFromJSON(jsonResponse); if (jsonResponse == '') { ShowMessage('Yetkiler listesi boş herhangi bir yetki yok.'); } else { hasViewOrders = Main.IsArrayContain(Arr, jsonResponse, 'privilege_name', 'VIEW_ORDERS'); hasTakePayment = Main.IsArrayContain(Arr, jsonResponse, 'privilege_name', 'TAKE_PAYMENT'); if (hasViewOrders && hasTakePayment) { ShowMessage(' İki yetki de var → SelectRoleV'); Clomosy.RunUnit('SelectRoleV'); } else if (hasViewOrders) { ShowMessage(' VIEW_ORDERS var → uWaiterAndChefDetails'); Clomosy.RunUnit('uWaiterAndChefDetails'); } else if (hasTakePayment) { ShowMessage(' TAKE_PAYMENT var → uCashierDetails'); Clomosy.RunUnit('uCashierDetails'); } else { ShowMessage('️ Uyarı: Gereken yetki bulunamadı!'); ShowMessage('Mevcut yetkiler: ' + jsonResponse); } if (hasViewOrders) { Try uWaiterAndChefDetails.SetOrderIDV(OrderID); TempTableLbl = MainForm.clFindComponent(TableName) as TclProLabel; if (TempTableLbl <> nil) { uWaiterAndChefDetails.SetTitleV(TempTableLbl.Text); } except ShowMessage('️ Sayfa parametreleri ayarlanırken hata: ' + LastExceptionMessage); } } } if (Arr <> nil) { Try Arr.Free; Arr = nil; except } } if (restObj <> nil) { Try restObj = nil; except } } except ShowMessage(' GetUserPrivilegesCompletedV hatası: ' + LastExceptionMessage); } }
void GetUserPrivilegesCompletedV_Debug(Sender) var TempTableLbl: TclProLabel; jsonResponse: String; Arr: TCLJSONArray; I: Integer; hasViewOrders: Boolean; hasTakePayment: Boolean; restObj: TCLRest; debugInfo: String; currentPrivilege: String; { Try restObj = TCLRest(Sender); if (restObj == nil) { ShowMessage(' HATA: Sender nil!'); Exit; } jsonResponse = restObj.Response; debugInfo = ' DEBUG BAŞLADI' + #13#10; debugInfo = debugInfo + ' Response uzunluğu: ' + IntToStr(Length(jsonResponse)) + #13#10; debugInfo = debugInfo + ' Response: ' + Copy(jsonResponse, 1, 200) + #13#10; hasTakePayment = False; hasViewOrders = False; Arr = TCLJSONArray.Create; Arr = TCLJSONArray.CreateFromJSON(jsonResponse); if (jsonResponse == '') { ShowMessage(debugInfo + '️ Response boş!'); Exit; } debugInfo = debugInfo + ' Yetkiler (' + IntToStr(Arr.Count) + ' adet):' + #13#10; for (I = 0 to Arr.Count - 1) { Try currentPrivilege = Clomosy.CLParseJSON(jsonResponse, IntToStr(I) + '.privilege_name'); debugInfo = debugInfo + ' - ' + IntToStr(I) + ': ' + currentPrivilege + #13#10; except debugInfo = debugInfo + ' - ' + IntToStr(I) + ': [HATA]' + #13#10; } } hasViewOrders = Main.IsArrayContain(Arr, jsonResponse, 'privilege_name', 'VIEW_ORDERS'); hasTakePayment = Main.IsArrayContain(Arr, jsonResponse, 'privilege_name', 'TAKE_PAYMENT'); if (hasViewOrders && hasTakePayment) { Clomosy.RunUnit('SelectRoleV'); } else if (hasViewOrders) { Clomosy.RunUnit('uWaiterAndChefDetails'); Try uWaiterAndChefDetails.SetOrderIDV(OrderID); TempTableLbl = MainForm.clFindComponent(TableName) as TclProLabel; if (TempTableLbl <> nil) { uWaiterAndChefDetails.SetTitleV(TempTableLbl.Text); } except } } else if (hasTakePayment) { Clomosy.RunUnit('uCashierDetails'); } else { ShowMessage('️ Uyarı: Gereken yetki bulunamadı!'); } if (Arr <> nil) { Try Arr.Free; Arr = nil; except } } if (restObj <> nil) { Try restObj.Free; restObj = nil; except } } except ShowMessage(' GetUserPrivilegesCompletedV_Debug hatası: ' + LastExceptionMessage); } }
inceleye bilir misin
https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" rel="nofollow - 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">
|