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.
blog.yakupulutas.com
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
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
Question Android için AES şifreleme yardım ? Mr.Developer 14 571 Dün, Saat: 12:38
Son Yorum: Mr.Developer
  Android 9 hata (Detected Problems with API Compatibality) mcuyan 3 147 14-02-2019, Saat: 11:41
Son Yorum: Fesih ARSLAN
  Android System.Permissions hatası cinarbil 4 142 03-02-2019, Saat: 13:32
Son Yorum: cinarbil
  Android Tools Kurulumu Bay_Y 22 522 24-01-2019, Saat: 12:21
Son Yorum: Bay_Y
  Rio IOS 12 ve Android 9 desteği mcuyan 16 394 28-12-2018, Saat: 14:01
Son Yorum: nguzeller



Konuyu Okuyanlar: 1 Ziyaretçi