![]() |
| 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
|
| Yazar | |
M-Guney
Kıdemli Üye
Kayıt Tarihi: 16 Eylül 2025 Konum: Konya, Meram, K Durum: Aktif Değil Puanlar: 119 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Konu: Kontrol yapısında hataGönderim Zamanı: 19 Saat 22 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. |
|
![]() |
|
M-Guney
Kıdemli Üye
Kayıt Tarihi: 16 Eylül 2025 Konum: Konya, Meram, K Durum: Aktif Değil Puanlar: 119 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 18 Saat 5 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"}] |
|
![]() |
|
M-Guney
Kıdemli Üye
Kayıt Tarihi: 16 Eylül 2025 Konum: Konya, Meram, K Durum: Aktif Değil Puanlar: 119 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 18 Saat 3 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"> |
|
![]() |
|
Emr.Erkmn
Moderatör
Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Puanlar: 431 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 33 Dakika Önce Saat 09:23 |
|
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" 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">
|
|
![]() |
|
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 |