Fizyka szkoła podstawowa
Fizyka: wzory, prawa i teoria. Rozwiązania zadań z omówieniem

Rozwązanie zadania:

Fizyka w szkole

Okna dialogu zapisu i odczytu plików

Jest wiele sposobów rozwiązań zapisu i odczytu plików danych i graficznych. Ten temat będzie oparty na kontrolkach SaveFileDialog i OpenFileDialog

Cel: Utwórz aplikację pozwalająca odczytać i zapisać dowolny plik tekstowy oraz wczytać plik graficzny o rozszerzeniach *.bmp. *.jpg, *.png i *.ico

Okna dialogu zapisu i odczytu plików visula studio c#

Krok 1. Układ komponentów

  • GroupBox- sztuk 2
  • MenuStrip- sztuk 1
  • StatusStrip- sztuk 1
  • TextBox- sztuk 1
  • Panel- sztuk 1
  • PictureBox- sztuk 1
  • SaveFileDialog- sztuk 1
  • OpenFileDialog- sztuk 1

Uwaga: Kontrolki SaveFileDialog i OpenFileDialog są kontrolkami niewizualnymi. W Przyborniku znajdują się w grupie Okna dialogowe

SaveFileDialog visual studio c#

Nie osadza się ich w obszarze formatki tworzonego okna aplikacji lecz tuż pod nim

osadza się ich w obszarze formatki tworzonego okna aplikacji lecz tuż pod nim

Osadzając kolejne kontrolki należy kontrolkę TextBox osadzić w jednej z kontrolek GroupBox, a kontrolkę Panel w drugiej kontrolce GroupBox. Kontrolka PictureBox osadzona jest wewnątrz kontrolki Panel

kontrolkę TextBox Visual Studio C#

Krok 2. Ustawiamy właściwości wybranych komponentów

Przykładowa zawartość MenuStrip przedstawiona jest poniżej

zawartość MenuStrip visula studio

Jedna z kontrolek GroupBox przechowuje kontrolkę TextBox. Właściwość Dock kontrolki groupBox1 ustawimy na Left

Dock Visual Studio c#

Dla kontrolki groupBox2 właściwość Dock kontrolki groupBox1 ustawimy na Fill

kontrolki groupBox2 właściwość Dock kontrolki groupBox1 ustawimy na Fill visual studio c#

Kontrolka textBox1 jest wypełnieniem kontrolki groupBox1 i będzie służyć do wyprowadzenia zawartości wczytanego pliku tekstowego lub do pisania dowolnego tekstu na zasadach notatnika Windows'a.

Jej tryb pracy ustawimy jako wieloliniowy, czyli właściwości Multiline przypiszemy wartość True

Multiline przypiszemy wartość True visual studio c#

Spodziewamy się nieokreślonej wielkości wczytywanych plików tekstowych, stąd aby móc przeglądać ich zawartość powinniśmy mieć belki przewijania. Ustawiamy właściwość ScrollBars dla kontrolki textBox1

ScrollBars true visual studio c#

Dla kontrolki panel1 właściwość Dock ustawimy na Fill, jednocześnie wywołamy w niej możliwość przewijania poprzez ustawienie właściwości AutoScroll na True

właściwość Dock ustawimy na Fill

Skompiluj i uruchom projekt

Krok 3. Przygotowanie zapisu i odczytu plików z poziomu naszej aplikacji

Aby można było pracować z plikami należy zainicjować przestrzeń nazw System.IO, która zawiera typy umożliwiające odczytywanie i zapisywanie do plików i strumieni danych. Do kodu dodajemy System.IO

using System;
using System.IO;

W zdarzeniu Load formatki Form1 ustawiamy ścieżkę pierwszego otwarcia okien dialogowych zapisu i odczytu plików


private void Form1_Load(object sender, EventArgs e)
{
//ustawa katalog zapisu na katalog z którego uruchomiono aplikację
saveFileDialog1.InitialDirectory = Environment.CurrentDirectory;
openFileDialog1.InitialDirectory = Environment.CurrentDirectory;
}

Krok 4. Zapisujemy plik tekstowy w wybranej lokalizacji dysku

