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

Zapis i odczyt kolorowego tła w notatniku.

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ę.

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.

0

Ok jestem nowy .

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.

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#

0

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

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 ?

0
kuba7528 napisał(a):

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

Piszesz w .NET, nie w C++.

0

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

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

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ć


 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);
					
				 }
 
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):

 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.

0

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

0

Co?

0

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

0

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

0

a jak użyłem wcześniej tego

 

	 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;


				 }

0

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

0

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


 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;
				 }

 
0

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

0

Wstawiam te zmienne i coś jest nie tak.

0

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

0

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

0

Podkreśla mi new StreamWriter , string data , data

0

To jak pomoże mi ktoś ?

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

0

Mam po prostu problem z tym kodem



				 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)

1 użytkowników online, w tym zalogowanych: 0, gości: 1