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ę.
Co to jest Visual C++ wedlug Ciebie?
- C++ i edytor visual studio (czyli czysty C++)
- CLI
bez tego dokladnie w czym piszesz nikt Ci nie pomoze.
Ok jestem nowy .
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.
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#
Jak mam dział zmienić skoro piszę w c++.
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 ?
kuba7528 napisał(a):
Jak mam dział zmienić skoro piszę w c++.
Piszesz w .NET, nie w C++.
Przepraszam bardzo ja się uczę dopiero.Proszę aby nikt mnie nie odsyłał do podstaw c++.
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
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);
}
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.
No dobra a jak już mam ustawiony kolor tła i czcionki to co wtedy ?
Co?
Mam już ustawiony jakiś kolor tła i czcionki i chcę to zapisać.
No przecież ten kod, co Ci napisałem jest do zapisu właśnie...
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;
}
No i w czym problem? Skoro masz gotowe rozwiązanie, to po co w ogóle zadajesz pytanie na forum?
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;
}
Pewnie dlatego, że w miejsce moich komentarzy masz wstawić odpowiednie zmienne...
Wstawiam te zmienne i coś jest nie tak.
Serio? To co wstawiasz to nie są zmienne.
.. jak już to wstaw nazwy tych kolorów w cudzysłowy..
To mają być współrzędne koloru RGB ?
Podkreśla mi new StreamWriter , string data , data
To jak pomoże mi ktoś ?
wybacz szklane kule sie skonczyly. Ostatnio jakis siersciuch je rozbil... bez niej ciezko przewidywac co Ty tam masz i co Ty tam chcesz zrobic
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)