6 Ağustos 2012 Pazartesi

C# Formlar arası veri aktarımı

Eğer büyük çaplı projelerde çalışıyorsanız bazen birden çok form kullanmanız gerekebilir.Tabikide formlar üzerinde girdiğiniz bazı değerleri diğer formlarda ihtiyac duyabilirsiniz.Bu değerlere ulaşmak önemlidir ve basittir.Bunu basit bir örnekle açıklayacağım.



Birinci formda gördüğünüz gibi name adında bir string ve no adında bir integer tipi tanımladık bunları özellikle public static tanımlıyoruz ki diğer formlardan kolayca bu verilere ulaşılabilsin.


Değer al düğmesine bastığımız zaman form2 üzerinde yer alan textbox1 ve textbox2nin text değerleri form1deki değişkenlerin değerleriyle eşitleniyor.Böylece textboxlarımıza istediğimiz verileri aktarmış oluyoruz.


Veya biraz daha geliştirmek istersek Form1de textboxlara girilen değerlerin aktarılması konusunda bir modifiye yapalım ve programımızı tekrar inceleyelim.



Bu programımızda bu sefer Form1deki textboxa girilen değerleri direk Form2deki textboxlara gönderdik bunun için öncelikle Form2 textboxlarımızın modifierdan publice çevirmemiz gerekiyor.Böylece Form1den verilerimiz Form2ye itirilebiliyor.Veri aktarımı noktasında hep düşünce veriyi almak istediğimiz formdan çekmek vardır.Ama Formlar arasında veri aktarımı yapılırken hangi formdan veri alınacaksa o formun kod kısmından kodları gönderme yöntemiyle veri aktarımı yapılabilir.


Mesela Form1deki veriyi Form2den çekmeye çalışalım.





Gördüğünüz gibi veri aktarımını gerçekleştiremiyoruz.
Share:

10 Temmuz 2012 Salı

C# IsNumeric Fonksiyonu

 Is Numeric metodunu şu şekildede yazabiliriz. Burada string değeri integer’a convert ederek oluşan Exception durumuna göre true ya da false döndürüyoruz.
 
