C# System.IO
-
selam müridler..
calıstıgım yazılım firmasında market gibi esnafların fatura kontrolunu yapıyoruz.kasadan aldıgımız verileri bir text dosyasına aktarıyoruz.ve bu text dosyası üzerinden bazı işlemler yapıyoruz.örneğin text dosyasında bulunan "sat" harfının bızım ıcın bir manası var ve bu veriye erişmemiz gerekiyor.1 marketin toplam kasa tutarı : 30 kasa diyelim.30 kasanın 1 aylık dökümanını aldıgımızda üzerinde işlemler yaparken uzun bir süre harcıyoruz.verıtabanı kullanma gibi bir şansımız yok cünkü orjinal verilerle çalışıyoruz.asıl soracağım soru şu . text dosyası üzerinde işlemler yaparken harcadığım süreyi kısaltmam gerekiyor.sizce bunu hangi yöntemle yapabilirim .
Edit:
dosya üzerinde işlem yaparken do-while-for-if yapılarını denedım ancak yeterli bir performans elde edemedim.
işlem örneği :
text dosyası içinden çekilen metinler arasında "sub", "top", gibi kelimeleri çekme ve bunlar uzerınde işlem yapma
-
text dosyasının tamamını bir nvarchar(max) değişkeninin içine al daha sonra regular expression bir desen belirleyrek sana lazım olan herşeyi çekebilirsin.
-
daha once regular expression kullanmadım daha detaylı anlatabilirmisin
-
regular expressionu bende detaylarıyla kullanmadım ama internette hazır desenler var. mesela elindeki bir metnin mail adresi olup olmadığını anlatan küçük desenler bulabilirsin.
birkaç güzel makale vereyim mesela
http://www.csharpnedir.com/articles/read/?id=129
http://www.saffetpamuk.com/post/Duzenli-Ifadeler-%28Regular-Expressions%29-csharp-da-kullanimi.aspx
http://www.yazilimogren.com/2009/04/c-duzenli-ifadelerregular-expressions-nedir/
-
hocam bahsettiğin sistemi hafif çözdüm.hakikaten cok güzel birşeye benziyo ancak Stringvalue değerine kendı bilgisayarımdan çektiğim bi text dosyasını nasıl aktarıcam onu bulamadım :)) path fılan vermeye ugrasıcam biraz.cok sagol yardımların için.
-
text dosyasının tamamını değişkene almanın çok fazla yöntemi var ben iki tanesini söyliyeyim.
şu anda kullandığın sistemde satır satır okurken bir stringe yığmalı toplama yapıp daha sonra onun üzerinde regex işlemi yapabilirin
foreach...
{
stringdegisken+=OkunanYeniSatir
}
yada
http://tr.wikibooks.org/wiki/C_Sharp_Programlama_Dili/Temel_I/O_i%C5%9Flemleri
buradaki streamreader başlığı altındaki ReadToEnd() parametresini inceleyebilirsin.
-
db neden kullanamıyorsun onu anlamadım..
-
verilerin db ye aktarılıp , geri çekilmesi vakit kaybından baska birşey değil(bnm işimde böyle ) :)
-
manglermanin dedigi gibi
değişkene al ve text işlemlerini regex le yap.
veritabanındanda daha performans alabilirsin.
ayrıca multi threading kullanabilirsin.
