arkadaşlar merhaba,
sizin için basit ama benim için zor bir sorum var :) üzerinde çalıştığım bir stok programı var. 200 den fazla hammadde çeşidi ve bu hammaddelerin farklı bileşimlerinden 600 den fazla cihaz modeli ortaya çıkıyor. kısa yoldan ürün reçetesi gibi bir şey yapmayı amaçlıyorum. tabi becerebilirsek.
örneğin deneme.txt dosyası içinde
audi 2013
bmw 2012
opel 2010
diye 3 araç model ve yıl bilgisi var. ben bu bilgiyi 6 adet textbox oluşturup nasıl içerisine yazabilirim. yazdırdıktan sonra farklı matematiksel işlemlerle stok bilgisinin tutulduğu database tablosunda stok adetlerini güncellemeyi hedefliyorum.
textbox1(audi) textbox2(2013)
textbox3(bmw) textbox4(2012)
textbox5(opel) textbox6(2010)
metin dosyasından veri çekebiliyorum ama metin dosyasından satır olarak geliyor veri. ben audi ve 2013 metinlerinin ayrı textboxlara yazılmasını istiyorum. tıpkı yukarida göstermeye çalıştığım gibi
ya da ürün reçeteleri nasıl yapılır konusunda farklı bir önerisi olan varsa memnuniyetle cevabını okumak isterim.
umarım sorum anlaşılmıştır. teşekkürler şimdiden.
Verdiğiniz Bilgiler cevap vermemiz için yeterli değil.
Okuyacağınız Text dosyanın formatı nedir ? (tab, virgül ile ayrılmış vb gibi)
verdiğin örnekteki gibi boşluk karakteri varsa ve bu karakteri satırda başka bir yerde kullanmıyorsan, bu karaktere göre verilerini ayrıştırabilirsin. Bu yöntem iki kelimeden oluşan isimler için sorun olabilir...
arkadaşlar,
metinler arasında boşluk var. tab veya virgül veya _ alt çizgi yok.
yanlış bir kullanımsa , nasıl kullanmam gerekiyor?
ben örnek olsun diye araba ismi ve model yılı yazdım. mesela yapacağım örnekte
audi a8 arka süspansiyon takımı 2013 yazmam gerekecek.
sadece tarih bölümünü alacaksan ve tarih yeri (sonda) ve miktarı sabitse (hep 4 hane yazılmışsa)
tarih=mid$(yazı, len(yazı)-4,4)
metin=mid$(yazı, 0, len(yazı)-4)
aşağı yukarı olabilir...
ek:vb6'dan kalma alışkanlık $ işareti olmayabilir.
.net için substring'de kullanılabilir...
Alıntı yapılan: ambar7 - 20 Mayıs 2013, 14:55:19
sadece tarih bölümünü alacaksan ve tarih yeri (sonda) ve miktarı sabitse (hep 4 hane yazılmışsa)
tarih=mid$(yazı, len(yazı)-4,4)
metin=mid$(yazı, 0, len(yazı)-4)
aşağı yukarı olabilir...
ek:vb6'dan kalma alışkanlık $ işareti olmayabilir.
.net için substring'de kullanılabilir...
kullandığım kod aşağıda ki gibi. neresine yazmam gerekiyor senin önerini?
Private Sub ReadFromFile()
Dim objReader As New System.IO.StreamReader(FILE_NAME)
Dim boxes As TextBox() = {TextBox1, TextBox2, TextBox3, TextBox4, TextBox5, TextBox6, TextBox7}
Try
Dim position As Int32 = 0
Do While objReader.Peek <> -1
boxes(position).Text = objReader.ReadLine
position += 1
Loop
'MessageBox.Show("The file has successfully been read.")
Catch ex As Exception
MessageBox.Show("The file could not be read. " & ex.Message)
Finally
objReader.Close()
End Try
End Sub
End Class
Do While objReader.Peek <> -1
yazi= objReader.ReadLine
tarih=mid$(yazı, len(yazı)-4,4)
metin=mid$(yazı, 0, len(yazı)-4) 'veya tersi!
boxes(position).Text = tarih
boxes(position+1).Text = metin
position += 2
değişkenlere atamayı unutma!
Alıntı yapılan: ambar7 - 20 Mayıs 2013, 15:35:22
Do While objReader.Peek <> -1
yazi= objReader.ReadLine
tarih=mid$(yazı, len(yazı)-4,4)
metin=mid$(yazı, 0, len(yazı)-4) 'veya tersi!
boxes(position).Text = tarih
boxes(position+1).Text = metin
position += 2
değişkenlere atamayı unutma!
hocam kodu yazdım. değişkenleri string olarak tanımladım. çalıştırınca ekrana hiçbir şey getirmedi. hata kontrolü yapınca da Start değeri sıfır olamaz diye bir hata verdi.
metin=mid$(yazı, 1, len(yazı)-4) 'şeklinde olabilir
Alıntı yapılan: ambar7 - 20 Mayıs 2013, 16:01:50
metin=mid$(yazı, 1, len(yazı)-4) 'şeklinde olabilir
ambar7 tavsiyelerin çok başarılı oldu. teşekkürler. merak ettiğim son birşey var. örneğin;
audi a8 amartisör yayı,5
audi a8 amartisör yayı,50
audi a8 amartisör yayı,500
audi a8 amartisör yayı,5000
diye tanımlarsam virgülden öncesi ve sonrası diye ayırabilir miyim? virgülden sonrasında 1,2,3 ve hata 4 basamaklı bir sayı olabilir.
yazi= objReader.ReadLine
For i = 1 To Len(yazi)
If Mid$(yazi, i, 1) = "," Then virgül_hane = i
Next i
rakam = Mid$(yazi, virgül_hane + 1, Len(yazi) - virgül_hane + 1)
metin = Mid$(yazi, 1, virgül_hane - 1)
sanırım bu işe görmesi gerek...
Alıntı yapılan: ambar7 - 20 Mayıs 2013, 17:51:38
yazi= objReader.ReadLine
For i = 1 To Len(yazi)
If Mid$(yazi, i, 1) = "," Then virgül_hane = i
Next i
rakam = Mid$(yazi, virgül_hane + 1, Len(yazi) - virgül_hane + 1)
metin = Mid$(yazi, 1, virgül_hane - 1)
sanırım bu işe görmesi gerek...
ambar7 hocam ilaç oldun. teşekkürler. her türlü hallettim yapmak istediğimi.
bu arada bir konu hakkında bilgin var mı diye sormak istiyorum.
üretim ya da ürün reçetelerinin yapılma mantığı hakkında bir bilgin var mı? profesyonel programlarda bu işlem nasıl yapılıyor? örnek verebilirsen sevinirim?
Bu konuda fazla bilgim yok. Bu program yaptığım işlemci projelerime destek olması için öğrenmiştim. (hyper terminal gibi programlarla uğraşmamak için)
Alıntı yapılan: ambar7 - 21 Mayıs 2013, 10:11:06
Bu konuda fazla bilgim yok. Bu program yaptığım işlemci projelerime destek olması için öğrenmiştim. (hyper terminal gibi programlarla uğraşmamak için)
eyvallah bu kadarı da kafi.
sorum çözüme ulaştı.
herkese teşekkürler.