public bool IsNumeric(string value)
{
  try
  {
     Convert.ToInt32(value);
     return true;
  }
  catch (Exception)
  {
     return false;
  }
Share:

Outlook üzerindenki epostalarda bulunan internet adresleri (linkler) açılmıyor.



Outlook üzerindeki epostalarda bulunan internet adresleri (linkler) açılmıyor.
Bu problem Internet Explorer haricindeki 3.parti bir tarayacı programının sisteminizde varsayılan tarayıcı olarak ayarlanmasından kaynaklanmaktadır.
Bu sorun için aşağıdaki çözüm adımlarını uygulayabilirsiniz.
1-Internet Explorer>Araçlar>Internet Seçenekleri>Programlar - Varsayılan Web Tarayıcısı bölümünde Varsayılan Olsun butonu aktif ise tıklayın.Uygula ve tamam butonlarına bastıkan
sonra probleminizin çözülüp çözülmediğini kontrol edin.Sorun devam ediyorsa 2. adımdaki çözüm adımlarını uygulayın.
2-Başlat>Çalıştır(Programları ve dosyaları ara)>Regedit
HKEY_CURRENT_USER\Software\Classes\.html anahtarındaki dize değerini htmlfile olarak değiştirin.

KESİN ÇÖZÜM İÇİN : http://cozumadimi.com/araclar/internet-explorer/4-linkproblem.html  bu adresteki dosyayı indir içindeki tüm reg kayıtlarını tek tek çalıştır bazıları hata verebilir sorun değil sorununu çözecektir.
Share:

19 Haziran 2012 Salı

LKS2′de Faturası olmayıp Faturalanmış Gibi görünen İrsaliyelerin Düzeltilmesi

LKS2′de Faturası olmayıp Faturalanmış Gibi görünen İrsaliyelerin Düzeltilmesi
LKS2
İrsaliyelerdeki F Harfini kaldırmak için Vtyonet.exe veya SQL Enterprise programını açın.
LKSDB (veya GODB) veritabanını seçin
Şu SQL Sorgusu yaz ve Çalıştır;
Faturası olmadığı halde F işareti olan İrsaliye listesi ;
SELECT * FROM LG_001_01_STFICHE WHERE BILLED=1 AND INVOICEREF=0
Faturası olmadığı halde F işareti olan İrsaliyeleri düzeltmek için ise;

UPDATE LG_001_01_STFICHE SET BILLED=0 WHERE BILLED=1 AND INVOICEREF=0
001_01 = Firma ve Dönem numarasıdır. Kendi firma ve dönem numaranızı yazın.
Share:

Lks2 Tablo adları

Lks2 Tablo adlarını buradan indirebilirsiniz.
Share:

C# Mantıksal Operatörler

C# Mantıksal Operatörler


& VE
&& Kısa devre VE
| VEYA
|| Kısa devre VEYA
! DEĞİL
Buradaki “&” operatörü kullanıcı adı yanlış girilse bile şifreyi de kontrol eder .
1 if(KullaniciAdi=="admin" & Sifre=="12345")
2 {
3 Console.WriteLine(Giriş başarılı);
4 // Kullanıcı adına ve şifresine bakar
5 }
Şimdide && operatörüne bakalım:
1 if(KullaniciAdi=="admin" && Sifre=="12345")
2 {
3 Console.WriteLine( Giriş başarılı);
4 // ilk olarak Kullanici adına bakar yanlışsa şifreyi kontrol etmez
5 // Eğer kullanıcı adı doğru ise Şifreyi kontrol eder.
6 }
?? (NULL COALESCING) operatörü, eğer ilk değişken null ise ikinci değer hesaplanır. Aksi taktirde ikinci değer işleme konulmaz.
1 string adi="Zihni";
2 string durum=adi ?? "Adi girilmedi";
3 Console.WriteLine(durum);
4
5 //Sonuç: Zihni
Burada ilk değer null olduğu için ikinci değer işleme konulacak ve durum değişkenine Adi girilmedi değeri aktarılacak.
1 string adi=null;
2 string durum=adi ?? "Ad girilmedi";
3 Console.WriteLine(durum);
4
5 //Sonuç: Ad girilmedi
Bu örnekte ise, adi değişkenine bir değer aktarılırsa Ali değeri durum değişkenine aktarılacak.
?: (KOŞUL) operatörü, üç adet operanta sahiptir. Eğer x true ise y değişkeni hesaplanır, eğer x false ise z değişkeni hesaplanır.
x=true? y : z
1 bool sonuc;
2 durum=1;
3 sonuc= (durum==1 ? true:false);
4 // Sonuç true olur
Share:

10 Mayıs 2012 Perşembe

TextBox Custom AutoComplete Nasıl Yapılır ?

TextBox Custom AutoComplete Nasıl Yapılır ?
1
2
3
4
5
6
7
8
9
//AutoComplete özelliklerinin ayarlanması
txtFirstName.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
txtFirstName.AutoCompleteSource = AutoCompleteSource.CustomSource;
//Koleksiyon
AutoCompleteStringCollection col = new AutoCompleteStringCollection();
//CustomSource için gerekli kolleksiyonun doldurulması
col.AddRange(new string[] { "aba", "ana", "abla", "abajur", "abaks", "abandone" });
//koleksiyon bildirimi
txtFirstName.AutoCompleteCustomSource = col;

Koleksiyoncollection doldurmak için başka bir alternatif:
1
2
3
4
5
6
7
8
9
10
11
AutoCompleteStringCollection col = new AutoCompleteStringCollection();
SqlConnection con = new SqlConnection(
"Data Source=. ;Initial Catalog=AdventureWorks;Integrated Security=True");
SqlCommand cmd = new SqlCommand(
"select Distinct FirstName from Person.Contact order by FirstName", con);
con.Open();
SqlDataReader rd = cmd.ExecuteReader();
while (rd.Read())
col.Add(rd[0].ToString());
rd.Close();
con.Close();
AutoComplete
Share:

13 Nisan 2012 Cuma

Raid 1 Disk Genişletme ( Veriler Silinmeden )

Windows işletim işletim kullanan sunucunuz üzerindeki depolama alanı Raid 1 olarak yapılandırılmış ve sürücü kapasitesi yetersiz geldiği için genişletme ihtiyacı hissediyorsanız şimdi size anlatacağım yöntem ile verileriniz silinmeden bu işlemi zahmetsizce yapabileceksiniz, zahmetsizce diyorum çünkü benim bu işlemi öğrenmem uykusuz geçen 36 saatime mal oldu, neyse lafı fazla uzatmadan konuya giriyorum.

Öncelikle işlem ne kadar sorunsuz gibi gözüksede sistem yedeğimizi ve bilgilerimizin yedeğini ayrı ayrı almayı kesinlikle ihmal etmeyelim.

Güvenilir bir şekilde yedeklerimizi aldıktan sonra aşağıdaki resimde bulunan seneryayo benzer bir durumla karşılaştığınızı düşünelim, şöyleki elinizde mevcut durumda 500G iki adet disk ile yapılmış RAID 1  sürücünüz var, ve kapasite yetersizliğinden dolayı mevcut disklerinizi 2 TB lık olanlarla değiştirip kapasiteyi artırmak istiyorsunuz.






Bu işlem için Raid 1 yapımızı çalıştığına göre disklerden önce birisini çıkarıp yerine yeni aldığınız diski takıp eşitleme işleminin yapılmasını beklediniz, işlem bittikten sonra 2. diskide eski disk ile değiştirip tekrardan 2 TB 2. diskimiz ile eşitlenmesini sağladınız, durum aşağıdaki gibi olacaktır.





Şimdi asıl önemli kısıma geldi sıra, bildiğiniz gibi bu aşamada kullanılamayan 1.5 TB lık atıl kapasitemiz olmasına rağmen bu alanı kullanamıyoruz.

Şimdi aşağıdaki aşamaları sırasıyla uygulayalım;

       1. Burada gözüken disk grupları Windowsta Diskleri Yönet penceresinde disklerimizin başında gözüken Disk 0 , Disk 1, Disk 2 disk adları ile aynıdır. Genişletmek istediğimiz diskin önceden windows ortamında Disk numarasına bakmamız gerekecek.

       2. Bilgisayarımızı yeniden başlatalım ve bilgisayar açılırken ( CTRL + R ) tuşlarına basarak raid yapılandırma programımıza girelim.
  
       3. Raid yapılarımızda yukarıda not aldığımız genişletmek istediğimiz grubun üzerine ok tuşları ve tab tuşu yardımıyla geldikten sonra F2 Operasyonlar tuşuna basıp gelen menüden DELETE VD. seçeniğini tıklayalım. Sorulan soruyu evet olarak yanıtlayalım.

       4. Sonrasında Controller 0 Seviyesine ( Yukarıdaki menüye ) çıkıp düğüm üzerinde F2 Operasyonlar tuşuna tekrar basıp buradan, CREATE NEW VD seçeneğini seçelim.
    
          a) Raid seviye sistemi üzerinde ( Mevcutta RAID 0 yazar ) ENTER tuşuna basalım ve aşağı ok tuşu yardımıyla bu kısmı RAID 1 olarak değiştirelim.
          b) Aşağıda listelenen ( biraz önce sildiğimiz virtual sürücümüzün diskleri ) fiziksel disklerinizi Tab ve boşluk tuşu ile seçin.
          c) İsterseniz bir VD disk adı girebilirsiniz.
          d) Gelişmiş ayarlar sekmesi kesinlikle seçilmeyecek, ve Başlatmaya zorla seçeneğide kesinlikle işaretlenmemiş olacak.
          e) Tab tuşu yardımıyla OK butonu üzerine gelip ENTER ile OK butonunu tıklayalım. Başlat seçeneği seçili olursa verileriniz silinir, bu kesinlikle seçili olmasın.

