06 Ağustos 2020, 12:35:24

Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME


Aceminin C# sorulari

Başlatan z, 30 Mayıs 2012, 11:19:05

z

1) Form tipinde program yazarken sprintf tarzi C komutlari kullanabiliyormuyuz? Yoksa bu komutlar sadece konsol uygulamalarinda mi kullanilabiliyor?
Kullanimina ve include edilen dosyalarin tanimlarina ornek verirmisiniz?

2) Text box icine hex sayi girilsin. Bunu int degiskene atayan komut satirini yazarmisiniz?

3) Textbox icindeki verileri char elemanlarindan olusan bir array icine atan kodu yazarmisiniz?

NecroCapo

2)  C# 'ı Linux ve diğer platformlarda kullandığım için, Microsoft'un .Net'i üzerinden değil de Mono üzerinden yazıyorum tüm kodlarımı C# ile, bu yüzden arayüz tarafı biraz farklı Microsoft'a göre, textbox'dan nasıl alınacağını ezbere bilmiyorum (büyük ihtimalle Text1.Text gibi birşeydir).  Ondan sonrası kolay. Mesela;

int degisken = System.Convert.ToInt32( "FF", 16);

NecroCapo

30 Mayıs 2012, 13:00:27 #2 Son düzenlenme: 30 Mayıs 2012, 13:18:12 NecroCapo
3) char[] dizi = ("ahmet").ToCharArray();

ya da  char[] dizi = Text1.Text.ToCharArray();

1) sprintf 'e gerek kalmıyor C#'da.

Eğer amaç iki string i birleştirmekse;
        string degisken = "Ahmet";
        Text1.Text = "Merhaba" + degisken;

String ile ilgili bir format işlemi yapılacaksa;
   int sayi1 = 26;
        double sayi2 =  3.14;
        Text1.Text = String.Format( "En sevdiğim sayı {0} ve {1:f} dir.", sayi1, sayi2  );

Formatla ilgili karakterler için : http://www.csharpnedir.com/articles/read/?id=486&title=String.Format%20Fonksiyonu

arslan74

Merhaba,

Aradığını sorunları Microsoft tun MSDN sitesinde bulabilirsiniz.

http://msdn.microsoft.com/en-us/library/bb397679

Bu site .Net cilerin ana sayfası niteliğinde, takıldıklarında ilk önce bu siteyi ziyaret ederler.

dhan000

@NecroCapo hocam bu mono dediğiniz http://monodevelop.com oluyor değilmi... sormak istediğim windowsda  hazırlanan bir projeyi linuxta hiç bir değişiklik yapmadan çalıştırabiliyormuyuz veya tam tersi...
bunu sorma sebebim windowsla mac osx arasında gidip geliyorum herhangi birinde yazacağım kodları sorunsuzca diğerinde çalıştırabilecekmiyim...
selametle.

z

Evde yazmaya başladığım kodların bulunduğu klasörü  işyerindeki makinamda desktopa kopyaladım.

Ancak programı derlemeye kalktığımda evdeki makinadaki klasör yolunu aramaya kalkıyor. Bu vaziyette işyerinde programda bazı değişiklikler yaptım. Derlediğimde 19 tane hata veriyor sonra bir anda tüm hatalar yok oluyor ve 0 hataya dönüyor. Bazı satırlara breakpoint koyduğumda programı çalıştırdığımda breakpointler etkisiz hale geliyor.

Bu hatalardan nasıl kurtulabilirim? Evdeki çalışmaları işyerine nasıl sorunsuz taşırım?

esensoy

ben bu konuda şöyle bir yontem kullanıyorum,
dropbox diye bir program var, web de ücretsiz 2 gb alan veriyor size,
Ben evde ki, işyerimde ki pc lerin hepsine bu programı kurdum,
programın klasörünü de tüm pclerde aynı olacak şekilde (D:\My Dropbox) ayarladım,
Program o klasöre dosya attığınızda anında web de ki alana da kaydediyor,
Sildiğinizde de web de ki alandan siliyor,
Diğer pcler açıldığında program otomatik çalşıyor ve web de ki alanın son güncel halini kendi yerel klasörüyle eşliyor.
Artık usb bellek bile taşıma gereğini yalnızca büyük boyutlu dosyalarda hissediyorum,
Evde akşam derlediğim ya da çalıştığım programı / dosyayı hiç taşımadan ertesi gün işyerimde aynen çalıştırabiliyorum.
En tehlikeli an "zafer" anıdır.

cicjoe

