Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Android kod akışı farklı mı anlamadığım bir şey mi var ?
#1
İyi akşamlar
Öncelikle yaptığım tüm kodları Delphican sayfasından aradım buldum ve yapmaya çalıştım
Emeği olan tüm arkadaşlara teşekkür ederim.

Android için yazmaya çalıştığım uygulamada  aşağıdaki kod ile barkod okutarak StringGrid e ekliyorum.
if (barcod_varmi(ReadResult.Text)) then
 
komutu ile daha önce eklenmiş mi kontrol ediyorum,  önce  ekliyor sonra kontrol ediyor.
neyi yanlış yapıyorum yardımcı olabilir misiniz;
sorunu resim olarak ekledim.
 

procedure TFrm_okuma.Barcod_coz;
var
 scanBitmap: TBitmap;
 ReadResult: TReadResult;
 gram,kilo,net:string;
 net_rakam:real;
begin
 try
 gram:='';kilo:='';net:='';net_rakam:=0;
 FScanManager := TScanManager.Create(TBarcodeFormat.Auto, nil);
 scanBitmap := TBitmap.Create();
 scanBitmap.Assign(resim.Bitmap);
 ReadResult := nil;
 ReadResult := FScanManager.Scan(scanBitmap);

           if (ReadResult <> nil) then
           begin
           // barkod daha önce kayıtlımı kontrol et
           if (barcod_varmi(ReadResult.Text)) then
           begin
            // barcod_varmi dan true geldi.  İşlem iptal edilsin
            ReadResult.Free;
            scanBitmap.Free;
            exit;
           end;  // kontrol true gelirse atla false gelirse devam et

           Grd_liste.Cells[0,grid_satir] := floattostr(grid_satir+1);
           Grd_liste.Cells[1,grid_satir] := ReadResult.Text;
            


Kontrol fonksiyonu aşağıda 

function TFrm_okuma.barcod_varmi(okunan:string):boolean;
var i:word;
sonuc:boolean;
begin
   // aynı barcod var mı kontrol et
   for i := 0 to Grd_liste.RowCount do
   begin
         if (trim(Grd_liste.Cells[1,i]) = trim(okunan)) then
         begin
                TDialogService.PreferredMode:=TDialogService.TPreferredMode.Platform;
                TDialogService.MessageDialog('Barkod kayıtlı, Tekrar Eklensin mi?', TMsgDlgType.mtConfirmation,
                FMX.Dialogs.mbYesNo, TMsgDlgBtn.mbNo, 0,
                 procedure(const AResult: TModalResult) begin
                   case AResult of
                     mrYes: sonuc:=False; // False giderse aynı kayıt tan ekleyecek
                     mrNo:  sonuc:=True; // true giderse kaıyt eklemeyecek
                   end;
                 end )

         end;  // grid içeriğini test eden if sonu
   end; // for döngü sonu
Result:=sonuc;
end;


Ek Dosyalar Resimler
   
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#2
Mobil tarafta dialog pencereleri non blocking modda çalışır yani bir confirmation dialog'a siz cevap vermeseniz de peşinden gelen kod çalışmaya devam eder.

Sizin içeriye true ya da false durumlarında çalışacak kodu göndermeniz gerekir anonim metod olarak.
Cevapla
#3
(08-02-2019, Saat: 17:49)edo Adlı Kullanıcıdan Alıntı: Mobil tarafta dialog pencereleri non blocking modda çalışır yani bir confirmation dialog'a siz cevap vermeseniz de peşinden gelen kod çalışmaya devam eder.

Sizin içeriye true ya da false durumlarında çalışacak kodu göndermeniz gerekir anonim metod olarak.

Bilgilendirme için teşekkür ederim 
"Sizin içeriye true ya da false durumlarında çalışacak kodu göndermeniz" bu konuda araştırman gereken komut veya metod adı nedir ?
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#4
Barkod var mı sorgusundan sonra gride ekleme kısmını else begin end içerisine yapmayı denediniz mi?
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla
#5
Merhaba,

Yanlış anlaşılma olmasın lütfen. Güzel bir uygulama yazmışsınız.
Sadece bilgi olması açasından.

Kğ. yazısını Kg. olarak düzeltirseniz daha iyi olacaktır.

Kolay gelsin.

y6GmNj.png
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#6
Mobil tarafta confirm mesajlarını masaüstü uygulamalar gibi mesajın dönüşüne bakarak devam etmek lazım, soru ekrana çıkar ancak kod akar alttaki kodlar yürütülür, bunun yerine ekleme kodunu yes no butonlarının onclick eventlerine bağlamak lazım.
WWW
Cevapla
#7
(08-02-2019, Saat: 18:00)hi_selamlar Adlı Kullanıcıdan Alıntı: Merhaba,

Yanlış anlaşılma olmasın lütfen. Güzel bir uygulama yazmışsınız.
Sadece bilgi olması açasından.

Kğ. yazısını Kg. olarak düzeltirseniz daha iyi olacaktır.

Kolay gelsin.

Merhaba aksine memnun oldum ve düzelttim teşekkür ederim Smile
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#8
(08-02-2019, Saat: 17:57)cinarbil Adlı Kullanıcıdan Alıntı:
(08-02-2019, Saat: 17:49)edo Adlı Kullanıcıdan Alıntı: Mobil tarafta dialog pencereleri non blocking modda çalışır yani bir confirmation dialog'a siz cevap vermeseniz de peşinden gelen kod çalışmaya devam eder.

Sizin içeriye true ya da false durumlarında çalışacak kodu göndermeniz gerekir anonim metod olarak.

Bilgilendirme için teşekkür ederim 
"Sizin içeriye true ya da false durumlarında çalışacak kodu göndermeniz" bu konuda araştırman gereken komut veya metod adı nedir ?

Seçili kısımdaki gibi yapacağınız işlemi anonim metod olarak içeri, geçmelisiniz:

   
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Android 9 - Network Bağlantı Uyarısı (ClearText) Fesih ARSLAN 7 1.663 9 saat önce
Son Yorum: pro_imaj
  android uygulamasında print alma uersoy 6 390 11 saat önce
Son Yorum: DelphiCan
  android sdk sorunu uersoy 5 562 27-07-2020, Saat: 09:05
Son Yorum: Fesih ARSLAN
  [ÇÖZÜLDÜ]Android derleme hatası[ÇÖZÜLDÜ] arsl01 3 395 15-07-2020, Saat: 22:18
Son Yorum: arsl01
  FMX Android FormX.DisposeOf Exception hayalyilmaz43 10 831 10-07-2020, Saat: 17:57
Son Yorum: hayalyilmaz43



Konuyu Okuyanlar: 1 Ziyaretçi