[C#] Zapis danych do pliku
Ostatnio zmodyfikowano 2010-06-12 11:06
Pirotechnik Temat założony przez niniejszego użytkownika |
[C#] Zapis danych do pliku » 2010-06-09 21:34:41 Mam taki oto taki kod: using System; using System.IO; using System.Drawing; using System.Windows.Forms;
public class MainForm : Form { public MainForm() { Edycja edycja = new Edycja(); ZapisPliku ZP = new ZapisPliku();
Controls.Add(edycja.PoleEdycji);
Text = "Edytorek"; Height = 530; Width = 512; MainMenu mm = new MainMenu();
MenuItem Plik = new MenuItem("Plik"); MenuItem PlikZakoncz = new MenuItem("Zakończ"); MenuItem PlikZapisz = new MenuItem("Zapisz/Otwórz/Usuń");
Menu = mm; mm.MenuItems.Add(Plik); Plik.MenuItems.Add(PlikZapisz); Plik.MenuItems.Add(PlikZakoncz);
PlikZakoncz.Click += NZakoncz; PlikZapisz.Click += ZP.WywolajZapis; }
public void NZakoncz(object sender, EventArgs ea) { Application.Exit(); }
public static void Main() { Application.Run(new MainForm()); } }
public class Edycja : Form // Pole edycji pliku { public TextBox PoleEdycji = new TextBox();
public Edycja() { PoleEdycji.Multiline = true; // kilka lini PoleEdycji.Height = 470; // rozmiar PoleEdycji.Width = 495; // rozmiar PoleEdycji.Top = 2; // wspolrzedne PoleEdycji.Left = 2; // wspolrzedne PoleEdycji.WordWrap = true; // przenoszenie slow PoleEdycji.Text += "Wpisz tekst"; } }
public class ZapisPliku : Form { public TextBox OperowaniePliku = new TextBox(); public Label Etykieta = new Label(); public Button przycisk = new Button(); public Button otworz = new Button(); public Button zakoncz = new Button(); public Button usun = new Button();
public Form OknoZapisu = new Form(); Edycja PoleE = new Edycja();
bool pierwszewlaczenie = false; bool udalosie = true;
public ZapisPliku() { //Pole wczytania Pliku OperowaniePliku.Height = 10; OperowaniePliku.Width = 200; OperowaniePliku.Multiline = false; OperowaniePliku.Top = 31; OperowaniePliku.Left = 40;
//Etykieta Etykieta.Top = 17; Etykieta.Left = OperowaniePliku.Left; Etykieta.Text = "Element docelowy: ";
//Przycisk przycisk.Top = 55; przycisk.Left = 74; przycisk.Height = 30; przycisk.Width = 64; przycisk.Text = "Zapisz";
//otworz otworz.Top = 55; otworz.Left = 10; otworz.Height = 30; otworz.Width = 64; otworz.Text = "Otwórz";
//usun usun.Top = 55; usun.Left = 138; usun.Height = 30; usun.Width = 64; usun.Text = "Usuń";
//zakoncz zakoncz.Top = 55; zakoncz.Left = 202; zakoncz.Height = 30; zakoncz.Width = 64; zakoncz.Text = "Zamknij";
// reszta OknoZapisu.Controls.Add(OperowaniePliku); OknoZapisu.Controls.Add(Etykieta); OknoZapisu.Controls.Add(przycisk); OknoZapisu.Controls.Add(zakoncz); OknoZapisu.Controls.Add(otworz); OknoZapisu.Controls.Add(usun);
OknoZapisu.Width = 280; OknoZapisu.Height = 128; OknoZapisu.Text = "Zapisz Plik"; OknoZapisu.Visible = false; OknoZapisu.ShowIcon = false; OknoZapisu.ControlBox = false;
przycisk.Click += FunkcjaZapisu; zakoncz.Click += zamknij; usun.Click += FunkcjaUsuwania; }
public void WywolajZapis(object sender, EventArgs ea) {
if (pierwszewlaczenie == true) OknoZapisu.Show(new ZapisPliku()); else OknoZapisu.Visible = true; }
public void zamknij(object sender, EventArgs ea) { OknoZapisu.Visible = false; }
public void FunkcjaZapisu(object sender, EventArgs ea) { String plik = OperowaniePliku.Lines[0]; plik += ".txt";
if (File.Exists(plik)) // od tad MessageBox.Show("Plik już istnieje!!", "BŁĄD!!"); else { try { /*String plik = OperowaniePliku.Lines[0]; plik += ".txt";*/ StreamWriter sw = new StreamWriter(plik); // tu wyskakuje bład sw.Write(PoleE.PoleEdycji.Text); sw.Close(); } catch (Exception) { MessageBox.Show("Błąd podczas zapisu pliku!!", "BŁĄD!!"); } } // do tad pewien kolega mi pomógł }
public void FunkcjaUsuwania(object sender, EventArgs ea) { String nazwapliku = OperowaniePliku.Lines[0]; nazwapliku += ".txt"; FileInfo plik = new FileInfo(nazwapliku);
if (!plik.Exists) MessageBox.Show("Błąd podczas usuwania pliku!! Sprawdź czy ścieżka jest właściwa!!", "BŁĄD!!"); else { try { plik.Delete(); // usuniecie pliku } catch (Exception) { MessageBox.Show("Plik nie może zostać usunięty!!", "BŁĄD!!"); udalosie = false; }
if (udalosie == true) { MessageBox.Show("Usunięto pomyślnie"); } udalosie = true; } }
public void FunkcjaOtwierania(object sender, EventArgs ea) { String nazwapliku = OperowaniePliku.Lines[0]; nazwapliku += ".txt";
try { StreamReader plik = new StreamReader(nazwapliku);
PoleE.PoleEdycji.Text = plik.ReadToEnd(); plik.Close(); OknoZapisu.Update(); } catch (Exception) { MessageBox.Show("Błąd podczas otwierania pliku!! Sprawdź czy ścieżka jest właściwa!!", "BŁĄD!!"); } } }
Problem w tym że, nie dam rady zapisać danych do pliku (z TextBox'a w oknie roboczym) jest to program napisany w C# więc nie wiem czy ktoś pomoże... Pytałem na innych forach ale Oni też mi nie umieją pomóc więc kieruje się do was... Paczyłem też na google i teoretycznie wszystko powinno grać ale w praktyce tak nie jest... Prosze o pomoc |
|
filipesq |
» 2010-06-09 21:36:47 darkcult.gamedev.pl - tam masz wszystko wyjaśnione, nawet gotowe funkcje... |
|
Pirotechnik Temat założony przez niniejszego użytkownika |
» 2010-06-09 21:39:29 Obawiam się że to strona o C++.... |
|
Elaine |
» 2010-06-09 21:40:41 filipesq, a wiesz, że temat jest o C#? |
|
filipesq |
» 2010-06-09 21:44:44 Przepraszam, nie doczytałem :( |
|
Pirotechnik Temat założony przez niniejszego użytkownika |
» 2010-06-09 22:58:52 Ma ktoś jakiś pomysł?? |
|
DejaVu |
» 2010-06-09 23:05:26 Cóż... ja z chęcią odeślę na inne forum, ponieważ C# się nie zajmujemy i najwyraźniej nie ma tutaj osób, które by go namiętnie używały. Dane da się zapisać do pliku obojętnie czy są one w Textboxie czy też nie - musisz po prostu poczytać jak to zrobić. |
|
kitowiec112 |
» 2010-06-10 17:33:05 Wszystko ma być napisane "z palca"? Nie możesz użyć kontrolek? |
|
« 1 » 2 |