1) String.Format("{0} {1}....", a, b);
include islemi, referans ekleme ile yapiliyor. program derlenirken dahil edilen dll'ler parametre olarak gonderiliyor.
using kismi c++'daki using namespace kismina denk geliyor.

z

64 bytlık bir array tanımladım.

Amacım bu arrayden sıra ile byte değerleri okumak ve textbox da listelemek.

Basit örnek olması açısından arrayda herhangi bir yerdeki değer o yerin index numarası olsun.

Bu durumda text box da görmek istediğim görüntü aşağıdaki gibi olacak.

00: 00 01 02 03 04 05 06 07
08: 08 09 0A 0B 0C 0D 0E 0F
10: 10 11 12 13 14 15 16 17
....
....

şeklinde.

Verilerin hex olarak gösterildiğini ve en solda o satırın adresininde gösterildiğini gözönüne alarak bu kodlamayı yaparsanız benim için çok güzel bir örnek olacak.


yamak

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 
deneme1_2
{
    public 
partial class Form1 Form
    
{
        public 
Form1()
        {
            
InitializeComponent();
        }
        
int[] = new int[64];

        private 
void button1_Click(object senderEventArgs e)
        {
            foreach (
int deger in f)
            {
                if (
deger == 0)
                    
richTextBox1.Text += "\n" + (deger.ToString("X2"))+":";
                
richTextBox1.Text += " " + (deger.ToString("X2"));

            }
        }
        private 
void Form1_Load(object senderEventArgs e)
        {
            for (
int i 064i++)
            {
                
f[i] = i;
            }
        }
    }
}

Hocam aradığınız şey bu şekilde bir şey heralde. Ekran çıktısı şu:
Alıntı00: 00 01 02 03 04 05 06 07
08: 08 09 0A 0B 0C 0D 0E 0F
10: 10 11 12 13 14 15 16 17
18: 18 19 1A 1B 1C 1D 1E 1F
20: 20 21 22 23 24 25 26 27
28: 28 29 2A 2B 2C 2D 2E 2F
30: 30 31 32 33 34 35 36 37
38: 38 39 3A 3B 3C 3D 3E 3F

butona basıldığında ekrana sayıları yazıyo.

z

31 Mayıs 2012, 17:21:07 #10 Son düzenlenme: 31 Mayıs 2012, 17:29:56 z
Soruyu soralı kaç dakika oldu tık yok kimsede? Delphide isteseydiniz hemen yazar yollardım size.


Edit: teşekkürler.

TextBox ı çok satırlı hale getirdim. Mesela 4.satıra bir text yerleştirmek istesem bunu nasıl yaparım?

TextBox1.Lines[4]=S gibi bir şeyler yapmak istedim ama yemedi.

yamak


z

Yok mesajlar çakıştı.  Cevap için sağolasın. Richtext yerine textbox da bu iş nasıl yapılır. Daha doğrusu textboxda herhangi bir satıra string yazma işini merak ettim.


yamak

Hocam forma bi textbox koyduğumuzda üstünde bi tane ok işareti var o işarete tıklayıp ordan multiline ı seçiyoruz sonra bir alt satıra geçmek için "\r\n" gönderiyoruz. Yani kodun yeni hali:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 
deneme1_2
{
    public 
partial class Form1 Form
    
{
        public 
Form1()
        {
            
InitializeComponent();
        }
        
int[] = new int[64];
        private 
void button1_Click(object senderEventArgs e)
        {
            foreach (
int deger in f)
            {
                if (
deger == 0)
                    
textBox1.Text += "\r\n" + (deger.ToString("X2"))+":";
                
textBox1.Text += " " + (deger.ToString("X2"));

            }
        }
        private 
void Form1_Load(object senderEventArgs e)
        {
            for (
int i 064i++)
            {
                
f[i] = i;
            }
        }
    }
}

musty007

merhaba hocam basic ve pascal ve dbase programları biliyorum ama epeydir bişey yazmıyorum lakin geçenlerde bit pazarını gezerken 5 cd li BORLAND C++ BUİLDER 6 kodlu programı buldum winxp prf ve office 2003 kullanıyorum bu programı kursam zararı olurmu ve neler yapabilirim bu programla...öğrenmek istiyorum tabii sizin sitenizin sayesinde..çünkü borland programlarını seviyorum ve program yazmak istiyorum...ayrıca nesneye dayalı oyun programları yazmam yada üzerinde değişiklikler yapmak istiyorum...bu oyunların editörleri ile çok güzel haritalar hazırlayabiliyorum..ilginize şimdiden teşekkürler çpk iyi desen ve resimde yapıyorum..emekliyim...saygılar...