
Barkod verisini tanıma ve işleme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Selamlar,
Her nekadar uygun olur bilmiyorum ama ReadLn yerine daha kolay bir yöntem olan StringList.LoadFromFile ile işini (Text Dosyadan Okuma) halledebilirsin. Daha sonra StringList'deki satırları Parse ederek ilgili değişkenlere atabilirsin.
Bir de birşey dikkatimi çekti. Bu okudukların Hareket kayıtları mı?
Kolay gelsin.
Her nekadar uygun olur bilmiyorum ama ReadLn yerine daha kolay bir yöntem olan StringList.LoadFromFile ile işini (Text Dosyadan Okuma) halledebilirsin. Daha sonra StringList'deki satırları Parse ederek ilgili değişkenlere atabilirsin.
Bir de birşey dikkatimi çekti. Bu okudukların Hareket kayıtları mı?
Kolay gelsin.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
S.A.
Öncelikle herkese çok teşekkür ederim. Sevgili gkimirti dediğiniz gibi ikinci barkod verisinde miktar bilgisi yok ben aslında text dosyanın yapısını burada anlatmadığım için hatalıyım. Dosyanın yapısını verince sanırım sorun da çözüm de biraz daha netleşecek şöyle ki:
dosya bu şekilde bu dosydan yukarıdaki kod yardımıyla sabit barkodlu olan ürünlerin miktar bilgisini okuyabilirken 28 ve 27 ile başlayan barkodların 8. karakterden başlayan ve 12.karakterde biten (Örneğin birinci satır için 10817) miktar bilgisini okuyamıyorum.
Ve sevgili Kuri_TLJ evet bu okunanlar hareket kaydı gibi. Yani el terminali ile okunan kayıtlar bir text dosyaya aktarılıyor. Ve ben o text dosyadan bu verileri alıp (ürün kodu ve miktarını) bilgisayardaki veri tabanı ile birebir eşleştirip hangi üründen ne kadar çıkış olmuş? onları yapacağım programla göstermek istiyorum. Ayrıca lütfen cahilliğimi bağışlayın
bahsettiğiniz "StringList.LoadFromFile" ve "Parse" komutlarıyla ilgili herahngi bir bilgim de yok
bu komutların kullanımı ile ilgili bir bilgi verebilir misiniz? Ya da ben help'e bakayım bu kadar hazırcı olmamalıyım
neyse ben biraz daha kazınayım da
ama herkese katkılarından dolayı ne kadar teşekkür etsem azdır. Özellikle de sevgili rsimsek abiye.
Öncelikle herkese çok teşekkür ederim. Sevgili gkimirti dediğiniz gibi ikinci barkod verisinde miktar bilgisi yok ben aslında text dosyanın yapısını burada anlatmadığım için hatalıyım. Dosyanın yapısını verince sanırım sorun da çözüm de biraz daha netleşecek şöyle ki:
Kod: Tümünü seç
2810001108170
2710002100250
2810003200283
8690504123456 20
8690504123457 30
Ve sevgili Kuri_TLJ evet bu okunanlar hareket kaydı gibi. Yani el terminali ile okunan kayıtlar bir text dosyaya aktarılıyor. Ve ben o text dosyadan bu verileri alıp (ürün kodu ve miktarını) bilgisayardaki veri tabanı ile birebir eşleştirip hangi üründen ne kadar çıkış olmuş? onları yapacağım programla göstermek istiyorum. Ayrıca lütfen cahilliğimi bağışlayın



neyse ben biraz daha kazınayım da

"İlmin anası sormaktır"
Selamlar fazla vaktim yok inşallah birazdan Antalya'dan yola İstanbul'a doğru geleceğiz 
Makinalar kapanmak üzere olduğu için TStringList'in Methodlarından biridir LoadFromFile. Aynı şekilde SaveToFile vardı galiba. İncelersen anlarsın.
Allaaaaah toplan komutu geldi kapatmak zorundayım byeee...
Kolay Gelsin

Makinalar kapanmak üzere olduğu için TStringList'in Methodlarından biridir LoadFromFile. Aynı şekilde SaveToFile vardı galiba. İncelersen anlarsın.
Allaaaaah toplan komutu geldi kapatmak zorundayım byeee...
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
S.A Arkadaşlar, sonunda çok şükür hallettim tam istediğime cevap veren kodu uzun denemeler ve uğraşlar sonucu buldum. Başka birine de lazım olabilir düşüncesiyle kodu yazıyorum.Ve bu süreçte bana yardım ve desteklerini esirgemeyen herkese tekrar çok teşekkür ediyorum.
Selamlar...
Selamlar...
Kod: Tümünü seç
procedure TfrmVeriAl.SpeedButton1Click(Sender: TObject);
var
Dosya:Textfile;
DosyaAdi,Satir:String;
miktar:integer;
begin
DosyaAdi:='c:\deneme.txt';
AssignFile(Dosya,DosyaAdi);
{$I-}
Reset(Dosya);
if IOResult=0 then
begin
while not EOF (Dosya) do
begin
ReadLn(Dosya,Satir);//bir satır oku
qryDeneme.First;
if (Copy(Satir,1,2)='28') then//başlangıç flaginin 28 olup olmadığı kontrol edilir
begin
if qryDeneme.Locate('BARKOD',Copy(Satir,3,5),[]) then
begin
qryDeneme.Edit;
miktar:=StrToInt(Copy(Satir,8,5));
qryDenemeMIKTARI.AsInteger:=miktar;
qryDeneme.Post;
end;
end;
if (Copy(Satir,1,2)='27') then//başlangıç flaginin 27 olup olmadığı kontrol edilir
begin
if qryDeneme.Locate('BARKOD',Copy(Satir,3,5),[]) then
begin
qryDeneme.Edit;
miktar:=StrToInt(Copy(Satir,8,5));
qryDenemeMIKTARI.AsInteger:=miktar;
qryDeneme.Post;
end;
end;
end;
begin
DosyaAdi:='c:\deneme.txt';
AssignFile(Dosya,DosyaAdi);
{$I-}
Reset(Dosya);
end;
if IOResult=0 then
begin
while not EOF (Dosya) do
begin
ReadLn(Dosya,Satir);//bir satır oku
qryDeneme.First;
if (Copy(Satir,1,3)='869') then //burada da başlangıç flaginin 869 olup olmadığı kontrol edilir.
begin
if qryDeneme.Locate('BARKOD',Copy(Satir,1,13),[]) then
begin
qryDeneme.Edit;
miktar:=StrToInt(Copy(Satir,14,20));
qryDenemeMIKTARI.AsInteger:=miktar;
qryDeneme.Post;
end;
end;
end;
end;
end;
end;
En son mpolat tarafından 16 Eki 2003 01:25 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
"İlmin anası sormaktır"
S.A. Abi cahilleğimi bağışlayın lütfen ne demek istediğinizi anlayamadım.
Bu borland kodlama standartlarından kastınız "var", "begin" gibi sözcüklerin koyu harflerle yazılması mı? Sorularımdan zaten sanırım Delphi seviyem anlaşılıyor olsa gerek daha detaylı bilgi verebilirseniz hemen düzelteyim 
Saygılarımla...
Pardon sitede konuyla ilgili bir makale varmış zaten hemen okuyayım


Saygılarımla...
Pardon sitede konuyla ilgili bir makale varmış zaten hemen okuyayım

"İlmin anası sormaktır"