C# Dosyadan Çekilen Verilerde Replace Sorunu
-
Arkadaşlar tekrar merhaba, yine bir sorunla karşınızdayım.
Şimdi bir txt dosyasından şablon çekiyorum örnek aşağıda.
@CN1 @MH1 @KS1 @MR1 @MT1 @YF1 @NAZ @DA1 @TKG
@CN2 @KS2 @CM1
@CN3 @KS3 @XN6
@CN4 @KS4 @X11
@CN5 @KS5
@CN6
mesela "@ks2" yideğiştirice replace ile değiştiriyorum fakat bunun uzunluğu sabit olmadığı için "@cm1" i etkiliyor ben düzen bozulmadan nasıl bir değişiklik yaparım. Yani replace ile değiştikten sonra aynı satırdaki diğer değiştirilecek string ile arasındaki boşluğu nasıl ayarlarım.
Şimdiden teşekkürler.
-
hocam öncelikle her karakter aynı pixelde yer kaplamaz, bunun için font unu değiştirmen lazım. Ayrıca iki @ işareti arasındaki boşluk ve karakter sayılarını sabit tutarak ayarlayabilirsin. Örneğin 10 birimlik boşluk var ve sen 3 brimlik yazı yerleştireceksin o yüzden 7 birim boşluk eklemelisin.
edit: txt dosyasında fontlar eşit pixeldeymiş :F pardon
sLeymN tarafından 03/Oca/13 15:57 tarihinde düzenlenmiştir -
sLeymN bunu yazdı
hocam öncelikle her karakter aynı pixelde yer kaplamaz, bunun için font unu değiştirmen lazım. Ayrıca iki @ işareti arasındaki boşluk ve karakter sayılarını sabit tutarak ayarlayabilirsin. Örneğin 10 birimlik boşluk var ve sen 3 brimlik yazı yerleştireceksin o yüzden 7 birim boşluk eklemelisin.
edit: txt dosyasında fontlar eşit pixeldeymiş :F pardon
Hocam keşke dediğin gibi olsa ama işte birde şablonu kendim oluştursam sorun yok ama hazır aldığım için sorun oluyor.
-
unbalanced nerdesiiiiinnnnn :)
-
:) burdayım hocam..
tamamdır şu şekilde örnek yapabilirsin
[C#]
Console.WriteLine("-------------------------------"); Console.WriteLine("First Name | Last Name | Age"); Console.WriteLine("-------------------------------"); Console.WriteLine(String.Format("{0,-10} | {1,-10} | {2,5}", "Bill", "Gates", 51)); Console.WriteLine(String.Format("{0,-10} | {1,-10} | {2,5}", "Edna", "Parker", 114)); Console.WriteLine(String.Format("{0,-10} | {1,-10} | {2,5}", "Johnny", "Depp", 44)); Console.WriteLine("-------------------------------");
Output string:
------------------------------- First Name | Last Name | Age ------------------------------- Bill | Gates | 51 Edna | Parker | 114 Johnny | Depp | 44 -------------------------------
unbalanced tarafından 03/Oca/13 17:09 tarihinde düzenlenmiştir -
unbalanced bunu yazdı
:) burdayım hocam..
tamamdır şu şekilde örnek yapabilirsin
[C#]
Console.WriteLine("-------------------------------"); Console.WriteLine("First Name | Last Name | Age"); Console.WriteLine("-------------------------------"); Console.WriteLine(String.Format("{0,-10} | {1,-10} | {2,5}", "Bill", "Gates", 51)); Console.WriteLine(String.Format("{0,-10} | {1,-10} | {2,5}", "Edna", "Parker", 114)); Console.WriteLine(String.Format("{0,-10} | {1,-10} | {2,5}", "Johnny", "Depp", 44)); Console.WriteLine("-------------------------------");
Output string:
------------------------------- First Name | Last Name | Age ------------------------------- Bill | Gates | 51 Edna | Parker | 114 Johnny | Depp | 44 -------------------------------
Adamın magna tabakası yahu
-
Okuduğun dosyayı Notepad++ ile aç daha sonra View->Show Symbol-> Show All Characters seçeneğinin seç.
Şimdi dosyanın içindeki boşlukları görebiliyor olman lazım.
. (nokta) işareti Space i
->(ok) işareti tabı gösterir.
Stringler arasındaki yerleşimin bir patterni olup olmadığını burdan çıkarabilirsin ve tekrar oluştururken aynı patterni kendin eklersin.
Örneğin
kayıt1.->kayıt2.->
şeklindeyse sen de o formatta kendi stringini biçimlendirir öyle yazarsın
Diğer bir seçenek olarak dosyayı nasıl okuduğun önemli, okuma şekline göre nasıl yapacağınla ilgili fikir yürütebiliriz. Kod bloğu ve kaynak dosyayı paylaşırsan tabi
-
Sscheme bunu yazdı
Okuduğun dosyayı Notepad++ ile aç daha sonra View->Show Symbol-> Show All Characters seçeneğinin seç.
Şimdi dosyanın içindeki boşlukları görebiliyor olman lazım.
. (nokta) işareti Space i
->(ok) işareti tabı gösterir.
Stringler arasındaki yerleşimin bir patterni olup olmadığını burdan çıkarabilirsin ve tekrar oluştururken aynı patterni kendin eklersin.
Örneğin
kayıt1.->kayıt2.->
şeklindeyse sen de o formatta kendi stringini biçimlendirir öyle yazarsın
Diğer bir seçenek olarak dosyayı nasıl okuduğun önemli, okuma şekline göre nasıl yapacağınla ilgili fikir yürütebiliriz. Kod bloğu ve kaynak dosyayı paylaşırsan tabi
Edit
esinti tarafından 03/Oca/13 17:54 tarihinde düzenlenmiştir -
Şu an durum nedir peki?
Benim gösterdiğim methodla tespit edip unbalanced ın gösterdiği methodla yenisini oluşturacaksın.
Bu arada dosyayı paylaş derken upload etmeni kastetmiştim.
-
http://s2.dosya.tc/server24/S1aFrb/RichTextBox.rar.html
Bi bakarmısınız yanlışmı işledim.
visual studio 2012 ile çalışıyorum surun olmaz umarım.
esinti tarafından 03/Oca/13 17:55 tarihinde düzenlenmiştir -
unbalanced bunu yazdı
:) burdayım hocam..
tamamdır şu şekilde örnek yapabilirsin
[C#]
Console.WriteLine("-------------------------------"); Console.WriteLine("First Name | Last Name | Age"); Console.WriteLine("-------------------------------"); Console.WriteLine(String.Format("{0,-10} | {1,-10} | {2,5}", "Bill", "Gates", 51)); Console.WriteLine(String.Format("{0,-10} | {1,-10} | {2,5}", "Edna", "Parker", 114)); Console.WriteLine(String.Format("{0,-10} | {1,-10} | {2,5}", "Johnny", "Depp", 44)); Console.WriteLine("-------------------------------");
Output string:
------------------------------- First Name | Last Name | Age ------------------------------- Bill | Gates | 51 Edna | Parker | 114 Johnny | Depp | 44 -------------------------------
Hocam ben yapamadım sanki acaba paylaştığım dosyay indirip bakarmısın.
