Avatar billede oggy Nybegynder
25. april 2003 - 16:30 Der er 21 kommentarer og
1 løsning

Fejl i tekstprogram (Hjæææælp)

Hej..

Jeg har som sagt tidliger, lavet et tekstbehandlings ala notepad i windows...
Når jeg complier programmet og fx skriver test i det og så gemmer det, går det fint nok, den gemmer det som en txt fil. Men når jeg åbner filen igen vises dette:

{\rtf1\ansi\ansicpg1252\deff0\deflang1030{\fonttbl{\f0\fnil\fcharset0 Times New Roman;}{\f1\fnil Times New Roman;}}
\viewkind4\uc1\pard\f0\fs24 test\f1
\par }

Hvorfor gør den det? Den skulle jo åbne txt filen og så at der står test på skærmen...

Mvh. Frank Andersen
Avatar billede olennert Nybegynder
25. april 2003 - 16:33 #1
Det ser ud til at du gemmer i RTF (Rich Text Format), men indlæser ren tekst.
Avatar billede olennert Nybegynder
25. april 2003 - 16:33 #2
Hvordan gemmer du? Hvordan indlæser du?
Avatar billede oggy Nybegynder
25. april 2003 - 16:34 #3
Via en menu (Gem, åbn)

Programmet jeg programmerere i er Borland C++

Mvh. Frank Andersen
Avatar billede olennert Nybegynder
25. april 2003 - 16:37 #4
Jo, men jeg mener, hvordan ser din kode ud? Har du selv kodet det, eller bruger du en kontrol?
Avatar billede oggy Nybegynder
25. april 2003 - 16:38 #5
Jeg bruger SaveDialog og OpenDialog...
Ved du måske hvordan jeg kan rette fejlen... for jeg har nemlig også lavet det samme program bare hvor den gemmer det som en htm fil.. men så står der også alt der, når jeg åbner htm filen i en browser...

Mvh. Frank Andersen
Avatar billede olennert Nybegynder
25. april 2003 - 16:41 #6
Du må have noget kode der bliver udført når du vælger "Åbn" fra menuen. I den kode bruger du OpenDialog, som viser en Windows standard open file dialog. Resultatet af den dialog plejer at være et filnavn, som du så selv skal åbne. Så du må have noget C++ kode, der bliver kørt når du vælger "Åbn".

Det første den kode gør er åbenbart at vise en OpenDialog. Det giver dig filnavnet. Så må koden gøre et eller andet med filnavnet, enten kalder du en komponent der indlæser det for dig, eller også har du selv skrevet noget kode der åbner filen, læser hvad der er i filen, og viser det i din edit kontrol. Det er den kode jeg vil høre lidt om.
Avatar billede oggy Nybegynder
25. april 2003 - 16:42 #7
if ( OpenDialog1->Execute() ) {

RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);

}
Avatar billede oggy Nybegynder
25. april 2003 - 16:42 #8
if ( SaveDialog1->Execute() ) {

RichEdit1->Lines->SaveToFile(SaveDialog1->FileName);

}
Avatar billede olennert Nybegynder
25. april 2003 - 16:48 #9
Hmm... Så vidt jeg ved så bør LoadFromFiles faktisk parse RTF, og vise det korrekt.... Har du sat nogle spændende properties på RichEdit1, så den viser almindelig tekst? Jeg ved ikke meget om RichEdit tekstbokse, så jeg aner ikke hvilke properties der er.
Avatar billede oggy Nybegynder
25. april 2003 - 16:50 #10
Jeg har ikke ændret noget ud over standard skrifttypen.. men jeg har lavet en funktion der gør at man kan skifte skrifttype.. så det skulle jo gerne være sådan at man kunne vælge sin egen skrifttype uden problemer ik??

Mvh. Frank Andersen
Avatar billede olennert Nybegynder
25. april 2003 - 16:51 #11
Har du prøvet

RichEdit1->PlainText = false;
Avatar billede oggy Nybegynder
25. april 2003 - 16:52 #12
Hvor skal det tilføjes (jeg er c++ begynder)

Mvh. Frank Andersen
Avatar billede olennert Nybegynder
25. april 2003 - 16:52 #13
Øh. Du kom da vist til at acceptere mit svar. Har du fået løst dit problem?
Avatar billede oggy Nybegynder
25. april 2003 - 16:52 #14
Ups..

men hvor skal den sættes ind?
Avatar billede olennert Nybegynder
25. april 2003 - 16:54 #15
if (SaveDialog1->Execute()) {
  RichEdit1->PlainText = false;
  RichEdit1->Lines->SaveToFile(SaveDialog1->FileName);
}
if (OpenDialog1->Execute()) {
  RichEdit1->PlainText = false;
  RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
}

Så er du i hvert fald på den sikre side. Egentlig bør det være tilstrækkeligt bare at gøre en gang i din kode, måske i en konstruktør. Men det er svært at sige uden at vide hvordan din kode er struktureret.
Avatar billede oggy Nybegynder
25. april 2003 - 16:56 #16
Det virker stadig ikke :'(

Mvh. Frank Andersen
Avatar billede olennert Nybegynder
25. april 2003 - 17:01 #17
Smid et svar på http://www.eksperten.dk/spm/344665, så får du dine point tilbage. Jeg beklager at jeg ikke kunne hjælpe dig :-(

Jeg har ikke selv adgang til hverken C++ Builder eller MS Visual C++, så jeg kan ikke prøve tingene du beskriver.
Avatar billede oggy Nybegynder
25. april 2003 - 17:01 #18
He tak!
Men den skulle ikke stå til false, men true!

Mvh. Frank Andersen
Avatar billede olennert Nybegynder
25. april 2003 - 17:12 #19
Hvis du har fået hjælp må du meget gerne smide et spørgmål mere jeg kan svare ja på :-)
Avatar billede oggy Nybegynder
25. april 2003 - 17:14 #20
Hvad mener du?

Er du en god c++ programmør?

Mvh. Frank Andersen
Avatar billede olennert Nybegynder
25. april 2003 - 17:39 #21
Det jeg mener er at hvis de ting jeg har skrevet har hjulpet dig med dit problem, og du har lyst til at give lidt point, så lav et spørgsmål, hvor du bare skriver at det er point til olennert, med en reference til http://www.eksperten.dk/spm/344649, så kan jeg svare på det spørgsmål, og dermed få point'ene.

Derudover, så synes jeg selv jeg er en ganske habil C++ koder.
Avatar billede olennert Nybegynder
25. april 2003 - 17:39 #22
Men jeg ved ikke så meget om Windows-platformen, jeg er mere en Unix/Linux-mand.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester