C# Dosyaya Yazma

Bu kodu nereden sonra yazmam gerekiyor.
1615995610143.png

Kayit.WriteLine yerine.

Not: Bir liste kontrolündeki elemanları yazdırmak için bir döngüye ihtiyaç duyarsınız, elemanlar kontrolün içinde bir liste olarak tutulur. liste.Items diyerek bu elemanlara erişebilirsiniz.

Bu arada foreach döngüsü şu şekilde olacak: foreach(ListBoxItem item in deneme1.Items)
 
Eki Görüntüle 927185
Kayit.WriteLine yerine.

Not: Bir liste kontrolündeki elemanları yazdırmak için bir döngüye ihtiyaç duyarsınız, elemanlar kontrolün içinde bir liste olarak tutulur. liste.Items diyerek bu elemanlara erişebilirsiniz.

Bu arada foreach döngüsü şu şekilde olacak: foreach(ListBoxItem item in deneme1.Items)
Önem Derecesi Kod Açıklama Proje Dosya Çizgi Gizleme Durumu
Hata CS0246 'ListBoxItem' türü veya ad alanı adı bulunamadı (bir using yönergeniz veya derleme başvurunuz mu eksik?) Gibi bir hata alıyorum sebebi nedir?
 
Önem Derecesi Kod Açıklama Proje Dosya Çizgi Gizleme Durumu
Hata CS0246 'ListBoxItem' türü veya ad alanı adı bulunamadı (bir using yönergeniz veya derleme başvurunuz mu eksik?) Gibi bir hata alıyorum sebebi nedir?
Onun yerine String yazmayı dener misiniz? Galiba ben ListView ile karıştırdım.
 
System.InvalidCastException
HResult=0x80004002
İleti='System.Double' türündeki nesne 'System.String' türüne atılamadı.

Böyle bir hata aldım ama sebebini anlayamadım.
Siz en iyisi var koyun oraya. ListBox elemanı ne ise ona göre geliyor belli ki. Sorun çıkmaması için WriteLine(item.ToString()) yazın.

Bu arada hatanın nedeni Double gelen değerin String değerine çevrilememesi.
 
Siz en iyisi var koyun oraya. ListBox elemanı ne ise ona göre geliyor belli ki. Sorun çıkmaması için WriteLine(item.ToString()) yazın.

Bu arada hatanın nedeni Double gelen değerin String değerine çevrilememesi.

Hocam çok teşekkürler halloldu, bir konuda daha sorum olacak. Dosyadan direkt .txt olarak alıp kodlarla işleme nasıl koyabiliriz?

C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace bitirme2
{
public partial class kchayford : Form
{
public kchayford()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
double wgs84f = 0.003367003, wgs84a = 6378388.00, wgs84b = 6356911.946;
double X, Y, Z;

X = Convert.ToDouble(textX.Text);
Y = Convert.ToDouble(textY.Text);
Z = Convert.ToDouble(textZ.Text);

double lambda;
lambda = (Math.Atan(Y / X));
if (X >= 0)
{
lambda = (Math.Atan(Y / X));
}
else if (X < 0 && Y >= 0)
{
lambda = ((Math.Atan(Y / X)) + 3.1415926535898);

}
else if (X < 0 && Y < 0)
{
lambda = ((Math.Atan(Y / X)) - 3.1415926535898);
}
double lambdaderece;
lambdaderece = (lambda * (180 / Math.PI));

double ke2;
ke2 = ((wgs84a * wgs84a) - (wgs84b * wgs84b)) / (wgs84a * wgs84a);

double P;
P = Math.Sqrt((X * X) + (Y * Y));

double R;
R = Math.Sqrt((P * P) + (Z * Z));

double teta;
teta = Math.Atan((Z * ((1 - wgs84f) * (ke2 * wgs84a / R))) / P);

double enlem;
enlem = Math.Atan((Z * (1 - wgs84f) + ke2 * wgs84a * (Math.Pow((Math.Sin(teta)), 3))) / ((1 - wgs84f) * (P - ke2 * wgs84a * (Math.Pow((Math.Cos(teta)), 3)))));

double fiderece;
fiderece = (enlem * (180 / Math.PI));

double yukseklik;
yukseklik = P * (Math.Cos(fiderece)) + Z * (Math.Sin(fiderece)) - wgs84a * (Math.Sqrt(1 - ke2 * (Math.Pow((Math.Sin(fiderece)), 2))));

lblBoylam.Text = lambdaderece.ToString();
lblEnlem.Text = fiderece.ToString();
lblYukseklik.Text = yukseklik.ToString();
}
}
}

O oluşturduğumuz .txt dosyasını okuyarak yukarıdaki kod yardımıyla dönüştürmek istiyorum bunu nasıl yapabilirim? Birkaç araştırma yaptım list to list gibi seçenekler var ama benim istediğim daha çok bu .txt dosyasını yükleyeceğiz direkt karşımıza enlem, boylam, yükseklik şeklinde listelenecek. Bildiğim kadarıyla dosyadan okuma daha kolay ancak bu bahsettiğim gibi bulamadım.
 

Dosya Ekleri

  • resim_2021-03-17_193102.png
    resim_2021-03-17_193102.png
    6,6 KB · Görüntüleme: 18
O oluşturduğumuz .txt dosyasını okuyarak yukarıdaki kod yardımıyla dönüştürmek istiyorum bunu nasıl yapabilirim? Birkaç araştırma yaptım list to list gibi seçenekler var ama benim istediğim daha çok bu .txt dosyasını yükleyeceğiz direkt karşımıza enlem, boylam, yükseklik şeklinde listelenecek. Bildiğim kadarıyla dosyadan okuma daha kolay ancak bu bahsettiğim gibi bulamadım.
Okuma işlemi gerçekten de basit. Yalnız x, y ve z koordinatları aynı satırda olduğu için Split() kullanmanız gerekiyor.

[CODE lang="csharp" title="C#"]String path = ".txt dosyasının yolu";
string[] lines = File.ReadAllText(path);

foreach (string line in lines){
string spchar = " "; //koordinatlar arasında ne kadar boşluk varsa o kadar boşluk olmalı.
string[] coords = line.Split(spchar); //3 değerli olacak: x (0), y (1), z (2)
deneme1.Items.Add(coords[0]);
deneme2.Items.Add(coords[1]);
deneme3.Items.Add(coords[2]);
}[/CODE]
 
Okuma işlemi gerçekten de basit. Yalnız x, y ve z koordinatları aynı satırda olduğu için Split() kullanmanız gerekiyor.

[CODE lang="csharp" title="C#"]String path = ".txt dosyasının yolu";
string[] lines = File.ReadAllText(path);

foreach (string line in lines){
string spchar = " "; //koordinatlar arasında ne kadar boşluk varsa o kadar boşluk olmalı.
string[] coords = line.Split(spchar); //3 değerli olacak: x (0), y (1), z (2)
deneme1.Items.Add(coords[0]);
deneme2.Items.Add(coords[1]);
deneme3.Items.Add(coords[2]);
}[/CODE]
Bu kodu yazdıktan sonra mı işlemle ilgili kodları yazacağım?
 
Bu kodu yazdıktan sonra mı işlemle ilgili kodları yazacağım?
Aslında bu kod direkt olarak listelere ekliyor koordinatları, ekstra bir şeye gerek kalmıyor. Kodu biraz inceleyerek mantığını kavrarsanız çok rahat bir şekilde kendinize uyarlayabilirsiniz.
 
Aslında bu kod direkt olarak listelere ekliyor koordinatları, ekstra bir şeye gerek kalmıyor. Kodu biraz inceleyerek mantığını kavrarsanız çok rahat bir şekilde kendinize uyarlayabilirsiniz.
Siz direkt dosya yolunu kod içinde yazmışsınız. Benim yapmak istediğim kullanıcı bir butona tıklayacak metin belgesini alacak yazılıma aldığı bu belgedeki x,y,z değerlerini işlemde kullanacak.
 

Yeni konular

Geri
Yukarı