Zapis i odczyt kolorowego tła w notatniku.

Zapis i odczyt kolorowego tła w notatniku.

Wątek przeniesiony 2015-06-09 17:02 z C/C++ przez somekind.

K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

Witam mam problem piszę notatnik w c++ i chcę aby zapisywał i odczytywał kolorowy tekst i tło.Chodzi mi o coś takiego jak w załączniku.Wiem tyle że trzeba użyć jakiegoś pliku konfiguracyjnego ale nie wiem jak i tutaj prosiłbym o jakąś radę, pomoc.Z góry dziękuję.

fasadin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4883
0

Co to jest Visual C++ wedlug Ciebie?

  1. C++ i edytor visual studio (czyli czysty C++)
  2. CLI

bez tego dokladnie w czym piszesz nikt Ci nie pomoze.

K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

Ok jestem nowy .

GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 148
0

W czym problem? Wymyślasz jak ma wyglądać plik, np:
backgroundColor: yellow textColor: red
albo jeszcze prościej (po prostu nazwy dwóch kolorów), a potem odczytujesz. To nie musi być jakiś specjalny plik, przecież wystarczy zwykły dokument tekstowy.

fasadin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4883
0

Fajnie, witamy, ale to nie zwalnia Cie z przestrzegania regulaminu.
Popraw ten temat. Zmien tytul, ustaw poprawne tagi tak by bylo wiadomo o co chodzi i o jaki JEZYK.
Dzial w sumie tez nie jest poprawny bo bardziej nadaje sie do C#

K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

Jak mam dział zmienić skoro piszę w c++.

K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0
gogolon napisał(a):

W czym problem? Wymyślasz jak ma wyglądać plik, np:
backgroundColor: yellow textColor: red
albo jeszcze prościej (po prostu nazwy dwóch kolorów), a potem odczytujesz. To nie musi być jakiś specjalny plik, przecież wystarczy zwykły dokument tekstowy.

Wystarczy rozszerzenie .txt ?

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0
kuba7528 napisał(a):

Jak mam dział zmienić skoro piszę w c++.

Piszesz w .NET, nie w C++.

K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

Przepraszam bardzo ja się uczę dopiero.Proszę aby nikt mnie nie odsyłał do podstaw c++.

GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 148
0
kuba7528 napisał(a):
gogolon napisał(a):

W czym problem? Wymyślasz jak ma wyglądać plik, np:
backgroundColor: yellow textColor: red
albo jeszcze prościej (po prostu nazwy dwóch kolorów), a potem odczytujesz. To nie musi być jakiś specjalny plik, przecież wystarczy zwykły dokument tekstowy.

Wystarczy rozszerzenie .txt ?

A dlaczego miałoby nie wystarczyć? Wystarczy każde rozszerzenie, które pozwoli na przechowanie odpowiednich informacji.
Jak bardzo chcesz, to możesz się pobawić np. rozszerzeniem *.ini - http://pl.wikipedia.org/wiki/INI

K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

Nie wiem ale gdzieś czytałem że do tego zapisu potrzebny jest .rtf ale mogę się mylić.Czyli jak to mam w końcu zrobić podaje kod do którego chcę to dopisać

Kopiuj

 SaveFileDialog^ saveFile1 = gcnew SaveFileDialog;
				 
		         saveFile1->DefaultExt = "*.rtf";
				 saveFile1->Filter = "RTF Files|*.rtf";
				
				 if (saveFile1->ShowDialog() == System::Windows::Forms::DialogResult::OK &&
					 saveFile1->FileName->Length > 0)
				 {
					
					 richTextBox1->SaveFile(saveFile1->FileName, RichTextBoxStreamType::PlainText);
					
				 }
 
GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 148
0

Po co Ci .rtf? Pewnie, możesz tak zrobić jeśli chcesz, ale moim zdaniem najprościej upakować to do pliku .txt i nie widzę ku temu żadnych przeszkód. Co do kodu, ja bym to zrobił tak (zapis do *.txt):

