Mesaj tarihi: Temmuz 15, 2015 Selam arkadaşlar, eğer bir tartışma ortamı oluşursa buradan bu dil ile ilgili aklıma takılan soruları sormayı düşünüyorum Soruya gelecek olursak şöyle tren gibi uzayan bir kod satırım var: Console.WriteLine("KAL={0}\t{8}\nKB={1}\t{9}\nKL={2}\t{10}\nGB={3}\t{11}\nGL={4}\t{12}\nGD={5}\t{13}\nGX={6}\t{14}\nGY={7}\t{15}", KAL, KB, KL, GB, GL, GD, GX, GY, AC1, AC2, AC3, AC4, AC5, AC6, AC7, AC8); ekrana sığmadığı zaman bu kodu VB de _ yöntemi ile şöyle yazabiliyordum: (tabi & kullanmakta lazım örnek olarak söylüyorum) Console.WriteLine("KAL={0}\t{8}\nKB={1}\t{9}\nKL={2}\t{10}\nGB={3}\t{11}\nGL={4}\t{12} _ \nGD={5}\t{13}\nGX={6}\t{14}\nGY={7}\t{15}", _ KAL, KB, KL, GB, GL, GD, GX, GY, _ AC1, AC2, AC3, AC4, AC5, AC6, AC7, AC8); bunu C#'da nasıl yapabilirim. EDIT>ADVANCED>WORD WRAP diye bir özellik var ama aradığım bu değil. Teşekkürler, Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Temmuz 15, 2015 String ifade ise: string myText = "Looking up into the night sky is looking into infinity" +" - distance is incomprehensible and therefore meaningless."; veya string myText = @"Looking up into the night sky is looking into infinity- distance is incomprehensible and therefore meaningless."; Şeklinde yapılıyormuş. Sizin örnekte böyle çalışır mı denemek lazım. Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Temmuz 15, 2015 " +" operatörü ile parçalayabilirsiniz. Bu tip kısa, tek satırlık stringi birleştirmede sorun olmaz. Bir diğer çözüm string' in başına @ koyabilirsiniz, sonrasında istediğiniz yerden enter ile bölün, yalnız o enter ve sonraki satırda gelen boşluklar stringe dahil oluyor. Bu yüzden tercih etmeyebilirsiniz. Fakat "\n" yerine enter koyup sonraki satırlarda başlarında boşluk olmaz ise olur. Parametreler için özel bir şey yapmanıza gerek yok direk bölebilirsiniz. Hayalet beğendi Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Temmuz 15, 2015 Çok sağ olun arkadaşlar böyle çalıştı : Console.WriteLine("KAL={0}\t{8}\nKB={1}\t{9}\nKL={2}\t{10}\nGB={3}\t{11}\nGL={4}"+ "\t{12}\nGD={5}\t{13}\nGX={6}\t{14}\nGY={7}\t{15}", KAL, KB, KL, GB, GL, GD, GX, GY, AC1, AC2, AC3, AC4, AC5, AC6, AC7, AC8); Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Temmuz 20, 2015 Merhaba Tekrar, ACAD isimli bir obje tanımladım : Autodesk.AutoCAD.Interop.AcadApplication ACAD = new Autodesk.AutoCAD.Interop.AcadApplication(); Sonra bu objeyi aşağıdaki metoda göndermek istiyorum ; psADH_Netload(ACAD, AppDomain.CurrentDomain.BaseDirectory + "AdhAcadLib.dll"); Ama şu hatayı alıyorum ACAD objesini algılayamadı ,çok basit bir hata ama vb.net te çalışan yöntem burada niye çalışmadı anlayamadım ... OleMessageFilter.Register(); try { string path = AppDomain.CurrentDomain.BaseDirectory; path = path + "şablon.dwt"; Autodesk.AutoCAD.Interop.AcadApplication ACAD = new Autodesk.AutoCAD.Interop.AcadApplication(); ACAD.Visible = true; //ACAD.Application.WindowState = ACAD.ActiveDocument.Close(); ACAD.Application.Documents.Add(path); } catch (Exception ex) { Console.WriteLine(ex.Message); } OleMessageFilter.Revoke(); // Netload AdhAcadLib.dll psADH_Netload(ACAD, AppDomain.CurrentDomain.BaseDirectory + "AdhAcadLib.dll"); "Error 3 The name 'ACAD' does not exist in the current context " içine göndermek istediğim metod da böyle birşey : public static void psADH_Netload(Autodesk.AutoCAD.Interop.AcadApplication ACAD, string path) { AcadDocument doc = ACAD.ActiveDocument; try { doc.SendCommand("SETVAR\rFILEDIA\r0\r"); doc.SendCommand("NETLOAD\r" + path + "\r"); doc.SendCommand("SETVAR\rFILEDIA\r1\r"); } catch (Exception ex) { Console.WriteLine(ex.Message); } } Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Temmuz 20, 2015 try' ın içinde ACAD' ı tanıttığınız için try bitince ACAD tanımı da bitiyor. ya psADH_Netload(ACAD, AppDomain.CurrentDomain.BaseDirectory + "AdhAcadLib.dll"); komutunu da try' ın içine almanız gerekiyor ya da ACAD tanımını şöyle yapmanız gerekiyor: ya try' ın üstüne Autodesk.AutoCAD.Interop.AcadApplication ACAD = new Autodesk.AutoCAD.Interop.AcadApplication(); ya da gene try' ın üstüne: Autodesk.AutoCAD.Interop.AcadApplication ACAD; try' ın içine ACAD = new Autodesk.AutoCAD.Interop.AcadApplication(); Hayalet beğendi Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Temmuz 20, 2015 Evet cok tesekkur ederim aynen dediginiz gibi sorun cozuluyor. Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Temmuz 23, 2015 İlk programımı yaptım sayılır bende C# ile konsoldan başladım önemli olan çalışması bizim mühendislik işlerinde görsellik falan hiç önemli değil. Yanlız şuanda doğrumu yaptım bilmiyorum notepad++ da bayağı bir notlar aldım takildıkça gidip oraya bakıyorum doğru mu yapıyorum bilemiyorum. Yani bir anlamda o notlara bağımlı kalıyorum kopya çekerr gibi. Bu class yapısı aslında çok güclü ama ben çok iyi kullanamıyurum birde hatalar çok kötü organize edilmiş mesajlardan nerede hata olduğunu anlayamıyorum. Editörde çok gelişmiş değil. Şimdilik nemnun kaldım C# dan genel olarak ama Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Temmuz 23, 2015 Visual Studio Community 2013 aslında çok güçlü bir IDE. Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Ağustos 13, 2015 Selam Arkadaşlar, bu C# 'da var olan Stream objesi nedir ne değildir tam vâkıf olamadım Basitçe izah edecek birisi var mı ? Hatta şurada da kullandım bilmeyerek : using System.Text; using System.IO; private void btn_Open_Click(object sender, EventArgs e) { OpenFileDialog OFD = new OpenFileDialog(); OFD.Filter = "Text Dosyaları (.txt)|*.txt|Data Dosyaları (.dat)|*.dat|Tüm Dosyalar (*.*)|*.*"; OFD.FilterIndex = 1; Stream S; if (OFD.ShowDialog() == System.Windows.Forms.DialogResult.OK) { if( (S=OFD.OpenFile()) != null ) { string fileName = OFD.FileName; string fileText = File.ReadAllText(fileName); richTextBox1.Text = fileText; } } } Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Ağustos 13, 2015 "Stream" abstract bir sınıf. Byte serisi tutmak için kullanılır, bazı kolaylıklar sağlayan ek fonksiyonları vs... var, byte[]' dan hallice. Verdiğiniz örnekte ihtiyacınız yok aslında (S=OFD.OpenFile() gereksiz gibi), ReadAllText dosyayı bulamazsa uygun hatayı dönderir. Stream kullanırsanız da using ile kullanmak gerekiyor. https://msdn.microsoft.com/en-us/library/system.io.stream%28v=vs.110%29.aspx Hayalet beğendi Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Ağustos 13, 2015 Evet gereksiz, ben denemek icin koydum nasil calistigini anlamak icin. Streamsiz yazmistim kodu ilk basta belki bir ozelligini ilerde kullanirim diye eklemistim. Edit.. gencler C# acayip alistim kafa plarak VB gormek istemiyorum bu arada D Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Ağustos 13, 2015 C# 'da var olan Stream objesi vb'de de vardı hiç kullanmamamış olmanız şaşırttı. Stream sınıfı ayrıca Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Ağustos 13, 2015 agirlikli vb6, fortran bizdeki kodlar Dedit birde ben programci degilim aslinda uzmanlik olarak, hicbirsey bilmiyorum desem yeridir cidden ama ortaya bayagi birseyler cikiyor iste sistem sagolsun.hm linki okudugum zaman anliyorum text yaratmak edit etmek icin bu sinif galiba vbde open as #1 seklinde yapiyorduk bunlari sasirmanizi simdi daha iyi anliyorum hic kullanmamisim vb.nette gercekten en çok kullanacağım şeymiş bu iyiki sormuşum string path = @"C:\deneme.txt"; StreamWriter SW = new StreamWriter(path); SW.Write("Birinci satır.\r\n"); SW.Write("İkinci satır.\r\n"); SW.Close(); StreamReader SR = new StreamReader(path); do { string txt = SR.ReadLine(); MessageBox.Show(txt); } while(SR.EndOfStream==false); Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Ağustos 13, 2015 Text dosya yazip okumanın milyon yöntemi var .net' de. Özel bir durum yoksa "file io" kütüphanesi yeter, streamlere filan bulaşmaya gerek yok. Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Ağustos 13, 2015 while(!SR.EndOfStream) daha iyi olurdu. bu şekilde dosyada satır yoksa hata alırsın o yüzden while döngüsüne çevirmen daha doğru. lokal değişkenler küçük harfle başlarsa daha okunaklı olur. ben şöyle yaparım genelde: string line; using(StreamReader sr = new StreamReader(path)) { while((line = sr.ReadLine()) != null) { ... } } Hayalet beğendi Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Ağustos 14, 2015 Aynen bizde de lokal değişkenler küçük, fonksiyon isimleri büyük harfle başlar ve mutlaka bir eylem belirtir (get, set, al, ver, getir, götür, zart zurt), girintiler iki boşluk . Carmack' ın kod düzeniyle ilgili notları vardı, biraz aratırsanız bulursunuz sanırım, gerçi yazılan kodlardan da anlaşılıyor az çok. Bu şekilde kendinize standartlar getirirseniz ileride genel manada kod bakımı kolaylaşır. Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Ağustos 14, 2015 Stream kullanırsanız da using ile kullanmak gerekiyor. Stream'i using içinde kullanma zorunluluğu yok sanırım değil mi ? using içinde kullanmanın kodu derli doplu göstermesi dısında bir avantajı var mı acaba ? MSDN'deki dokümantasyonda hep using içinde gösterilmiş. Hoş bende notepad++ kütüphaneme using 'li olacak şekilde not aldım. Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Ağustos 14, 2015 Using içinde kullanılan nesneler otomatik olarak bellekten toplanır (en basit manada), using scope dışında da erişemezsiniz o nesneye. Using kullanmazsanız bu işi sizin yapmanız gerekir, yapmazsanız program altına kaçırır . Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Ağustos 14, 2015 bellekten toplama değil unmanaged resource'ları erken temizlemek için gerekli. bellekten temizlenmesi garbace collector çalıştığı zaman. kendin de dispose edersin ama exception olursa disposeun çağrılmasını garantilemek için try finally bloğu yazman lazım bu tip durumlarda göze daha çirkin gözükür. bide misal MemoryStream de IDisposable ama Dispose'u çağırmak gereksiz. Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Ağustos 14, 2015 O an detaya inmek istemediğimden "en basit manada" diye geçiştirdim . Özel bir durum yoksa dispose gerekmiyor zaten çoğu yerde. Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Ağustos 14, 2015 aslında çoğu yerde dispose gerekiyor ama bir nevi mecburiyetten özellikle stream yada icomponent'den türeyen sınıflarda bazen gereksiz. bu durum dökümantasyonlarda falan da yazmaz. sınıf idisposable'sa her zaman using yada try finally ile kullanın denir. Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Ağustos 17, 2015 Excel yüklü olmayan bir bilgisayarda çok basit bazı excel operasyonları yapacağım. Bunun için arastırdım söyle bir şey buldum kullanan var mı hiç bu dll 'yi beni yarı yolda bırakır mı acaba ? https://code.google.com/p/excellibrary/ Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Ağustos 17, 2015 Hayır şunu kullanacaksınız OpenXML 2.5 + ClosedXML ClosedXML nerden geldi demeyin çok dua edersiniz. İkisini de NuGet ile projenize ekleyin. Excel dosyaları xlsx olmalı bu arada. Eski format dosya çoksa ve çevirmekle uğraşamam derseniz o zaman apache POI. Hayalet beğendi Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş
Mesaj tarihi: Ağustos 17, 2015 @@SkyWarrior çok teşekkür ederim bu bilgiler için gerçekten hepsi birbirinden ilginç araçlar. Bu mesajı paylaş Bu mesajın linki Sosyal ağlarda paylaş