Bu aşamada sizi uyaracak, bu uyarıyı görmezden gelip OK seçeneği ile onaylayalım.

Sonrasında bilgisayarımızı yeniden başlatalım,windowsun normal olarak açılması gerekiyor.

Eğer Microsoft Windows 2008 Server kullanıyorsanız windows açıldıktan sonra sunucu yöneticisi seçeneğinden Disk Yönetimini açalım, burada diskimizin üzerine sağ tuş ile tıklayıp Birimi Genişlet seçeneğini seçelim, kısa bir süre sonra diskimiz 2 TB olarak hazır olacak.

Eğer daha eski bir işletim sistemi kullanıyor iseniz muhtemelen yukarıdaki windows grafik arabirimi üzerinden disk genişletme işlemini yapamıyor olacaksınız, bu durumda Server 2003 ve Server 2008 işletim sistemlerinde geri kalan alanı kullanmak için kullanılan DISKPART aracını kullanarak aşağıdaki yolu izlemeniz gerekecek.
  
    . Başlat  /  Çalıştır / Cmd  adımlarını izleyerek command ekranını açalım.
   .  Konsolda diskpart yazıp enterlayalım.
   
C> diskpart

Microsoft DiskPart version 5.2.3790.3959 Microsoft DiskPart sürümü 5.2.3790.3959
Copyright (C) 1999-2001 Microsoft Corporation. Copyright (C) 1999-2001 Microsoft Corporation.
On computer: MYSERVER Bilgisayarda: SUNUCUADI

     .Sırasıyla list volume yazıp enterlayalım,