Kopiuj
 SaveFileDialog^ saveFile1 = gcnew SaveFileDialog;
 
                 saveFile1->DefaultExt = "*.txt";
                 saveFile1->Filter = "TXT Files|*.txt";
 
                 if (saveFile1->ShowDialog() == System::Windows::Forms::DialogResult::OK &&
                     saveFile1->FileName->Length > 0)
                 {
                       StreamWriter outfile = new StreamWriter(saveFile1->FileName);
                       string data = "backgroundColor: " + /*tutaj nazwa koloru tła*/ + " textColor: " + /*tutaj nazwa koloru tekstu*/;
                       outfile.Write(data);
                 }

Możliwe, że są błędy, nigdy nie pisałem w C++/CLI i nie wiem jak to wszystko działa.
Odczyt robisz tak, że najpierw dajesz użytkownikowi wybrać jakiś plik z konfiguracją, potem sprawdzasz, czy ten plik jest poprawny, szukasz odpowiednich informacji i tyle.

K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

No dobra a jak już mam ustawiony kolor tła i czcionki to co wtedy ?

GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 148
0

Co?

K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

Mam już ustawiony jakiś kolor tła i czcionki i chcę to zapisać.

GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 148
0

No przecież ten kod, co Ci napisałem jest do zapisu właśnie...

K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

a jak użyłem wcześniej tego

Kopiuj
 

	 if (colorDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
				 { 
					 richTextBox1->BackColor = colorDialog1->Color;
				 }
i tego

 ColorDialog^dlg = gcnew ColorDialog();
				 if (dlg->ShowDialog() == Windows::Forms::DialogResult::OK)
				 {
					 richTextBox1->ForeColor = dlg->Color;


				 }

GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 148
0

No i w czym problem? Skoro masz gotowe rozwiązanie, to po co w ogóle zadajesz pytanie na forum?

K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

Problem w tym że z tym kodem jest coś nie tak.

Kopiuj

 SaveFileDialog^ saveFile1 = gcnew SaveFileDialog;

				 saveFile1->DefaultExt = "*.txt";
				 saveFile1->Filter = "TXT Files|*.txt";

				 if (saveFile1->ShowDialog() == System::Windows::Forms::DialogResult::OK &&
					 saveFile1->FileName->Length > 0)
				 {
					 StreamWriter outfile = gcnew StreamWriter(saveFile1->FileName);
					 					 string::data = "backgroundColor: " + /*tutaj nazwa koloru tła*/ +" textColor: " + /*tutaj nazwa koloru tekstu*/;
					 outfile.Write->data;
				 }

 
GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 148
0

Pewnie dlatego, że w miejsce moich komentarzy masz wstawić odpowiednie zmienne...

K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

Wstawiam te zmienne i coś jest nie tak.

GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 148
0

Serio? To co wstawiasz to nie są zmienne.
.. jak już to wstaw nazwy tych kolorów w cudzysłowy..

K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

To mają być współrzędne koloru RGB ?

K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

Podkreśla mi new StreamWriter , string data , data

K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

To jak pomoże mi ktoś ?

fasadin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4883
0

wybacz szklane kule sie skonczyly. Ostatnio jakis siersciuch je rozbil... bez niej ciezko przewidywac co Ty tam masz i co Ty tam chcesz zrobic

K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

Mam po prostu problem z tym kodem

Kopiuj


				 SaveFileDialog^ saveFile1 = gcnew SaveFileDialog;

				 saveFile1->DefaultExt = "*.txt";
				 saveFile1->Filter = "TXT Files|*.txt";

				 if (saveFile1->ShowDialog() == System::Windows::Forms::DialogResult::OK &&
					 saveFile1->FileName->Length > 0)
				 {
					 StreamWriter outfile = gcnew StreamWriter(saveFile1->FileName);
					 					 string::data = "backgroundColor: " + "red" +" textColor: " + "blue";
					 outfile.Write->data;
				 }
 

Podkreśla gcnew i string (ten obok ::data)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.