using System; using System.IO; using System.IO.Compression; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string zipPath = @"c:\example\start.zip"; string extractPath = @"c:\example\extract"; using (ZipArchive archive = ZipFile.OpenRead(zipPath)) { foreach (ZipArchiveEntry entry in archive.Entries) { if (entry.FullName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase)) { entry.ExtractToFile(Path.Combine(extractPath, entry.FullName)); } } } } } }
16 Eylül 2014 Salı
C# Arşiv dosyalarının dışarı aktarılması
5 Eylül 2014 Cuma
WPF Enum, Binding
public IEnumerable<string> EnumCol { get; set; }
var enum_names = Enum.GetNames(typeof(YourEnumTypeHere));
EnumCol = enum_names ;
<ListBox ItemsSource="{Binding EnumCol}"></ListBox>
28 Ağustos 2014 Perşembe
cmd komutları ile eski tarihli kayıtların silinmesi
forfiles -p "d:\Yeni" -s -m *.* -d -9 -c "cmd /c del @path"
-d komutundan sonra gelen -9 ibaresi ile klasörde bulunan ve oluşturulma tarihi 9 günden eski dosyaları sillen komut satırı
-d komutundan sonra gelen -9 ibaresi ile klasörde bulunan ve oluşturulma tarihi 9 günden eski dosyaları sillen komut satırı
26 Ağustos 2014 Salı
WPF-Value Converter Kullanımı
Eğer birbirinden farklı iki tipte property’i binding yapmak istiyorsanız, arada bu iki property’yi birbirlerini anlayacak şekilde haberleştiren bir yapının olması gerekmektedir. Bu yapıya daValue Converter denilmektedir. Value converter’lar sayesinde farklı tipteki property’leri bind ederek ilgili tip dönüşüm işlemlerini gerçekleştirebiliriz.
En çok kullanılan value converter’lardan birisi boolean değerleri Visibility değerlerine dönüştürenlerdir. Daha fazla uzatmadan bahsettiğimiz örneği nasıl gerçekleştirebileceğimize bakalım. Öncelikle yapmam gereken bir sınıf oluşturup bu sınıfa System.Windows. Data isim uzayı altında bulunan IValueConverterarayüzünü implemente etmem gerekiyor. Sınıf ismi olarak genelde property isimleri arasına “To” ve sonuna Converter eklenerek yapılıyor. Arayüzü implemente ettiğimde hemen otomatik olarak Convert ve ConvertBack isimli metodlarım geliyor.
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value != null)
{
bool boolValue = (bool)value;
if (boolValue)
return Visibility.Visible;
return Visibility.Hidden;
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
Convert metodumda gelen parametreye null kontrolü yaptıktan sonra unboxing yaparak boolean bir değişkene alıyorum. Daha sonra değişkenin değerine göre Visible ya da Hidden olarak geri döndürüyorum. ConvertBack metodu ise tersine bir dönüşüm yani Visibility’den bool bir değer dönüştürme sağlamaktadır. Value converter sınıfımızı yazdığımıza göre sıra geldi kullanımına. XAML tarafında kullanabilmek için öncelikle converter’ımıza ulaşabileceğimiz bir namespace oluşturmamız gerekiyor. Daha sonra resource olarak tanımlayıp ilgili data binding işlemlerinde aşağıdaki gibi kullanabiliriz.
<Window x:Class="WPFValueConverter.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converter="clr-namespace:WPFValueConverter"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<converter:BoolToVisibilityConverter x:Key="boolToVisibilityConverter"/>
</Window.Resources>
<StackPanel>
<CheckBox x:Name="cbVisible" Content="IsVisible" IsChecked="True"/>
<Rectangle Width="200" Height="200" Fill="Red" Visibility="{Binding ElementName=cbVisible,Path=IsChecked,Converter={StaticResource boolToVisibilityConverter}}"/>
</StackPanel>
</Window>
En çok kullanılan value converter’lardan birisi boolean değerleri Visibility değerlerine dönüştürenlerdir. Daha fazla uzatmadan bahsettiğimiz örneği nasıl gerçekleştirebileceğimize bakalım. Öncelikle yapmam gereken bir sınıf oluşturup bu sınıfa System.Windows. Data isim uzayı altında bulunan IValueConverterarayüzünü implemente etmem gerekiyor. Sınıf ismi olarak genelde property isimleri arasına “To” ve sonuna Converter eklenerek yapılıyor. Arayüzü implemente ettiğimde hemen otomatik olarak Convert ve ConvertBack isimli metodlarım geliyor.
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value != null)
{
bool boolValue = (bool)value;
if (boolValue)
return Visibility.Visible;
return Visibility.Hidden;
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
Convert metodumda gelen parametreye null kontrolü yaptıktan sonra unboxing yaparak boolean bir değişkene alıyorum. Daha sonra değişkenin değerine göre Visible ya da Hidden olarak geri döndürüyorum. ConvertBack metodu ise tersine bir dönüşüm yani Visibility’den bool bir değer dönüştürme sağlamaktadır. Value converter sınıfımızı yazdığımıza göre sıra geldi kullanımına. XAML tarafında kullanabilmek için öncelikle converter’ımıza ulaşabileceğimiz bir namespace oluşturmamız gerekiyor. Daha sonra resource olarak tanımlayıp ilgili data binding işlemlerinde aşağıdaki gibi kullanabiliriz.
<Window x:Class="WPFValueConverter.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converter="clr-namespace:WPFValueConverter"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<converter:BoolToVisibilityConverter x:Key="boolToVisibilityConverter"/>
</Window.Resources>
<StackPanel>
<CheckBox x:Name="cbVisible" Content="IsVisible" IsChecked="True"/>
<Rectangle Width="200" Height="200" Fill="Red" Visibility="{Binding ElementName=cbVisible,Path=IsChecked,Converter={StaticResource boolToVisibilityConverter}}"/>
</StackPanel>
</Window>
6 Ağustos 2014 Çarşamba
MVC Validation
Html.ValidationSummary()
[StringLength(160)]
public string FirstName { get; set; }
[RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}")]
public string Email { get; set; }
[Range(10,25)]
public int Age { get; set; }
public string Password { get; set; }
[Compare("Password")]
public string ConfirmPass { get; set; }
<script src="<%= Url.Content("~/Scripts/jquery-1.5.1.js") %>" type="text/javascript"></script>
<script src="<%= Url.Content("~/Scripts/jquery.validate.js") %>" type="text/javascript"></script>
<script src="<%= Url.Content("~/Scripts/jquery.validate.unobtrusive.js") %>" type="text/javascript"></script>
16 Temmuz 2014 Çarşamba
WCF - Proxy Authentication Required Hata cözümü
Kimi zamanlar şirket içerisinde geliştirdiğimiz uygulamalarda 3rd party web servislerini kullanmak zorunda kalabiliyoruz. Bu servisleri Visual Studio içerisinde Add Service Reference ekranını kullanarak eklemeye çalıştığımızda ise “Proxy Authentication Required” hatası ile karşı karşıya kalabilmekteyiz. Bunun nedeni ise Visual Studio içerisinde bulunan Add Service Reference ekranının default olarak bizim ayarlamış olduğumuz proxy ayarlarını kullanmaması.
Bu sorunun çözümü için ise yapmamız gereken tek şey aşağıdaki konfigürasyonu servis referansını eklemeden önce config dosyasına eklemek.
<system.net>
<defaultProxy useDefaultCredentials=”true” />
</system.net>
<defaultProxy useDefaultCredentials=”true” />
</system.net>
7 Temmuz 2014 Pazartesi
Karakter Kodları (HTML)
Character | Decimal Code | HTML | Description |
	 | Horizontal tab | ||
| Line feed | ||
| Carriage Return | ||
  | Space | ||
! | ! | Exclamation mark | |
" | " | " | Quotation mark |
# | # | Number sign | |
$ | $ | Dollar sign | |
% | % | Percent sign | |
& | & | & | Ampersand |
' | ' | Apostrophe | |
( | ( | Left parenthesis | |
) | ) | Right parenthesis | |
* | * | Asterisk | |
+ | + | Plus sign | |
, | , | Comma | |
- | - | Hyphen | |
. | . | Period (fullstop) | |
/ | / | Solidus (slash) | |
0 | 0 | Digit 0 | |
1 | 1 | Digit 1 | |
2 | 2 | Digit 2 | |
3 | 3 | Digit 3 | |
4 | 4 | Digit 4 | |
5 | 5 | Digit 5 | |
6 | 6 | Digit 6 | |
7 | 7 | Digit 7 | |
8 | 8 | Digit 8 | |
9 | 9 | Digit 9 | |
: | : | Colon | |
; | ; | Semicolon | |
< | < | < | Less than |
= | = | Equals sign | |
> | > | > | Greater than |
? | ? | Question mark | |
@ | @ | Commercial at | |
A | A | Capital A | |
B | B | Capital B | |
C | C | Capital C | |
D | D | Capital D | |
E | E | Capital E | |
F | F | Capital F | |
G | G | Capital G | |
H | H | Capital H | |
I | I | Capital I | |
J | J | Capital J | |
K | K | Capital K | |
L | L | Capital L | |
M | M | Capital M | |
N | N | Capital N | |
O | O | Capital O | |
P | P | Capital P | |
Q | Q | Capital Q | |
R | R | Capital R | |
S | S | Capital S | |
T | T | Capital T | |
U | U | Capital U | |
V | V | Capital V | |
W | W | Capital W | |
X | X | Capital X | |
Y | Y | Capital Y | |
Z | Z | Capital Z | |
[ | [ | Left square bracket | |
\ | \ | Reverse solidus (backslash) | |
] | ] | Right square bracket | |
^ | ^ | Caret | |
_ | _ | Horizontal bar (underscore) | |
` | ` | Acute accent | |
a | a | Small a | |
b | b | Small b | |
c | c | Small c | |
d | d | Small d | |
e | e | Small e | |
f | f | Small f | |
g | g | Small g | |
h | h | Small h | |
i | i | Small i | |
j | j | Small j | |
k | k | Small k | |
l | l | Small l | |
m | m | Small m | |
n | n | Small n | |
o | o | Small o | |
p | p | Small p | |
q | q | Small q | |
r | r | Small r | |
s | s | Small s | |
t | t | Small t | |
u | u | Small u | |
v | v | Small v | |
w | w | Small w | |
x | x | Small x | |
y | y | Small y | |
z | z | Small z | |
{ | { | Left curly brace | |
| | | | Vertical bar | |
} | } | Right curly brace | |
~ | ~ | Tilde | |
  | | Non-breaking Space | |
¡ | ¡ | ¡ | Inverted exclamation |
¢ | ¢ | ¢ | Cent sign |
£ | £ | £ | Pound sterling |
¤ | ¤ | ¤ | General currency sign |
¥ | ¥ | ¥ | Yen sign |
¦ | ¦ | ¦ or &brkbar; | Broken vertical bar |
§ | § | § | Section sign |
¨ | ¨ | &um; or ¨ | Diæresis / Umlaut |
© | © | © | Copyright |
ª | ª | ª | Feminine ordinal |
« | « | « | Left angle quote, guillemot left |
¬ | ¬ | ¬ | Not sign |
­ | ­ | Soft hyphen | |
® | ® | ® | Registered trademark |
¯ | ¯ | ¯ or &hibar; | Macron accent |
° | ° | ° | Degree sign |
± | ± | ± | Plus or minus |
² | ² | ² | Superscript two |
³ | ³ | ³ | Superscript three |
´ | ´ | ´ | Acute accent |
µ | µ | µ | Micro sign |
¶ | ¶ | ¶ | Paragraph sign |
· | · | · | Middle dot |
¸ | ¸ | ¸ | Cedilla |
¹ | ¹ | ¹ | Superscript one |
º | º | º | Masculine ordinal |
» | » | » | Right angle quote, guillemot right |
¼ | ¼ | ¼ | Fraction one-fourth |
½ | ½ | ½ | Fraction one-half |
¾ | ¾ | ¾ | Fraction three-fourths |
¿ | ¿ | ¿ | Inverted question mark |
À | À | À | Capital A, grave accent |
Á | Á | Á | Capital A, acute accent |
 |  |  | Capital A, circumflex |
à | à | à | Capital A, tilde |
Ä | Ä | Ä | Capital A, diæresis / umlaut |
Å | Å | Å | Capital A, ring |
Æ | Æ | Æ | Capital AE ligature |
Ç | Ç | Ç | Capital C, cedilla |
È | È | È | Capital E, grave accent |
É | É | É | Capital E, acute accent |
Ê | Ê | Ê | Capital E, circumflex |
Ë | Ë | Ë | Capital E, diæresis / umlaut |
Ì | Ì | Ì | Capital I, grave accent |
Í | Í | Í | Capital I, acute accent |
Î | Î | Î | Capital I, circumflex |
Ï | Ï | Ï | Capital I, diæresis / umlaut |
Ğ | Ð | Ð | Capital Eth, Icelandic |
Ñ | Ñ | Ñ | Capital N, tilde |
Ò | Ò | Ò | Capital O, grave accent |
Ó | Ó | Ó | Capital O, acute accent |
Ô | Ô | Ô | Capital O, circumflex |
Õ | Õ | Õ | Capital O, tilde |
Ö | Ö | Ö | Capital O, diæresis / umlaut |
× | × | × | Multiply sign |
Ø | Ø | Ø | Capital O, slash |
Ù | Ù | Ù | Capital U, grave accent |
Ú | Ú | Ú | Capital U, acute accent |
Û | Û | Û | Capital U, circumflex |
Ü | Ü | Ü | Capital U, diæresis / umlaut |
İ | Ý | Ý | Capital Y, acute accent |
Ş | Þ | Þ | Capital Thorn, Icelandic |
ß | ß | ß | Small sharp s, German sz |
à | à | à | Small a, grave accent |
á | á | á | Small a, acute accent |
â | â | â | Small a, circumflex |
ã | ã | ã | Small a, tilde |
ä | ä | ä | Small a, diæresis / umlaut |
å | å | å | Small a, ring |
æ | æ | æ | Small ae ligature |
ç | ç | ç | Small c, cedilla |
è | è | è | Small e, grave accent |
é | é | é | Small e, acute accent |
ê | ê | ê | Small e, circumflex |
ë | ë | ë | Small e, diæresis / umlaut |
ì | ì | ì | Small i, grave accent |
í | í | í | Small i, acute accent |
î | î | î | Small i, circumflex |
ï | ï | ï | Small i, diæresis / umlaut |
ğ | ð | ð | Small eth, Icelandic |
ñ | ñ | ñ | Small n, tilde |
ò | ò | ò | Small o, grave accent |
ó | ó | ó | Small o, acute accent |
ô | ô | ô | Small o, circumflex |
õ | õ | õ | Small o, tilde |
ö | ö | ö | Small o, diæresis / umlaut |
÷ | ÷ | ÷ | Division sign |
ø | ø | ø | Small o, slash |
ù | ù | ù | Small u, grave accent |
ú | ú | ú | Small u, acute accent |
û | û | û | Small u, circumflex |
ü | ü | ü | Small u, diæresis / umlaut |
ı | ý | ý | Small y, acute accent |
ş | þ | þ | Small thorn, Icelandic |
ÿ | ÿ | ÿ | Small y, diæresis / umlaut |
Kaydol:
Kayıtlar (Atom)