Okna dialogowe ułatwiające zapis i odczyt zawierają szereg przydatnych funkcji związanych na przykład z filtrowaniem zawartości dysku komputera itp. W zdarzeniu Click opcji menu wprowadzimy poniższy kod. Kod zawiera komentarz ułatwiający zrozumienie przeznaczenia poszczególnych wierszy. Dodatkowo ścieżkę zapisywanego pliku wyświetlimy w toolStripStatusLabel1

private void ZapiszToolStripMenuItem_Click(object sender, EventArgs e)
{
//przykład zapisu zawartości kontrolki textbox1 do pliku tekstowego
//ustaw filtr plików
saveFileDialog1.Filter = "Pliki tekstowe .txt|*.txt|Wszystkie pliki *.*|*.*";
//ustaw tytuł okna zapisu dialogowego
saveFileDialog1.Title = "Zapisz zawartość";
//narzuć filtr podstawowy
saveFileDialog1.DefaultExt = "txt";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamWriter plik = new StreamWriter(saveFileDialog1.FileName,false);
plik.WriteLine(textBox1.Text);
plik.Close();
toolStripStatusLabel1.Text = saveFileDialog1.FileName;
}
}

Skompiluj i uruchom program. Sprawdź efekt działania.

Prawidłowo działająca aplikacja pozwala otworzyć okno dialogowe zapisu pliku

aplikacja pozwala otworzyć okno dialogowe zapisu pliku

A w folderze, w którym znajduje sie plik *.exe naszej aplikacji zostanie utworzony plik tekstowy

zapis do pliku tekstowego visual studio c#

Uruchom standardowy notatnik Windows'a i wyczytaj utworzony przez siebie plik. Przykładowy odczyt przedstawia poniższa ilustracja

plik teskstowy c#

Krok 5. Wczytujemy plik tekstowy

W zdarzeniu Click funkcji menu otwarcia pliku przypisujemy poniższy kod. Ścieżkę wczytanego pliku pokażemy w toolStripStatusLabel1


private void OtworzToolStripMenuItem_Click(object sender, EventArgs e)
{
//ustaw filtr plików
openFileDialog1.Filter = "Pliki tekstowe .txt|*.txt|Wszystkie pliki *.*|*.*";
//ustaw tytuł okna zapisu dialogowego
openFileDialog1.Title = "Otwórz plik";
//narzuć filtr podstawowy
openFileDialog1.DefaultExt = "txt";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Text = null;
StreamReader plik = new StreamReader(openFileDialog1.FileName);
string linia;
while ((linia = plik.ReadLine()) != null)
{
textBox1.AppendText(linia);
}
plik.Close();
toolStripStatusLabel1.Text = openFileDialog1.FileName;
}
}

Skompiluj i uruchom program. Sprawdź efekt działania.

Krok 6. Wczytanie pliku grafiki

Opcje wczytania pliku graficznego wiążą się ze zmianą filtru okna dialogowego otwarcia plików. Realizację ładowania grafiki do kontrolki pictureBox1 wykonamy w jej zdarzeniu Click przez wykonanie poniższego kodu. Ten kod pozwala wczytac pliki graficzne typu jpg, png, bmp i ico.


private void PictureBox1_Click(object sender, EventArgs e)
{
//ustaw filtr plików
openFileDialog1.Filter = "Pliki bmp .bmp|*.bmp|Pliki jpg .jpg|*.jpg| Pliki png .png|*.png| Pliki ikon .ico|*.ico";
//ustaw tytuł okna zapisu dialogowego
openFileDialog1.Title = "Otwórz plik obrazu";
//narzuć filtr podstawowy
openFileDialog1.DefaultExt = "png";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image = Image.FromFile(openFileDialog1.FileName);
toolStripStatusLabel1.Text = openFileDialog1.FileName;
}

}

Skompiluj i uruchom program. Sprawdź efekt działania.

wczytany plik *.ico Visual Studio C#


Aplikacje na Androida

Okręty- bitwa morska
okręty gra sieciowa
Darmowa aplikacja na Androida
Kalkulator jednostek fizycznych
Kalkulator jednostek fizycznych (tablet, smartfon, telefon)
Znaki drogowe.
znaki drogowe na telefon, tablet, smartfon
Darmowa aplikacja na Androida
Geometria. Wzory
geometri kalkulator wzory figur bryl

© baibaz - stock.adobe.com

przepis na gofryZobacz przepis na wyśmienite gofry