DISKPART> list volume DISKPART> list volume

  Volume ### Ltr Label Fs Type Size Status Info Volume # # # Ltr Etiket Fs Tür Boyut Durum Bilgisi
  ---------- --- ----------- ----- ---------- ------- --------- -------- -------------------------------------------------- -------------
  Volume 0 C OS NTFS Partition 40 GB Healthy System Birim 0 C OS NTFS Partition 250 GB Sağlıklı Sistemi
  Volume 1 D DATAPART1 NTFS Partition 425 GB Healthy Birim 1 D DATAPART1 NTFS Partition 425 GB Sağlıklı
   Birim 2 E DATAPART1 NTFS Partition 425 GB Sağlıklı
  Volume 2 E DVD-ROM 0 B Healthy Birim 3 Sağlıklı F DVD-ROM 0 B

DISKPART> select volume 1 Diskpart> select volume 1

Volume 1 is the selected volume. Disk 1 seçili birimdir.

DISKPART> extend Diskpart> Extend

DiskPart successfully extended the volume. DiskPart başarıyla hacmi genişletilmiştir.

DISKPART> list volume DISKPART> list volume

  Volume ### Ltr Label Fs Type Size Status Info Volume # # # Ltr Etiket Fs Tür Boyut Durum Bilgisi
  ---------- --- ----------- ----- ---------- ------- --------- -------- -------------------------------------------------- -------------
  Volume 0 C OS NTFS Partition 40 GB Healthy System Birim 0 C OS NTFS Partition 40 GB Sağlıklı Sistemi
* Volume 1 D DATAPART1 NTFS Partition 1945 GB Healthy *  Birim 1 D DATAPART1 NTFS Partition Sağlıklı 1.945 GB
   Birim 2 E DATAPART1 NTFS Partition Sağlıklı 1.945 GB
  Volume 2 E DVD-ROM 0 B Healthy Birim 3 Sağlıklı F DVD-ROM 0 B

DISKPART> Diskpart>

       . select volume 1 komutunu girip raid yapılandırmasını yaptığım kapasitesini büyütmek istediğim diskin volume 'ünü seçiyorum.

        . Extend komutunu girip enterla tuşu ile çalıştırıyorum, işlem bittiğinde diskimizin boyutu büyümüş olacak, aşağıdaki aşamaları da tamamladığımızda işlemimiz sorunsuz bir şekilde bitmiş oluyor.
Son aşamada bilgisayarımızı bir kez daha yeniden başlatalım, bu sefer bilgisayarın açılışı biraz uzun sürebilir, çünkü bizim raid kurarken eşitle diye seçmediğimiz işlemi bizim yerimize veriler silinmeden windows yapıyor olacak. Eğer raid yönetim yazılımınız bilgisayarınızda kurulu ise burada virtual diskler üzerine geldiğimizde eşitlemenin devam ettiğini ve % olarak ne kadarının tamamlandığını görebiliriz, bu aşama bilgisayarınıza ve disklerin boyutuna bağlı olarak 1 saat kadar sürebilir.


İşlem bittiğinden sistemimiz 2 TB olarak hazır olacak.
       
Share:

12 Nisan 2012 Perşembe

Server üzerindeki paylaşımların kopyalanması

Eğer Windows NT4.0/W2K/XP/2003/2008 server üzerindeki paylaşım ayarlarının yedeklerini almak istiyorsanız aşağıdaki yöntemi kullanabilirsiniz.

Bu işlemi aşağıdaki durumlarda uygulayabilirsiniz;

. Windowsu yeniden kurmuş yada üzerine tekrar install etmişseniz.
. Tüm dataları başka bir fiziki diske taşımış yada kopyalamış iseniz.
. Windows başka bir klasörde veya sürücüde kurulmuş ise, aşağıdaki çözüm adımlarını izleyerek işlemi yapabilirsiniz.

Method #1

     1. Kurulu windows üzerinde Registry Editöre programını çalıştıralım. (Regedt32.exe or   Regedit.exe).

     2. Aşağıdaki anahtar yoluna ilerleyelim:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares

  1. Shares paylaşım yolu üzerinde ( klasör üzerinde ) mouse'un sağ tuşuna basıp Ver seçeneğini tıklayalım.
  2. Paylaşım ayarlarımızı kaydetmek istediğimiz yeri gösterip bir dosya adı verelim. Dosya uzantısı vermeye gerek yok.
  3. Windowsu tekrar kuralım.(Eğer gerekliyse yada yeniden kurmak istiyorsanız...).
  4. Yeni kurduğumuz Windows ta Başlat Çalıştır seçeneğinde regedit.exe yazarak registry editörümüzü başlatalım. (Regedt32.exe or Regedit.exe).
  5. Aşağıdaki anahtar yoluna ilerleyelim:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares

  1. Shares paylaşım yolunda klasörümüzü seçip yukarıdaki menüden sırasıyla Dosya  Al Seçeneğini seçelim.
  2. Adım 4 te kaydettiğimiz dosyayı seçip gösterelim.
Dikkat: Bu adım yalnızca dosyaların fiziki olarak aynı sürücü ve dizinlerde olduğu doğrulandıktan sonra yapılabilir.

Not : Veya 4. adımda aldığımız dosya adını çift tıklayıp registry imize kayıtların yapılmasını sağlayabilirsiniz.
   10. Sunucumuzu yeniden başlatalım.

Note: Eğer paylaşımlar yeninden başlatma sonrasında aktif olmaz ise manuel olarak herhangi bir klasörde paylaşım açalım, bu sayede bilgisayarda paylaşım hizmeti başlamış olur, son olarak Başlat / Denetim Masası / Yönetimsel Araçlar seçeneğinden Servisler sekmesinde bulunan Dosya sunucusu ve paylaşım hizmetlerini yeniden başlatalım.

Bu paylaşım hizmeti yalnızca domain kullanıcıları için geçerli olup, lokal kullanıcılar için verilmiş olan paylaşımların yedeğini almayı ve geriye yüklemeyi desteklemez. Ayrıca dosya sistemi NTFS  olarak ayarlanmış olmalıdır.
Share:

16 Mart 2012 Cuma

Windows 7 n Aero Peek özelliği çalışmıyor

Windows 7 N 64 Bit kurduktan sonra windows 7 aero peek özelliğinin çalışmadığını farkederseniz yapmanız gereken yalnızca linkteki Windows 7 Aero Enabler dosyayı yüklemek olacaktır.

Share:

23 Ocak 2012 Pazartesi

Printer Spooler hatası çözümü


Spooler hatası alıyorsanız, yazıcılar sekmesinde eklediğiniz printerlar gözükmüyorsa, büyük ihtimalle yazıcı biriktirme servisi durmuştur. Başlat - Çalıştır - Services.msc yazarak veya Başlat - Ayarlar - Yönetimsel ayarlar penceresinden servisler uygulaması içerisinde Yazıcı biriktirme servisini yeniden başlatmanız gerekmekte, eğer bu çözüm işe yaramaz ise aşağı kodu Başlat - Çalıştır ( Windows Tuşu + R) tuşu ile Command programını açıp kodu satır satır sırasıyla çalıştırmanız yeterli.

net stop spooler
del /q %SystemRoot%\System32\spool\printers\*.*
net start spooler

Share:

Blog Arşivi